Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ upstream commit d852fec ] 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: 28f9002 ("net/ice: add Tx AVX512 offload path") Fixes: 295968d ("ethdev: add namespace") Fixes: 17c7d0f ("net/ice: support basic Rx/Tx") Signed-off-by: Kevin Liu <kevinx.liu@intel.com> Acked-by: Ting Xu <ting.xu@intel.com> Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
- Loading branch information