I have 2 pods running on same worker

Pod1 send to pod2

Pod2 receive with 4 bytes less at end of packet

This problem happens only if the 2 nic are on the same pf,

If different pf, the problem doesn’t occurs

 

I tried with dpdk21 and dpdk22
The code is using driver
net_iavf

nic e810c
driver: ice

firmware-version: 4.00 0x800139bc 21.5.9

Who does the stripping? The dpdk code or the card?
Why is is different behavior for same pf and different pf ?
What should i change or check?

 

port_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_KEEP_CRC;   //Don't strip CRC

port_conf.rxmode.offloads &= pi_devInfo.rx_offload_capa;

int ret = rte_eth_dev_configure(pi_nPort, nRxQueues, nTxQueues, &port_conf);

 

 

 

struct rte_eth_rxconf rx_conf;

rx_conf.offloads = RTE_ETH_RX_OFFLOAD_KEEP_CRC;

 

            int ret = rte_eth_rx_queue_setup(

                pi_nPort,

                nQueue,

                nRxRingSize,

                socket,

                performanceMode?NULL:&rx_conf,

                pool);