[dpdk-dev] vmxnet3: set txq_flags in default TX conf

Message ID 1418317690-10151-1-git-send-email-pablo.de.lara.guarch@intel.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

De Lara Guarch, Pablo Dec. 11, 2014, 5:08 p.m. UTC
  Since commit fbde27f19ab8f "get default Rx/Tx configuration from dev info",
a default RX/TX configuration can be used for all PMDs.
In case of vmxnet3, the whole structure was zeroed and not filled out.
The PMD does not support multi segments or offload functions,
so txq_flags should have those flags set.

Signed-off-by: root <root@sie-lab-214-174.ir.intel.com>
---
 lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
  

Comments

De Lara Guarch, Pablo Dec. 11, 2014, 7:56 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Pablo de Lara
> Sent: Thursday, December 11, 2014 5:08 PM
> To: dev@dpdk.org
> Cc: root
> Subject: [dpdk-dev] [PATCH] vmxnet3: set txq_flags in default TX conf
> 
> Since commit fbde27f19ab8f "get default Rx/Tx configuration from dev info",
> a default RX/TX configuration can be used for all PMDs.
> In case of vmxnet3, the whole structure was zeroed and not filled out.
> The PMD does not support multi segments or offload functions,
> so txq_flags should have those flags set.
> 
> Signed-off-by: root <root@sie-lab-214-174.ir.intel.com>

Self-NACK. Wrong signed-off.

> ---
>  lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> index 963a8a5..ef0af16 100644
> --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> @@ -642,6 +642,9 @@
> vmxnet3_dev_info_get(__attribute__((unused))struct rte_eth_dev *dev,
> struct rte_
>  	dev_info->min_rx_bufsize = 1518 + RTE_PKTMBUF_HEADROOM;
>  	dev_info->max_rx_pktlen = 16384; /* includes CRC, cf MAXFRS
> register */
>  	dev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS;
> +
> +	dev_info->default_txconf.txq_flags =
> ETH_TXQ_FLAGS_NOMULTSEGS |
> +
> 	ETH_TXQ_FLAGS_NOOFFLOADS;
>  }
> 
>  /* return 0 means link status changed, -1 means not changed */
> --
> 1.7.4.1
  
Zhang, XiaonanX Dec. 12, 2014, 6:48 a.m. UTC | #2
Tested-by: Xiaonan Zhang <xiaonanx.zhang@intel.com>

- Tested Commit: Pablo
- OS: Fedora20 3.15.8-200.fc20.x86_64
- GCC: gcc version 4.8.3 20140624
- CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
- NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb]
- Default x86_64-native-linuxapp-gcc configuration
- Total 6 cases, 6 passed, 0 failed
- Test Environment setup

- Topology #1: Create 2VMs (Fedora 20, 64bit);for each VM, pass through one physical port(Niantic 82599) to VM, and also create one virtual device: vmxnet3 in VM. Between two VMs, use one vswitch to connect 2 vmxnet3. In summary, PF1 
               and vmxnet3A are in VM1; PF2 and vmxnet3B are in VM2.The traffic flow for l2fwd/l3fwd is as below:                            
               Ixia -> PF1 -> vmxnet3A -> vswitch -> vmxnet3B -> PF2 -> Ixia. 
- Topology #2: Create 1VM (Fedora 20, 64bit), on this VM, created 2 vmxnet3, called vmxnet3A, vmxnet3B; create 2 vswitch, vswitchA connecting PF1 and vmxnet3A, while vswitchB connecting PF2 and vmxnet3B. The traffic flow is as below:
               Ixia -> PF1 -> vswitchA -> vmxnet3A -> vmxnet3B -> vswitchB -> PF2 -> Ixia.

- Test Case1: L2fwd with Topology#1 
  Description: Set up topology#1(in prerequisite session), and bind PF1, PF2, Vmxnet3A, vmxnet3B to DPDK poll-mode driver (igb_uio).
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets. 
  Command / instruction:
                To run the l2fwd example in 2VMs:
                                ./build/l2fwd -c f -n 4 -- -p 0x3
- Test IXIA Flow prerequisite: Ixia port1 sends 5 packets to PF1, and the flow should have PF1's MAC as destination MAC. Check if ixia port2 have received the 5 packets.
  Expected test result:
                Passed

- Test Case2: L3fwd-VF with Topology#1
  Description: Set up topology#1(in prerequisite session), and bind PF1, PF2, Vmxnet3A, vmxnet3B to DPDK poll-mode driver (igb_uio)
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets.
  Command / instruction:
                To run the l3fwd-vf example in 2VMs:
                                ./build/l3fwd-vf -c 0x6 -n 4 -- -p 0x3 --config "(0,0,1),(1,0,2)"
- Test IXIA Flow prerequisite: Ixia port1 sends 5 packets to PF1, and the flow should have PF1's MAC as destination MAC and have 2.1.1.x as destination IP. Check if ixia port2 have received the 5 packets.
  Expected test result:
                Passed

- Test Case3: L2fwd with Topology#2
  Description: Set up topology#2(in prerequisite session), and bind vmxnet3A and vmxnet3B to DPDK poll-mode driver (igb_uio).
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets.
  Command / instruction:
                To run the l2fwd example in VM1:
                                ./build/l2fwd -c f -n 4 -- -p 0x3
- Test IXIA Flow prerequisite: Ixia port1 sends 5 packets to port0 (vmxnet3A), and the flow should have port0's MAC as destination MAC. Check if ixia port2 have received the 5 packets. Similar things need to be done at ixia port2.
  Expected test result:
                Passed

- Test Case4: L3fwd-VF with Topology#2
  Description: Set up topology#2(in prerequisite session), and bind vmxnet3A and vmxnet3B to DPDK poll-mode driver (igb_uio).  
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets.
  Command / instruction:
                To run the l3fwd-vf example in VM1:
                                ./build/l3fwd-vf -c 0x6 -n 4 -- -p 0x3 --config "(0,0,1),(1,0,2)"
- Test IXIA Flow prerequisite: Ixia port1 sends 5 packets to port0(vmxnet3A), and the flow should have port0's MAC as destination MAC and have 2.1.1.x as destination IP. Check if ixia port2 have received the 5 packets.

  Expected test result:
                Passed

- Test Case5: Timer test with Topology#2
  Description: Set up topology#2(in prerequisite session), and bind vmxnet3A and vmxnet3B to DPDK poll-mode driver (igb_uio).
  Command / instruction:
                Build timer sample and run the sample:
                                ./build/timer -c f -n 4
- Test IXIA Flow prerequisite: N.A.
		
  Expected test result:
                Passed

- Test Case6: Testpmd basic with Topology#2
  Description: Set up topology#2(in prerequisite session), and bind vmxnet3A and vmxnet3B to DPDK poll-mode driver (igbuio).
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets.
  Command / instruction:
                Run testpmd(e.g:/x86_64-native-linuxapp-gcc/app/testpmd) with below command lines:
                                ./testpmd -c f -n 4 -- --txqflags=0xf01 -i
		    Clean environment and start the forwarding. Need check the port information and clear port statics by using below commands:
                Testpmd>show port info all
                Testpmd>clear port stats all
                Testpmd>show port stats all
                Testpmd>set fwd mac
                Testpmd>start
- Test IXIA Flow prerequisite: N.A.
  Expected test result:
                Passed


-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of De Lara Guarch, Pablo
Sent: Friday, December 12, 2014 3:57 AM
To: De Lara Guarch, Pablo; dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] vmxnet3: set txq_flags in default TX conf



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Pablo de Lara
> Sent: Thursday, December 11, 2014 5:08 PM
> To: dev@dpdk.org
> Cc: root
> Subject: [dpdk-dev] [PATCH] vmxnet3: set txq_flags in default TX conf
> 
> Since commit fbde27f19ab8f "get default Rx/Tx configuration from dev info",
> a default RX/TX configuration can be used for all PMDs.
> In case of vmxnet3, the whole structure was zeroed and not filled out.
> The PMD does not support multi segments or offload functions,
> so txq_flags should have those flags set.
> 
> Signed-off-by: root <root@sie-lab-214-174.ir.intel.com>

Self-NACK. Wrong signed-off.

> ---
>  lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> index 963a8a5..ef0af16 100644
> --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> @@ -642,6 +642,9 @@
> vmxnet3_dev_info_get(__attribute__((unused))struct rte_eth_dev *dev,
> struct rte_
>  	dev_info->min_rx_bufsize = 1518 + RTE_PKTMBUF_HEADROOM;
>  	dev_info->max_rx_pktlen = 16384; /* includes CRC, cf MAXFRS
> register */
>  	dev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS;
> +
> +	dev_info->default_txconf.txq_flags =
> ETH_TXQ_FLAGS_NOMULTSEGS |
> +
> 	ETH_TXQ_FLAGS_NOOFFLOADS;
>  }
> 
>  /* return 0 means link status changed, -1 means not changed */
> --
> 1.7.4.1
  
Zhang, XiaonanX Dec. 17, 2014, 8:59 a.m. UTC | #3
Hi Pablo and Thomas,
   We use latest package DPDK-1.8-rc5, and we found some compiled errors,

Our Test Environment setup as follows:

- OS:  Fedora20 3.11.10-301.fc20.x86_64
- GCC: gcc version 4.8.2 20131017 (Red Hat 4.8.2-1)
- CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
- NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb]
- Default x86_64-native-linuxapp-gcc configuration


main.o: In function `signal_handler':
main.c:(.text+0x7): undefined reference to `rte_eth_dev_count'
main.c:(.text+0x1a): undefined reference to `rte_exit'
main.c:(.text+0x4a): undefined reference to `rte_eth_dev_close'
main.o: In function `rte_pktmbuf_free':
main.c:(.text+0x9c): undefined reference to `per_lcore__lcore_id'
main.c:(.text+0x2df): undefined reference to `rte_eal_has_hugepages'
main.c:(.text+0x354): undefined reference to `per_lcore__lcore_id'
main.c:(.text+0x6fa): undefined reference to `rte_mem_virt2phy'
main.o: In function `send_burst':
main.c:(.text+0x797): undefined reference to `rte_eth_devices'
main.c:(.text+0x79d): undefined reference to `rte_eth_devices'
main.o: In function `main_loop':
main.c:(.text+0x819): undefined reference to `rte_get_tsc_hz'
main.c:(.text+0x820): undefined reference to `per_lcore__lcore_id'
main.c:(.text+0x870): undefined reference to `rte_logs'
main.c:(.text+0x879): undefined reference to `rte_logs'
main.c:(.text+0x893): undefined reference to `rte_log'
main.c:(.text+0x8aa): undefined reference to `rte_logs'
main.c:(.text+0x8b3): undefined reference to `rte_logs'
main.c:(.text+0x8cf): undefined reference to `rte_log'
main.c:(.text+0x8e7): undefined reference to `rte_logs'
main.c:(.text+0x8fa): undefined reference to `rte_logs'
main.c:(.text+0x916): undefined reference to `rte_log'
main.c:(.text+0x952): undefined reference to `rte_cycles_vmware_tsc_map'
main.c:(.text+0x9c3): undefined reference to `rte_eth_devices'
main.c:(.text+0x9d6): undefined reference to `rte_eth_devices'
main.c:(.text+0xe33): undefined reference to `rte_eth_devices'
main.o: In function `main':
main.c:(.text.startup+0x34): undefined reference to `rte_eal_init'
main.c:(.text.startup+0x10d): undefined reference to `rte_exit'
main.c:(.text.startup+0x1f9): undefined reference to `rte_strsplit'
main.c:(.text.startup+0x33c): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0x360): undefined reference to `lcore_config'
main.c:(.text.startup+0x443): undefined reference to `rte_eth_dev_count'
main.c:(.text.startup+0x4cb): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0x5dd): undefined reference to `rte_eth_dev_configure'
main.c:(.text.startup+0x600): undefined reference to `rte_eth_macaddr_get'
main.c:(.text.startup+0x633): undefined reference to `lcore_config'
main.c:(.text.startup+0x6fb): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0x754): undefined reference to `rte_pktmbuf_pool_init'
main.c:(.text.startup+0x786): undefined reference to `rte_pktmbuf_init'
main.c:(.text.startup+0x78b): undefined reference to `rte_mempool_create'
main.c:(.text.startup+0x7de): undefined reference to `rte_lpm_create'
main.c:(.text.startup+0x843): undefined reference to `rte_lpm_add'
main.c:(.text.startup+0x89c): undefined reference to `rte_exit'
main.c:(.text.startup+0x8a1): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0x8be): undefined reference to `lcore_config'
main.c:(.text.startup+0x8e3): undefined reference to `rte_eth_dev_info_get'
main.c:(.text.startup+0x90e): undefined reference to `rte_eth_tx_queue_setup'
main.c:(.text.startup+0x931): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0x95a): undefined reference to `lcore_config'
main.c:(.text.startup+0x981): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0xa17): undefined reference to `rte_eth_rx_queue_setup'
main.c:(.text.startup+0xaaf): undefined reference to `rte_eth_dev_start'
main.c:(.text.startup+0xae3): undefined reference to `rte_eal_mp_remote_launch'
main.c:(.text.startup+0xaea): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0xaf8): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0xb14): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0xb22): undefined reference to `rte_eal_get_configuration'
main.c:(.text.startup+0xb35): undefined reference to `rte_eal_wait_lcore'
main.c:(.text.startup+0xb77): undefined reference to `rte_exit'
main.c:(.text.startup+0xbb9): undefined reference to `rte_exit'
main.c:(.text.startup+0xbd5): undefined reference to `rte_exit'
main.c:(.text.startup+0xbef): undefined reference to `rte_exit'
main.c:(.text.startup+0xc04): undefined reference to `rte_exit'
main.o:main.c:(.text.startup+0xc44): more undefined references to `rte_exit' follow
collect2: error: ld returned 1 exit status
make[1]: *** [l3fwd-vf] Error 1
make: *** [all] Error 2



Best Regards
Xiaonan



























-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of De Lara Guarch, Pablo
Sent: Friday, December 12, 2014 3:57 AM
To: De Lara Guarch, Pablo; dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] vmxnet3: set txq_flags in default TX conf



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Pablo de Lara
> Sent: Thursday, December 11, 2014 5:08 PM
> To: dev@dpdk.org
> Cc: root
> Subject: [dpdk-dev] [PATCH] vmxnet3: set txq_flags in default TX conf
> 
> Since commit fbde27f19ab8f "get default Rx/Tx configuration from dev info",
> a default RX/TX configuration can be used for all PMDs.
> In case of vmxnet3, the whole structure was zeroed and not filled out.
> The PMD does not support multi segments or offload functions,
> so txq_flags should have those flags set.
> 
> Signed-off-by: root <root@sie-lab-214-174.ir.intel.com>

Self-NACK. Wrong signed-off.

> ---
>  lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> index 963a8a5..ef0af16 100644
> --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
> @@ -642,6 +642,9 @@
> vmxnet3_dev_info_get(__attribute__((unused))struct rte_eth_dev *dev,
> struct rte_
>  	dev_info->min_rx_bufsize = 1518 + RTE_PKTMBUF_HEADROOM;
>  	dev_info->max_rx_pktlen = 16384; /* includes CRC, cf MAXFRS
> register */
>  	dev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS;
> +
> +	dev_info->default_txconf.txq_flags =
> ETH_TXQ_FLAGS_NOMULTSEGS |
> +
> 	ETH_TXQ_FLAGS_NOOFFLOADS;
>  }
> 
>  /* return 0 means link status changed, -1 means not changed */
> --
> 1.7.4.1
  
Thomas Monjalon Dec. 17, 2014, 11:45 a.m. UTC | #4
2014-12-17 08:59, Zhang, XiaonanX:
> Hi Pablo and Thomas,
>    We use latest package DPDK-1.8-rc5, and we found some compiled errors,
> 
> Our Test Environment setup as follows:
> 
> - OS:  Fedora20 3.11.10-301.fc20.x86_64
> - GCC: gcc version 4.8.2 20131017 (Red Hat 4.8.2-1)
> - CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
> - NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb]
> - Default x86_64-native-linuxapp-gcc configuration
> 
> 
> main.o: In function `signal_handler':
> main.c:(.text+0x7): undefined reference to `rte_eth_dev_count'
> main.c:(.text+0x1a): undefined reference to `rte_exit'
> main.c:(.text+0x4a): undefined reference to `rte_eth_dev_close'
> main.o: In function `rte_pktmbuf_free':
> main.c:(.text+0x9c): undefined reference to `per_lcore__lcore_id'
> main.c:(.text+0x2df): undefined reference to `rte_eal_has_hugepages'
> main.c:(.text+0x354): undefined reference to `per_lcore__lcore_id'
> main.c:(.text+0x6fa): undefined reference to `rte_mem_virt2phy'
> main.o: In function `send_burst':
> main.c:(.text+0x797): undefined reference to `rte_eth_devices'
> main.c:(.text+0x79d): undefined reference to `rte_eth_devices'
> main.o: In function `main_loop':
> main.c:(.text+0x819): undefined reference to `rte_get_tsc_hz'
> main.c:(.text+0x820): undefined reference to `per_lcore__lcore_id'
> main.c:(.text+0x870): undefined reference to `rte_logs'
> main.c:(.text+0x879): undefined reference to `rte_logs'
> main.c:(.text+0x893): undefined reference to `rte_log'
> main.c:(.text+0x8aa): undefined reference to `rte_logs'
> main.c:(.text+0x8b3): undefined reference to `rte_logs'
> main.c:(.text+0x8cf): undefined reference to `rte_log'
> main.c:(.text+0x8e7): undefined reference to `rte_logs'
> main.c:(.text+0x8fa): undefined reference to `rte_logs'
> main.c:(.text+0x916): undefined reference to `rte_log'
> main.c:(.text+0x952): undefined reference to `rte_cycles_vmware_tsc_map'
> main.c:(.text+0x9c3): undefined reference to `rte_eth_devices'
> main.c:(.text+0x9d6): undefined reference to `rte_eth_devices'
> main.c:(.text+0xe33): undefined reference to `rte_eth_devices'
> main.o: In function `main':
> main.c:(.text.startup+0x34): undefined reference to `rte_eal_init'
> main.c:(.text.startup+0x10d): undefined reference to `rte_exit'
> main.c:(.text.startup+0x1f9): undefined reference to `rte_strsplit'
> main.c:(.text.startup+0x33c): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0x360): undefined reference to `lcore_config'
> main.c:(.text.startup+0x443): undefined reference to `rte_eth_dev_count'
> main.c:(.text.startup+0x4cb): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0x5dd): undefined reference to `rte_eth_dev_configure'
> main.c:(.text.startup+0x600): undefined reference to `rte_eth_macaddr_get'
> main.c:(.text.startup+0x633): undefined reference to `lcore_config'
> main.c:(.text.startup+0x6fb): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0x754): undefined reference to `rte_pktmbuf_pool_init'
> main.c:(.text.startup+0x786): undefined reference to `rte_pktmbuf_init'
> main.c:(.text.startup+0x78b): undefined reference to `rte_mempool_create'
> main.c:(.text.startup+0x7de): undefined reference to `rte_lpm_create'
> main.c:(.text.startup+0x843): undefined reference to `rte_lpm_add'
> main.c:(.text.startup+0x89c): undefined reference to `rte_exit'
> main.c:(.text.startup+0x8a1): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0x8be): undefined reference to `lcore_config'
> main.c:(.text.startup+0x8e3): undefined reference to `rte_eth_dev_info_get'
> main.c:(.text.startup+0x90e): undefined reference to `rte_eth_tx_queue_setup'
> main.c:(.text.startup+0x931): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0x95a): undefined reference to `lcore_config'
> main.c:(.text.startup+0x981): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0xa17): undefined reference to `rte_eth_rx_queue_setup'
> main.c:(.text.startup+0xaaf): undefined reference to `rte_eth_dev_start'
> main.c:(.text.startup+0xae3): undefined reference to `rte_eal_mp_remote_launch'
> main.c:(.text.startup+0xaea): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0xaf8): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0xb14): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0xb22): undefined reference to `rte_eal_get_configuration'
> main.c:(.text.startup+0xb35): undefined reference to `rte_eal_wait_lcore'
> main.c:(.text.startup+0xb77): undefined reference to `rte_exit'
> main.c:(.text.startup+0xbb9): undefined reference to `rte_exit'
> main.c:(.text.startup+0xbd5): undefined reference to `rte_exit'
> main.c:(.text.startup+0xbef): undefined reference to `rte_exit'
> main.c:(.text.startup+0xc04): undefined reference to `rte_exit'
> main.o:main.c:(.text.startup+0xc44): more undefined references to `rte_exit' follow
> collect2: error: ld returned 1 exit status
> make[1]: *** [l3fwd-vf] Error 1
> make: *** [all] Error 2

Fixed: http://dpdk.org/browse/dpdk/commit/?id=0731b5e07c42115
  

Patch

diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
index 963a8a5..ef0af16 100644
--- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
@@ -642,6 +642,9 @@  vmxnet3_dev_info_get(__attribute__((unused))struct rte_eth_dev *dev, struct rte_
 	dev_info->min_rx_bufsize = 1518 + RTE_PKTMBUF_HEADROOM;
 	dev_info->max_rx_pktlen = 16384; /* includes CRC, cf MAXFRS register */
 	dev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS;
+
+	dev_info->default_txconf.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS |
+						ETH_TXQ_FLAGS_NOOFFLOADS;
 }
 
 /* return 0 means link status changed, -1 means not changed */