[1/2] test/link_bonding: disable HW CRC strip by default.

Message ID 1530520018-7302-1-git-send-email-phil.yang@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series [1/2] test/link_bonding: disable HW CRC strip by default. |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Phil Yang July 2, 2018, 8:26 a.m. UTC
  Since the tested virtual device has no capacity of HW CRC offload,
disable it for the link bonding test by default. Otherwise, it will
cause test unexpected failure.

Fixes: b219c8c("test: enable HW CRC strip by default")

Signed-off-by: Phil Yang <phil.yang@arm.com>
---
 test/test/test_link_bonding.c | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)
  

Comments

Ferruh Yigit July 2, 2018, 10 a.m. UTC | #1
On 7/2/2018 9:26 AM, dev-bounces@dpdk.org wrote:
> Since the tested virtual device has no capacity of HW CRC offload,
> disable it for the link bonding test by default. Otherwise, it will
> cause test unexpected failure.
> 
> Fixes: b219c8c("test: enable HW CRC strip by default")
> 
> Signed-off-by: Phil Yang <phil.yang@arm.com>

Hi Phil,

There is a patch to add DEV_RX_OFFLOAD_CRC_STRIP to virtual devices [1] and
there is another under development to remove old offload API [2], those both
looks like can replace your patch when merged.

[1]: [on next-net] d8b0cfa797d8 ("ethdev: add new offload flag to keep CRC")
[2]: https://patches.dpdk.org/patch/40956/
  
Phil Yang July 4, 2018, 1:33 a.m. UTC | #2
Hi Ferruh,

Thanks for you patch.

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Monday, July 2, 2018 6:00 PM
> To: dev-bounces@dpdk.org; dev@dpdk.org
> Cc: nd <nd@arm.com>; Phil Yang <Phil.Yang@arm.com>
> Subject: Re: [dpdk-dev] [PATCH 1/2] test/link_bonding: disable HW CRC strip by
> default.
> 
> On 7/2/2018 9:26 AM, dev-bounces@dpdk.org wrote:
> > Since the tested virtual device has no capacity of HW CRC offload,
> > disable it for the link bonding test by default. Otherwise, it will
> > cause test unexpected failure.
> >
> > Fixes: b219c8c("test: enable HW CRC strip by default")
> >
> > Signed-off-by: Phil Yang <phil.yang@arm.com>
> 
> Hi Phil,
> 
> There is a patch to add DEV_RX_OFFLOAD_CRC_STRIP to virtual devices [1] and
> there is another under development to remove old offload API [2], those both
> looks like can replace your patch when merged.
> 
> [1]: [on next-net] d8b0cfa797d8 ("ethdev: add new offload flag to keep CRC")

"And DEV_RX_OFFLOAD_CRC_STRIP has been added to virtual drivers since
they don't use CRC at all, when an application requires this offload
virtual PMDs should not return error."

I think you have ignored virtual_pmd driver. Since test_link_bonding use test/virtual_pmd for the testing device. 
I unstreamed a patch for this defect. Please review it.
http://patchwork.dpdk.org/patch/42197/ 

> [2]: https://patches.dpdk.org/patch/40956/

Thanks,
Phil Yang
  

Patch

diff --git a/test/test/test_link_bonding.c b/test/test/test_link_bonding.c
index 0ffd650..d996c02 100644
--- a/test/test/test_link_bonding.c
+++ b/test/test/test_link_bonding.c
@@ -137,14 +137,8 @@  static uint16_t vlan_id = 0x100;
 
 struct rte_eth_rxmode rx_mode = {
 	.max_rx_pkt_len = ETHER_MAX_LEN, /**< Default maximum frame length. */
-	.split_hdr_size = 0,
-	.header_split   = 0, /**< Header Split disabled. */
-	.hw_ip_checksum = 0, /**< IP checksum offload disabled. */
-	.hw_vlan_filter = 1, /**< VLAN filtering enabled. */
-	.hw_vlan_strip  = 1, /**< VLAN strip enabled. */
-	.hw_vlan_extend = 0, /**< Extended VLAN disabled. */
-	.jumbo_frame    = 0, /**< Jumbo Frame Support disabled. */
-	.hw_strip_crc   = 1, /**< CRC stripping by hardware enabled. */
+	.offloads = 0,
+	.ignore_offload_bitfield = 1,
 };
 
 struct rte_fdir_conf fdir_conf = {
@@ -158,12 +152,8 @@  static struct rte_eth_conf default_pmd_conf = {
 	.rxmode = {
 		.mq_mode = ETH_MQ_RX_NONE,
 		.max_rx_pkt_len = ETHER_MAX_LEN,
-		.split_hdr_size = 0,
-		.header_split   = 0, /**< Header Split disabled */
-		.hw_ip_checksum = 0, /**< IP checksum offload enabled */
-		.hw_vlan_filter = 0, /**< VLAN filtering disabled */
-		.jumbo_frame    = 0, /**< Jumbo Frame Support disabled */
-		.hw_strip_crc   = 1, /**< CRC stripped by hardware */
+		.offloads = 0,
+		.ignore_offload_bitfield = 1,
 	},
 	.txmode = {
 		.mq_mode = ETH_MQ_TX_NONE,