> -----Original Message----- > From: Kevin Liu <kevinx....@intel.com> > Sent: Friday, December 24, 2021 11:09 PM > To: dev@dpdk.org > Cc: Zhang, Qi Z <qi.z.zh...@intel.com>; Yang, SteveX > <stevex.y...@intel.com>; Liu, KevinX <kevinx....@intel.com>; > sta...@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: sta...@dpdk.org > > Signed-off-by: Kevin Liu <kevinx....@intel.com> > ---
Tested-by: Wei Ling <weix.l...@intel.com>