app/testpmd: fix Rx offload search error

Message ID 1541571269-6133-1-git-send-email-wei.zhao1@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series app/testpmd: fix Rx offload search error |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Zhao1, Wei Nov. 7, 2018, 6:14 a.m. UTC
  There is an error in function in function search_rx_offload(),
it will break when get unexpected return value from function
rte_eth_dev_rx_offload_name(), but rte_eth_dev_rx_offload_name()
will return some unexpected value indead.

Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 app/test-pmd/cmdline.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
  

Comments

Peng, Yuan Nov. 7, 2018, 7:58 a.m. UTC | #1
Tested-by: Peng, Yuan <yuan.peng@intel.com>

- Tested Branch: master
- Tested Commit: c59b06294fb4531792a4c74ca63fa79a4cb53457
- OS: 4.5.5-300.fc24.x86_64
- GCC: gcc (GCC) 5.3.1 20151207 (Red Hat 5.3.1-2)
- CPU: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
- NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
     Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01)
- Default x86_64-native-linuxapp-gcc configuration
- Prerequisites:
- Total 1 cases, 1 passed, 0 failed

- Case:
./usertools/dpdk-devbind.py -b igb_uio 07:00.0 07:00.1
./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 - -i --rxq=4 --txq=4
 testpmd> show port 0 rx_offload capabilities
 Rx Offloading Capabilities of port 0 :
Per Queue : VLAN_STRIP
Per Port : IPV4_CKSUM UDP_CKSUM TCP_CKSUM TCP_LRO MACSEC_STRIP VLAN_FILTER VLAN_EXTEND JUMBO_FRAME SCATTER SECURITY KEEP_CRC
 testpmd> show port 0 rx_offload configuration
 Rx Offloading Configuration of port 0 :
  Port :
  Queue[ 0] :
  Queue[ 1] :
  Queue[ 2] :
  Queue[ 3] :
testpmd> port stop 0
testpmd> port config 0 rx_offload security on
testpmd> port config 0 rx_offload scatter on
testpmd> port config 0 rx_offload keep_crc on
testpmd> port config 0 rx_offload jumbo_frame on
testpmd> port config 0 rx_offload vlan_extend on
testpmd> port config 0 rx_offload vlan_filter on
testpmd> port config 0 rx_offload macsec_strip on
testpmd> port config 0 rx_offload tcp_lro on
testpmd> port config 0 rx_offload tcp_cksum on
testpmd> port config 0 rx_offload udp_cksum on
testpmd> port config 0 rx_offload ipv4_cksum on
testpmd>
testpmd> show port 0 rx_offload configuration
Rx Offloading Configuration of port 0 :
  Port : IPV4_CKSUM UDP_CKSUM TCP_CKSUM TCP_LRO MACSEC_STRIP VLAN_FILTER VLAN_EXTEND JUMBO_FRAME SCATTER SECURITY KEEP_CRC
  Queue[ 0] : IPV4_CKSUM UDP_CKSUM TCP_CKSUM TCP_LRO MACSEC_STRIP VLAN_FILTER VLAN_EXTEND JUMBO_FRAME SCATTER SECURITY KEEP_CRC
  Queue[ 1] : IPV4_CKSUM UDP_CKSUM TCP_CKSUM TCP_LRO MACSEC_STRIP VLAN_FILTER VLAN_EXTEND JUMBO_FRAME SCATTER SECURITY KEEP_CRC
  Queue[ 2] : IPV4_CKSUM UDP_CKSUM TCP_CKSUM TCP_LRO MACSEC_STRIP VLAN_FILTER VLAN_EXTEND JUMBO_FRAME SCATTER SECURITY KEEP_CRC
  Queue[ 3] : IPV4_CKSUM UDP_CKSUM TCP_CKSUM TCP_LRO MACSEC_STRIP VLAN_FILTER VLAN_EXTEND JUMBO_FRAME SCATTER SECURITY KEEP_CRC
testpmd> port config 0 rx_offload ipv4_cksum off
testpmd> port config 0 rx_offload udp_cksum off
testpmd> port config 0 rx_offload tcp_cksum off
testpmd> port config 0 rx_offload tcp_lro off
testpmd> port config 0 rx_offload macsec_strip off
testpmd> port config 0 rx_offload vlan_filter off
testpmd> port config 0 rx_offload vlan_extend off
testpmd> port config 0 rx_offload jumbo_frame off
testpmd> port config 0 rx_offload keep_crc off
testpmd> port config 0 rx_offload scatter off
testpmd> port config 0 rx_offload security off
testpmd> show port 0 rx_offload configuration
Rx Offloading Configuration of port 0 :
  Port :
  Queue[ 0] :
  Queue[ 1] :
  Queue[ 2] :
  Queue[ 3] :

All the capabilities can be configured successfully.
The case can pass with i40e and ixgbe card.


-----Original Message-----
From: Zhao1, Wei 
Sent: Wednesday, November 7, 2018 2:14 PM
To: dev@dpdk.org
Cc: stable@dpdk.org; Peng, Yuan <yuan.peng@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>
Subject: [PATCH] app/testpmd: fix Rx offload search error

There is an error in function in function search_rx_offload(), it will break when get unexpected return value from function rte_eth_dev_rx_offload_name(), but rte_eth_dev_rx_offload_name() will return some unexpected value indead.

Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 app/test-pmd/cmdline.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 5e08a1b..1275074 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -17805,10 +17805,7 @@ search_rx_offload(const char *name)
 		if (!strcasecmp(single_name, name)) {
 			found = 1;
 			break;
-		} else if (!strcasecmp(single_name, "UNKNOWN"))
-			break;
-		else if (single_name == NULL)
-			break;
+		}
 		single_offload <<= 1;
 	}
 
--
2.7.5
  
Iremonger, Bernard Nov. 7, 2018, 5:09 p.m. UTC | #2
Hi Wei,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Peng, Yuan
> Sent: Wednesday, November 7, 2018 7:58 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org; Lu, Wenzhuo <wenzhuo.lu@intel.com>
> Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix Rx offload search error
> 
> Tested-by: Peng, Yuan <yuan.peng@intel.com>

./devtools/check-git-log.sh -1
Wrong tag:
        Tested-by: Peng, Yuan <yuan.peng@intel.com>

Checkpatches.pl is detecting a duplicate signoff
### app/testpmd: fix Rx offload search error

WARNING:BAD_SIGN_OFF: Duplicate signature
#26: 
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>

<snip>

> Subject: [PATCH] app/testpmd: fix Rx offload search error
> 
> There is an error in function in function search_rx_offload(), it will break when
> get unexpected return value from function rte_eth_dev_rx_offload_name(), but
> rte_eth_dev_rx_offload_name() will return some unexpected value indead.
> 
> Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API")
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
>  app/test-pmd/cmdline.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index
> 5e08a1b..1275074 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -17805,10 +17805,7 @@ search_rx_offload(const char *name)
>  		if (!strcasecmp(single_name, name)) {
>  			found = 1;
>  			break;
> -		} else if (!strcasecmp(single_name, "UNKNOWN"))
> -			break;
> -		else if (single_name == NULL)
> -			break;
> +		}
>  		single_offload <<= 1;
>  	}
> 
> --
> 2.7.5

Regards,

Bernard.
  
Ferruh Yigit Nov. 7, 2018, 7:02 p.m. UTC | #3
On 11/7/2018 7:58 AM, Peng, Yuan wrote:

<...>

> From: Zhao1, Wei 
> Sent: Wednesday, November 7, 2018 2:14 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Peng, Yuan <yuan.peng@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>
> Subject: [PATCH] app/testpmd: fix Rx offload search error
> 
> There is an error in function in function search_rx_offload(), it will break when get unexpected return value from function rte_eth_dev_rx_offload_name(), but rte_eth_dev_rx_offload_name() will return some unexpected value indead.
> 
> Fixes: c73a9071877a ("app/testpmd: add commands to test new offload API")
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
>
> Tested-by: Peng, Yuan <yuan.peng@intel.com>

Applied to dpdk-next-net/master, thanks.

(checkpatch issues reported by Bernard fixed while merging.)
  
Zhao1, Wei Nov. 8, 2018, 1:30 a.m. UTC | #4
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Thursday, November 8, 2018 3:02 AM
> To: Peng, Yuan <yuan.peng@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
> dev@dpdk.org
> Cc: stable@dpdk.org; Lu, Wenzhuo <wenzhuo.lu@intel.com>; Iremonger,
> Bernard <bernard.iremonger@intel.com>
> Subject: Re: [dpdk-stable] [PATCH] app/testpmd: fix Rx offload search error
> 
> On 11/7/2018 7:58 AM, Peng, Yuan wrote:
> 
> <...>
> 
> > From: Zhao1, Wei
> > Sent: Wednesday, November 7, 2018 2:14 PM
> > To: dev@dpdk.org
> > Cc: stable@dpdk.org; Peng, Yuan <yuan.peng@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>
> > Subject: [PATCH] app/testpmd: fix Rx offload search error
> >
> > There is an error in function in function search_rx_offload(), it will break
> when get unexpected return value from function
> rte_eth_dev_rx_offload_name(), but rte_eth_dev_rx_offload_name() will
> return some unexpected value indead.
> >
> > Fixes: c73a9071877a ("app/testpmd: add commands to test new offload
> API")
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> >
> > Tested-by: Peng, Yuan <yuan.peng@intel.com>
> 
> Applied to dpdk-next-net/master, thanks.
> 
> (checkpatch issues reported by Bernard fixed while merging.)

Thanks!
  

Patch

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 5e08a1b..1275074 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -17805,10 +17805,7 @@  search_rx_offload(const char *name)
 		if (!strcasecmp(single_name, name)) {
 			found = 1;
 			break;
-		} else if (!strcasecmp(single_name, "UNKNOWN"))
-			break;
-		else if (single_name == NULL)
-			break;
+		}
 		single_offload <<= 1;
 	}