Hi,

I am trying to use dpdk 23.11 on a VMware virtual machine for a forwarding application. My quest OS is Ubuntu 22.04 LTS and I am using the e1000 network card. I realized checksums of the processed packets are not correct when using checksum offload feature of DPDK. I suspect that checksums are stay same when packets are changed.

I also tried using vmxnet3 NIC in virtual machine but I got the same result. I was using same code on a Mellanox card before on a real hardware and it was working fine.  When I calculated the checksum in the code instead of offloading it is working, but I would like to use the offloading feature. What do you think could be the cause for this problem.

The configuration I am using for checksum offload is:

        struct rte_eth_conf port_conf = {
            .rxmode = {
                .mq_mode = RTE_ETH_MQ_RX_RSS,
            },
            .txmode = {
                .offloads =
                    RTE_ETH_TX_OFFLOAD_IPV4_CKSUM  |
                    RTE_ETH_TX_OFFLOAD_UDP_CKSUM   |
                    RTE_ETH_TX_OFFLOAD_TCP_CKSUM  ,
                    .mq_mode = RTE_ETH_MQ_TX_NONE,
            },

For vmxnet3 however I didn't use RTE_ETH_TX_OFFLOAD_IPV4_CKSUM because apparently that driver is not supporting IPv4 offload.

Thanks

Best,

Aisenur