> -----Original Message----- > From: Olivier MATZ [mailto:olivier.matz at 6wind.com] > Sent: Wednesday, November 5, 2014 6:28 PM > To: Liu, Jijiang > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v8 10/10] app/testpmd:test VxLAN Tx checksum > offload > > Hi Jijiang, > > Thank you for your answer. Please find some comments below. > > > Another thing is surprising me. > > - if PKT_TX_VXLAN_CKSUM is not set (legacy use case), then the > driver use l2_len and l3_len to offload inner IP/UDP/TCP checksums. If the flag is not set, and imply that it is not VXLAN packet, and do TX checksum offload as regular packet.
> - if PKT_TX_VXLAN_CKSUM is set, then the driver has to use > inner_l{23}_len instead of l{23}_len for the same operation. Your understanding is not fully correct. The l{23}_len is still used for TX checksum offload, please refer to i40e_txd_enable_checksum() implementation. > Adding PKT_TX_VXLAN_CKSUM changes the semantic of l2_len and l3_len. > To fix this, I suggest to remove the new fields inner_l{23}_len then add > outer_l{23}_len instead. Therefore, the semantic of l2_len and l3_len would > not > change, and a driver would always use the same field for a specific offload. Oh... > For my TSO development, I will follow the current semantic. For TSO, you still can use l{2,3} _len . When I develop tunneling TSO, I will use inner_l3_len/inner_l4_len. >