[dpdk-dev] vmxnet3 RX VLAN Strip offload incorrect behaviour

Padam Jeet Singh padam.singh at inventum.net
Mon Apr 9 08:21:50 CEST 2018


> On 06-Apr-2018, at 11:12 PM, Yong Wang <yongwang at vmware.com> wrote:
> 
> Padam,
> 
> As far as I know, this feature works.  What DPDK version did you use?

DPDK Version 17.05

>  Is there any port reconfiguration (stop/start/mtu change, etc) that could lose your vlan offload settings (a dump of the port config at runtime will be able to confirm this)?  Can you also post a snippet of packet capture of the vlan traffic received?
> 

It’s a standard configure followed by start. No MTU change/Stop. Here are the port configuration post the device start:

2018-04-09T05:37:45.332573+00:00 INFO inventum fpnas : APP: -- Ethernet Port Info (0) --
2018-04-09T05:37:45.332729+00:00 INFO inventum fpnas : APP:   Driver         net_vmxnet3
2018-04-09T05:37:45.332822+00:00 INFO inventum fpnas : APP:   if_index       0
2018-04-09T05:37:45.332926+00:00 INFO inventum fpnas : APP:   min_rx_bufsize 1646
2018-04-09T05:37:45.333015+00:00 INFO inventum fpnas : APP:   max_rx_pktlen  16384
2018-04-09T05:37:45.333102+00:00 INFO inventum fpnas : APP:   max_rx_queues supported 16
2018-04-09T05:37:45.333218+00:00 INFO inventum fpnas : APP:   max_tx_queues supported 8
2018-04-09T05:37:45.333305+00:00 INFO inventum fpnas : APP:   rx_queues configured 2
2018-04-09T05:37:45.333390+00:00 INFO inventum fpnas : APP:   tx_queues configured 2
2018-04-09T05:37:45.333475+00:00 INFO inventum fpnas : APP:   max_mac_addrs  1
2018-04-09T05:37:45.333560+00:00 INFO inventum fpnas : APP:   max_vfs        0
2018-04-09T05:37:45.333644+00:00 INFO inventum fpnas : APP:   max_vmdq_pools 0
2018-04-09T05:37:45.333728+00:00 INFO inventum fpnas : APP:   rx_offload_cap 29
2018-04-09T05:37:45.333832+00:00 INFO inventum fpnas : APP:   tx_offload_cap 45
2018-04-09T05:37:45.333944+00:00 INFO inventum fpnas : APP:   vlan_offload_flags 1


And the VLAN offload setting while the device is running (with the packet coming from the test PC):

vlan_offload_flag: 1


The configuration as is as follows:

[vmxnet3 based interface on VM with DPDK app] —— [ vswitch with VLAN 4095 and uplink using Intel igb based adaptor] —— [ test PC with VLAN interface ]

Packet sent by the PC (ARP packet):

Frame 1: 46 bytes on wire (368 bits), 46 bytes captured (368 bits)
Ethernet II, Src: 00:25:64:cf:f2:30, Dst: ff:ff:ff:ff:ff:ff
802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 105
Address Resolution Protocol (request)


If I redo the test with the same physical and vmware setup but instead of vmxnet3 I use e1000e emulation driver, all of this works fine. Packets come properly stripped of VLAN with vlan_tci fields set correctly.


> Yong 
> 
> On 4/6/18, 6:51 AM, "dev on behalf of Padam Jeet Singh" <dev-bounces at dpdk.org on behalf of padam.singh at inventum.net> wrote:
> 
>    Hi,
> 
>    When configuring the vmxnet3 based ethernet device, the RX VLAN Strip offload does not work as it usually does with other real NICs which support this function.
> 
>    When configuring with rxmode.hw_vlan_strip = 1, the ipackets statistic does not increase when a VLAN ether type frame is received on the port and it is also not received on queue RX.
>    However, when configuring rxmode.hw_vlan_strip = 0 ,the ipackets statistic increases as well as frames arrives with VLAN header.
> 
>    Though calling  rte_eth_dev_set_vlan_offload(port, ETH_VLAN_STRIP_OFFLOAD) returns a success, however VLAN stripping on RX does not work.
> 
>    TX VLAN INSERT offload on the other hand works just fine.
> 
>    Is this a bug in vmxnet3 driver of dpdk?
> 
>    Thanks,
>    Padam
> 



More information about the dev mailing list