[dpdk-dev] testpmd could not start up with vmxnet3 port

Yong Wang yongwang at vmware.com
Wed Mar 23 06:57:55 CET 2016


From: "Xu, Qian Q" <qian.q.xu at intel.com<mailto:qian.q.xu at 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

Resend due to formatting issues.

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


More information about the dev mailing list