Thanks, I run testpmd for checking tx_offload capabilities, Virtio do not support IP checksum.
vmxnet3 can't start by testpmd, I need send another email about this. Thanks Jie -----邮件原件----- 发件人: Stephen Hemminger [mailto:[email protected]] 发送时间: 2019年2月26日 23:48 收件人: 宋捷 <[email protected]> 抄送: 'users' <[email protected]> 主题: Re: [dpdk-users] How to make virtual NIC (virtio and vmxnet3) support IP header checksum? On Tue, 26 Feb 2019 16:29:00 +0800 宋捷 <[email protected]> wrote: > Hi All > > I test the DPDK virtual nics both in Esxi and KVM, I used DPDK > vmxnet3, virtio and e1000 nic. I need create IP packets and TX them. > > > > I set the rte_mbuf as below before TX. > > mb->l2_len = len(out_eth) > > mb->l3_len = len(out_ip) > > mb->ol_flags |= PKT_TX_IPV4 | PKT_TX_IP_CSUM > > > > It worked well with DPDK virtual e1000 nic, the IP header checksum > will be set correct value. but vmxnet3 and virtio just keep 0 for IP > header checksum. > > I disable above code and call rte_ipv4_cksum for each IP header > checksum. it worked with vmxnet3 and virtio when TX slowly, but > checksum invalid once TX quicklyL > > > > Why the DPDK vmxnet3 and virtio drivers don't support IP checksum? > > If there’s an easy way for adding the IP header checksum with vmxnet3 > and virtio ? > > > > > > Thanks > > > > Jie > You need to look at the TX_OFFLOAD capability flags in dev_info. Many drivers do not support IP checksum offload.
