[PATCH] net/ice: fix Tx offload path choice

Zhang, Qi Z qi.z.zhang at intel.com
Sun Feb 27 07:19:58 CET 2022



> -----Original Message-----
> From: Liu, KevinX <kevinx.liu at intel.com>
> Sent: Friday, December 24, 2021 11:09 PM
> To: dev at dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang at intel.com>; Yang, SteveX <stevex.yang at intel.com>;
> Liu, KevinX <kevinx.liu at intel.com>; stable at dpdk.org
> Subject: [PATCH] net/ice: fix Tx offload path choice
> 
> Testpmd forwards packets in checksum mode that it needs to calculate the
> checksum of each layer's protocol.
> 
> When setting the hardware calculates the outer UDP checksum and the
> software calculates the outer IP checksum, the dev->tx_pkt_burst in
> ice_set_tx_function is set to ice_xmit_pkts_vec_avx2.
> The inner and outer UDP checksum of the tunnel packet after forwarding is
> wrong.The dev->tx_pkt_burst should be set to ice_xmit_pkts.
> 
> The patch adds RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM to
> ICE_TX_NO_VECTOR_FLAGS,set dev->tx_pkt_burst to ice_xmit_pkts.After the
> tunnel packet is forwarded, the inner and outer UDP checksum is correct.
> 
> At the same time, the patch of "net/ice: fix Tx Checksum offload" will cause
> interrupt errors in a special case that only inner IP and inner UDP checksum are
> set for hardware calculation.The patch is updating ICE_TX_NO_VECTOR_FLAGS,
> the problem can be solved, so I will restore the code modification of that patch.
> 
> Fixes: e6b9d6411e91 ("app/testpmd: add SW L4 checksum in multi-segments")
> Fixes: 28f9002ab67f ("net/ice: add Tx AVX512 offload path")
> Fixes: 295968d17407 ("ethdev: add namespace")
> Fixes: 17c7d0f9d6a4 ("net/ice: support basic Rx/Tx")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Kevin Liu <kevinx.liu at intel.com>
> ---
>  app/test-pmd/csumonly.c               |  6 +--
>  drivers/net/ice/ice_rxtx.c            | 41 ++++++-------------
>  drivers/net/ice/ice_rxtx_vec_common.h | 59 +++++++++------------------
>  3 files changed, 34 insertions(+), 72 deletions(-)

Please separate testpmd fix and pmd fix into two patches. 




More information about the stable mailing list