From: "Xu, Qian Q" <qian.q.xu at intel.com<mailto:qian.q...@intel.com>> Date: Tuesday, March 22, 2016 at 8:31 PM To: "Ding, HengX" <hengx.ding at intel.com<mailto:hengx.ding at intel.com>>, Yong <yongwang at vmware.com<mailto:yongwang at vmware.com>> Cc: "dev at dpdk.org<mailto:dev at dpdk.org>" <dev at dpdk.org<mailto:dev at dpdk.org>> Subject: RE: testpmd could not start up with vmxnet3 port
It?s a regression, vmxnet3 can work with dpdk2.2, but now it can?t work well. Yong, Heng found that your patch may be the first one to break the function, could you check it? Thx. Thanks Qian From: Ding, HengX Sent: Wednesday, March 23, 2016 11:28 AM To: yongwang at vmware.com<mailto:yongwang at vmware.com> Cc: Xu, Qian Q; dev at dpdk.org<mailto:dev at dpdk.org> Subject: testpmd could not start up with vmxnet3 port Testpmd will fail to start up with vmxnet3 port. You can reproduce this issue follow these steps: 1. Right click your VM and click edit settings 2. Click ?Add?? button. 3. Choose Ethernet Adapter and click next 4. Choose vmxnet3 as the Adapter Type, and select a network connection. Click next and finish config. 5. Add another vmxnet3 port to VM follow step 1-4. 6. Compile dpdk, bind vmxnet3 port to igb_uio and run testpmd: ./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 -- -i Here is the bisect result: f598fd063bb17eba9310ff48164014d09f40c759 is the first bad commit commit f598fd063bb17eba9310ff48164014d09f40c759 Author: Yong Wang <yongwang at vmware.com<mailto:yongwang at vmware.com>> Date: Tue Jan 12 18:08:35 2016 -0800 vmxnet3: add Tx L4 checksum offload Support TCP/UDP checksum offload. Signed-off-by: Yong Wang <yongwang at vmware.com<mailto:yongwang at vmware.com>> Acked-by: Stephen Hemminger <stephen at networkplumber.org<mailto:stephen at networkplumber.org>> :040000 040000 4524306879c4c0093ac54b0c66b8a8f895af8337 8e1473e7cc9052003abe6caae8e8b232810972d4 M doc :040000 040000 ad9cd888717dd976a43cfe05aaf33f3b83a2f7bc 9fbd6fefb95f67bb407bb9a7efcf39e707ab21a7 M drivers Currently vmxnet3?s default_txconf.txq_flags is set to the following, which is used by testpmd as there is no explicit txconf passed when initializing tx queue: dev_info->default_txconf.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS; With the referred patch that introduced l4 cksum offload, we should update the default txq flags check accordingly. Heng, can you post the error logs to confirm this is indeed the cause of the error you reported? Related to this, I saw that the check for NOMULTISEGS has been removed and the check for NOVLANOFF was never implemented. Should we just remove the offload flags check as well as I don?t see much value of this check. Basically we know that the device does not support certain offload and we have to set those flags to let the device initialize. But doing this does nothing to prevent users to request these non-supported offload. I also saw another thread discussing better device capability APIs and hopefully this will not be needed then.