[V5,6/7] app/testpmd: reorder elements in RSS type table array

Message ID 20220624072401.21839-7-lihuisong@huawei.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series app/testpmd: fix RSS and flow type |

Commit Message

lihuisong (C) June 24, 2022, 7:24 a.m. UTC
  There are group and individual types in rss_type_table[]. However, group
types are very scattered, and individual types are not arranged based on
the bit number order in 'RTE_ETH_RSS_xxx'. For a clear distribution of
types and better maintenance, this patch reorders this table.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
---
 app/test-pmd/config.c | 51 +++++++++++++++++++++++--------------------
 1 file changed, 27 insertions(+), 24 deletions(-)
  

Comments

Ferruh Yigit June 24, 2022, 2 p.m. UTC | #1
On 6/24/2022 8:24 AM, Huisong Li wrote:
> There are group and individual types in rss_type_table[]. However, group
> types are very scattered, and individual types are not arranged based on
> the bit number order in 'RTE_ETH_RSS_xxx'. For a clear distribution of
> types and better maintenance, this patch reorders this table.
> 
> Signed-off-by: Huisong Li <lihuisong@huawei.com> > ---
>   app/test-pmd/config.c | 51 +++++++++++++++++++++++--------------------
>   1 file changed, 27 insertions(+), 24 deletions(-)
> 
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index b3cb68003c..cc97aaa0ce 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -85,17 +85,20 @@ static const struct {
>   };
>   
>   const struct rss_type_info rss_type_table[] = {
> +	/* Group types */
>   	{ "all", RTE_ETH_RSS_ETH | RTE_ETH_RSS_VLAN | RTE_ETH_RSS_IP | RTE_ETH_RSS_TCP |
>   		RTE_ETH_RSS_UDP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_L2_PAYLOAD |
>   		RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_ESP | RTE_ETH_RSS_AH | RTE_ETH_RSS_PFCP |
>   		RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS | RTE_ETH_RSS_L2TPV2},
>   	{ "none", 0 },
> -	{ "eth", RTE_ETH_RSS_ETH },
> -	{ "l2-src-only", RTE_ETH_RSS_L2_SRC_ONLY },
> -	{ "l2-dst-only", RTE_ETH_RSS_L2_DST_ONLY },
> +	{ "ip", RTE_ETH_RSS_IP },
> +	{ "udp", RTE_ETH_RSS_UDP },
> +	{ "tcp", RTE_ETH_RSS_TCP },
> +	{ "sctp", RTE_ETH_RSS_SCTP },
> +	{ "tunnel", RTE_ETH_RSS_TUNNEL },
>   	{ "vlan", RTE_ETH_RSS_VLAN },
> -	{ "s-vlan", RTE_ETH_RSS_S_VLAN },
> -	{ "c-vlan", RTE_ETH_RSS_C_VLAN },
> +
> +	/* Individual type */
>   	{ "ipv4", RTE_ETH_RSS_IPV4 },
>   	{ "ipv4-frag", RTE_ETH_RSS_FRAG_IPV4 },
>   	{ "ipv4-tcp", RTE_ETH_RSS_NONFRAG_IPV4_TCP },
> @@ -108,7 +111,7 @@ const struct rss_type_info rss_type_table[] = {
>   	{ "ipv6-udp", RTE_ETH_RSS_NONFRAG_IPV6_UDP },
>   	{ "ipv6-sctp", RTE_ETH_RSS_NONFRAG_IPV6_SCTP },
>   	{ "ipv6-other", RTE_ETH_RSS_NONFRAG_IPV6_OTHER },
> -	{ "l2-payload", RTE_ETH_RSS_L2_PAYLOAD },
> +	{ "l2_payload", RTE_ETH_RSS_L2_PAYLOAD },
>   	{ "ipv6-ex", RTE_ETH_RSS_IPV6_EX },
>   	{ "ipv6-tcp-ex", RTE_ETH_RSS_IPV6_TCP_EX },
>   	{ "ipv6-udp-ex", RTE_ETH_RSS_IPV6_UDP_EX },
> @@ -116,33 +119,33 @@ const struct rss_type_info rss_type_table[] = {
>   	{ "vxlan", RTE_ETH_RSS_VXLAN },
>   	{ "geneve", RTE_ETH_RSS_GENEVE },
>   	{ "nvgre", RTE_ETH_RSS_NVGRE },
> -	{ "ip", RTE_ETH_RSS_IP },
> -	{ "udp", RTE_ETH_RSS_UDP },
> -	{ "tcp", RTE_ETH_RSS_TCP },
> -	{ "sctp", RTE_ETH_RSS_SCTP },
> -	{ "tunnel", RTE_ETH_RSS_TUNNEL },
> -	{ "l3-pre32", RTE_ETH_RSS_L3_PRE32 },
> -	{ "l3-pre40", RTE_ETH_RSS_L3_PRE40 },
> -	{ "l3-pre48", RTE_ETH_RSS_L3_PRE48 },
> -	{ "l3-pre56", RTE_ETH_RSS_L3_PRE56 },
> -	{ "l3-pre64", RTE_ETH_RSS_L3_PRE64 },
> -	{ "l3-pre96", RTE_ETH_RSS_L3_PRE96 },
> -	{ "l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY },
> -	{ "l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY },
> -	{ "l4-src-only", RTE_ETH_RSS_L4_SRC_ONLY },
> -	{ "l4-dst-only", RTE_ETH_RSS_L4_DST_ONLY },
> +	{ "gtpu", RTE_ETH_RSS_GTPU },
> +	{ "eth", RTE_ETH_RSS_ETH },
> +	{ "s-vlan", RTE_ETH_RSS_S_VLAN },
> +	{ "c-vlan", RTE_ETH_RSS_C_VLAN },
>   	{ "esp", RTE_ETH_RSS_ESP },
>   	{ "ah", RTE_ETH_RSS_AH },
>   	{ "l2tpv3", RTE_ETH_RSS_L2TPV3 },
>   	{ "pfcp", RTE_ETH_RSS_PFCP },
>   	{ "pppoe", RTE_ETH_RSS_PPPOE },
> -	{ "gtpu", RTE_ETH_RSS_GTPU },
> -	{ "ecpri", RTE_ETH_RSS_ECPRI },
> +	{"ecpri", RTE_ETH_RSS_ECPRI },

syntax issue, space needed before "ecpri"

>   	{ "mpls", RTE_ETH_RSS_MPLS },
>   	{ "ipv4-chksum", RTE_ETH_RSS_IPV4_CHKSUM },
>   	{ "l4-chksum", RTE_ETH_RSS_L4_CHKSUM },
>   	{ "l2tpv2", RTE_ETH_RSS_L2TPV2 },
> -	{ NULL, 0 },
> +	{ "l3-pre96", RTE_ETH_RSS_L3_PRE96 },
> +	{ "l3-pre64", RTE_ETH_RSS_L3_PRE64 },
> +	{ "l3-pre56", RTE_ETH_RSS_L3_PRE56 },
> +	{ "l3-pre48", RTE_ETH_RSS_L3_PRE48 },
> +	{ "l3-pre40", RTE_ETH_RSS_L3_PRE40 },
> +	{ "l3-pre32", RTE_ETH_RSS_L3_PRE32 },
> +	{ "l2-dst-only", RTE_ETH_RSS_L2_DST_ONLY },
> +	{ "l2-src-only", RTE_ETH_RSS_L2_SRC_ONLY },
> +	{ "l4-dst-only", RTE_ETH_RSS_L4_DST_ONLY },
> +	{ "l4-src-only", RTE_ETH_RSS_L4_SRC_ONLY },
> +	{ "l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY },
> +	{ "l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY },
> +	{ NULL, 0},
>   };
>   
>   static const struct {
  
lihuisong (C) June 25, 2022, 2:14 a.m. UTC | #2
在 2022/6/24 22:00, Ferruh Yigit 写道:
> On 6/24/2022 8:24 AM, Huisong Li wrote:
>> There are group and individual types in rss_type_table[]. However, group
>> types are very scattered, and individual types are not arranged based on
>> the bit number order in 'RTE_ETH_RSS_xxx'. For a clear distribution of
>> types and better maintenance, this patch reorders this table.
>>
>> Signed-off-by: Huisong Li <lihuisong@huawei.com> > ---
>>   app/test-pmd/config.c | 51 +++++++++++++++++++++++--------------------
>>   1 file changed, 27 insertions(+), 24 deletions(-)
>>
>> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
>> index b3cb68003c..cc97aaa0ce 100644
>> --- a/app/test-pmd/config.c
>> +++ b/app/test-pmd/config.c
>> @@ -85,17 +85,20 @@ static const struct {
>>   };
>>     const struct rss_type_info rss_type_table[] = {
>> +    /* Group types */
>>       { "all", RTE_ETH_RSS_ETH | RTE_ETH_RSS_VLAN | RTE_ETH_RSS_IP | 
>> RTE_ETH_RSS_TCP |
>>           RTE_ETH_RSS_UDP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_L2_PAYLOAD |
>>           RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_ESP | RTE_ETH_RSS_AH | 
>> RTE_ETH_RSS_PFCP |
>>           RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS | 
>> RTE_ETH_RSS_L2TPV2},
>>       { "none", 0 },
>> -    { "eth", RTE_ETH_RSS_ETH },
>> -    { "l2-src-only", RTE_ETH_RSS_L2_SRC_ONLY },
>> -    { "l2-dst-only", RTE_ETH_RSS_L2_DST_ONLY },
>> +    { "ip", RTE_ETH_RSS_IP },
>> +    { "udp", RTE_ETH_RSS_UDP },
>> +    { "tcp", RTE_ETH_RSS_TCP },
>> +    { "sctp", RTE_ETH_RSS_SCTP },
>> +    { "tunnel", RTE_ETH_RSS_TUNNEL },
>>       { "vlan", RTE_ETH_RSS_VLAN },
>> -    { "s-vlan", RTE_ETH_RSS_S_VLAN },
>> -    { "c-vlan", RTE_ETH_RSS_C_VLAN },
>> +
>> +    /* Individual type */
>>       { "ipv4", RTE_ETH_RSS_IPV4 },
>>       { "ipv4-frag", RTE_ETH_RSS_FRAG_IPV4 },
>>       { "ipv4-tcp", RTE_ETH_RSS_NONFRAG_IPV4_TCP },
>> @@ -108,7 +111,7 @@ const struct rss_type_info rss_type_table[] = {
>>       { "ipv6-udp", RTE_ETH_RSS_NONFRAG_IPV6_UDP },
>>       { "ipv6-sctp", RTE_ETH_RSS_NONFRAG_IPV6_SCTP },
>>       { "ipv6-other", RTE_ETH_RSS_NONFRAG_IPV6_OTHER },
>> -    { "l2-payload", RTE_ETH_RSS_L2_PAYLOAD },
>> +    { "l2_payload", RTE_ETH_RSS_L2_PAYLOAD },
>>       { "ipv6-ex", RTE_ETH_RSS_IPV6_EX },
>>       { "ipv6-tcp-ex", RTE_ETH_RSS_IPV6_TCP_EX },
>>       { "ipv6-udp-ex", RTE_ETH_RSS_IPV6_UDP_EX },
>> @@ -116,33 +119,33 @@ const struct rss_type_info rss_type_table[] = {
>>       { "vxlan", RTE_ETH_RSS_VXLAN },
>>       { "geneve", RTE_ETH_RSS_GENEVE },
>>       { "nvgre", RTE_ETH_RSS_NVGRE },
>> -    { "ip", RTE_ETH_RSS_IP },
>> -    { "udp", RTE_ETH_RSS_UDP },
>> -    { "tcp", RTE_ETH_RSS_TCP },
>> -    { "sctp", RTE_ETH_RSS_SCTP },
>> -    { "tunnel", RTE_ETH_RSS_TUNNEL },
>> -    { "l3-pre32", RTE_ETH_RSS_L3_PRE32 },
>> -    { "l3-pre40", RTE_ETH_RSS_L3_PRE40 },
>> -    { "l3-pre48", RTE_ETH_RSS_L3_PRE48 },
>> -    { "l3-pre56", RTE_ETH_RSS_L3_PRE56 },
>> -    { "l3-pre64", RTE_ETH_RSS_L3_PRE64 },
>> -    { "l3-pre96", RTE_ETH_RSS_L3_PRE96 },
>> -    { "l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY },
>> -    { "l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY },
>> -    { "l4-src-only", RTE_ETH_RSS_L4_SRC_ONLY },
>> -    { "l4-dst-only", RTE_ETH_RSS_L4_DST_ONLY },
>> +    { "gtpu", RTE_ETH_RSS_GTPU },
>> +    { "eth", RTE_ETH_RSS_ETH },
>> +    { "s-vlan", RTE_ETH_RSS_S_VLAN },
>> +    { "c-vlan", RTE_ETH_RSS_C_VLAN },
>>       { "esp", RTE_ETH_RSS_ESP },
>>       { "ah", RTE_ETH_RSS_AH },
>>       { "l2tpv3", RTE_ETH_RSS_L2TPV3 },
>>       { "pfcp", RTE_ETH_RSS_PFCP },
>>       { "pppoe", RTE_ETH_RSS_PPPOE },
>> -    { "gtpu", RTE_ETH_RSS_GTPU },
>> -    { "ecpri", RTE_ETH_RSS_ECPRI },
>> +    {"ecpri", RTE_ETH_RSS_ECPRI },
>
> syntax issue, space needed before "ecpri"
Agreed.
>
>>       { "mpls", RTE_ETH_RSS_MPLS },
>>       { "ipv4-chksum", RTE_ETH_RSS_IPV4_CHKSUM },
>>       { "l4-chksum", RTE_ETH_RSS_L4_CHKSUM },
>>       { "l2tpv2", RTE_ETH_RSS_L2TPV2 },
>> -    { NULL, 0 },
>> +    { "l3-pre96", RTE_ETH_RSS_L3_PRE96 },
>> +    { "l3-pre64", RTE_ETH_RSS_L3_PRE64 },
>> +    { "l3-pre56", RTE_ETH_RSS_L3_PRE56 },
>> +    { "l3-pre48", RTE_ETH_RSS_L3_PRE48 },
>> +    { "l3-pre40", RTE_ETH_RSS_L3_PRE40 },
>> +    { "l3-pre32", RTE_ETH_RSS_L3_PRE32 },
>> +    { "l2-dst-only", RTE_ETH_RSS_L2_DST_ONLY },
>> +    { "l2-src-only", RTE_ETH_RSS_L2_SRC_ONLY },
>> +    { "l4-dst-only", RTE_ETH_RSS_L4_DST_ONLY },
>> +    { "l4-src-only", RTE_ETH_RSS_L4_SRC_ONLY },
>> +    { "l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY },
>> +    { "l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY },
>> +    { NULL, 0},
>>   };
>>     static const struct {
>
> .
  

Patch

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index b3cb68003c..cc97aaa0ce 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -85,17 +85,20 @@  static const struct {
 };
 
 const struct rss_type_info rss_type_table[] = {
+	/* Group types */
 	{ "all", RTE_ETH_RSS_ETH | RTE_ETH_RSS_VLAN | RTE_ETH_RSS_IP | RTE_ETH_RSS_TCP |
 		RTE_ETH_RSS_UDP | RTE_ETH_RSS_SCTP | RTE_ETH_RSS_L2_PAYLOAD |
 		RTE_ETH_RSS_L2TPV3 | RTE_ETH_RSS_ESP | RTE_ETH_RSS_AH | RTE_ETH_RSS_PFCP |
 		RTE_ETH_RSS_GTPU | RTE_ETH_RSS_ECPRI | RTE_ETH_RSS_MPLS | RTE_ETH_RSS_L2TPV2},
 	{ "none", 0 },
-	{ "eth", RTE_ETH_RSS_ETH },
-	{ "l2-src-only", RTE_ETH_RSS_L2_SRC_ONLY },
-	{ "l2-dst-only", RTE_ETH_RSS_L2_DST_ONLY },
+	{ "ip", RTE_ETH_RSS_IP },
+	{ "udp", RTE_ETH_RSS_UDP },
+	{ "tcp", RTE_ETH_RSS_TCP },
+	{ "sctp", RTE_ETH_RSS_SCTP },
+	{ "tunnel", RTE_ETH_RSS_TUNNEL },
 	{ "vlan", RTE_ETH_RSS_VLAN },
-	{ "s-vlan", RTE_ETH_RSS_S_VLAN },
-	{ "c-vlan", RTE_ETH_RSS_C_VLAN },
+
+	/* Individual type */
 	{ "ipv4", RTE_ETH_RSS_IPV4 },
 	{ "ipv4-frag", RTE_ETH_RSS_FRAG_IPV4 },
 	{ "ipv4-tcp", RTE_ETH_RSS_NONFRAG_IPV4_TCP },
@@ -108,7 +111,7 @@  const struct rss_type_info rss_type_table[] = {
 	{ "ipv6-udp", RTE_ETH_RSS_NONFRAG_IPV6_UDP },
 	{ "ipv6-sctp", RTE_ETH_RSS_NONFRAG_IPV6_SCTP },
 	{ "ipv6-other", RTE_ETH_RSS_NONFRAG_IPV6_OTHER },
-	{ "l2-payload", RTE_ETH_RSS_L2_PAYLOAD },
+	{ "l2_payload", RTE_ETH_RSS_L2_PAYLOAD },
 	{ "ipv6-ex", RTE_ETH_RSS_IPV6_EX },
 	{ "ipv6-tcp-ex", RTE_ETH_RSS_IPV6_TCP_EX },
 	{ "ipv6-udp-ex", RTE_ETH_RSS_IPV6_UDP_EX },
@@ -116,33 +119,33 @@  const struct rss_type_info rss_type_table[] = {
 	{ "vxlan", RTE_ETH_RSS_VXLAN },
 	{ "geneve", RTE_ETH_RSS_GENEVE },
 	{ "nvgre", RTE_ETH_RSS_NVGRE },
-	{ "ip", RTE_ETH_RSS_IP },
-	{ "udp", RTE_ETH_RSS_UDP },
-	{ "tcp", RTE_ETH_RSS_TCP },
-	{ "sctp", RTE_ETH_RSS_SCTP },
-	{ "tunnel", RTE_ETH_RSS_TUNNEL },
-	{ "l3-pre32", RTE_ETH_RSS_L3_PRE32 },
-	{ "l3-pre40", RTE_ETH_RSS_L3_PRE40 },
-	{ "l3-pre48", RTE_ETH_RSS_L3_PRE48 },
-	{ "l3-pre56", RTE_ETH_RSS_L3_PRE56 },
-	{ "l3-pre64", RTE_ETH_RSS_L3_PRE64 },
-	{ "l3-pre96", RTE_ETH_RSS_L3_PRE96 },
-	{ "l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY },
-	{ "l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY },
-	{ "l4-src-only", RTE_ETH_RSS_L4_SRC_ONLY },
-	{ "l4-dst-only", RTE_ETH_RSS_L4_DST_ONLY },
+	{ "gtpu", RTE_ETH_RSS_GTPU },
+	{ "eth", RTE_ETH_RSS_ETH },
+	{ "s-vlan", RTE_ETH_RSS_S_VLAN },
+	{ "c-vlan", RTE_ETH_RSS_C_VLAN },
 	{ "esp", RTE_ETH_RSS_ESP },
 	{ "ah", RTE_ETH_RSS_AH },
 	{ "l2tpv3", RTE_ETH_RSS_L2TPV3 },
 	{ "pfcp", RTE_ETH_RSS_PFCP },
 	{ "pppoe", RTE_ETH_RSS_PPPOE },
-	{ "gtpu", RTE_ETH_RSS_GTPU },
-	{ "ecpri", RTE_ETH_RSS_ECPRI },
+	{"ecpri", RTE_ETH_RSS_ECPRI },
 	{ "mpls", RTE_ETH_RSS_MPLS },
 	{ "ipv4-chksum", RTE_ETH_RSS_IPV4_CHKSUM },
 	{ "l4-chksum", RTE_ETH_RSS_L4_CHKSUM },
 	{ "l2tpv2", RTE_ETH_RSS_L2TPV2 },
-	{ NULL, 0 },
+	{ "l3-pre96", RTE_ETH_RSS_L3_PRE96 },
+	{ "l3-pre64", RTE_ETH_RSS_L3_PRE64 },
+	{ "l3-pre56", RTE_ETH_RSS_L3_PRE56 },
+	{ "l3-pre48", RTE_ETH_RSS_L3_PRE48 },
+	{ "l3-pre40", RTE_ETH_RSS_L3_PRE40 },
+	{ "l3-pre32", RTE_ETH_RSS_L3_PRE32 },
+	{ "l2-dst-only", RTE_ETH_RSS_L2_DST_ONLY },
+	{ "l2-src-only", RTE_ETH_RSS_L2_SRC_ONLY },
+	{ "l4-dst-only", RTE_ETH_RSS_L4_DST_ONLY },
+	{ "l4-src-only", RTE_ETH_RSS_L4_SRC_ONLY },
+	{ "l3-dst-only", RTE_ETH_RSS_L3_DST_ONLY },
+	{ "l3-src-only", RTE_ETH_RSS_L3_SRC_ONLY },
+	{ NULL, 0},
 };
 
 static const struct {