[dpdk-dev] VF of a X520 card does not process VLAN packets

Eelco Chaudron echaudro at redhat.com
Tue Jan 22 14:33:41 CET 2019


Hi Konstantin,

Thanks for your reply…

Yes adding the VLAN to the VF from the kernel side will work, however, 
this is a different behaviour than the XL710.

The XL710 will allow all VLANs to pass through once the PMD takes 
control of the VF.

The real use case is using this VF interface trough Open vSwitch which 
needs to see all packets regardless of the VLAN.
It does not make sense to create 4K VLANs through the kernel to get this 
working.

Looking forward to your reply…

Cheers,

Eelco



On 18 Jan 2019, at 12:25, Ananyev, Konstantin wrote:

> Hi
> It’s been while since I looked at it last time,
> but shouldn’t you assign desired vlan tag to the VF first:
> ip link set <device> vf <num> vlan <num>
> ?
> Konstantin
>
> From: Eelco Chaudron [mailto:echaudro at redhat.com]
> Sent: Thursday, January 3, 2019 4:42 PM
> To: Lu, Wenzhuo <wenzhuo.lu at intel.com>; Ananyev, Konstantin 
> <konstantin.ananyev at intel.com>
> Cc: dev <dev at dpdk.org>
> Subject: Re: [dpdk-dev] VF of a X520 card does not process VLAN 
> packets
>
>
> Hi maintainers, any feedback on the below?
>
> Thanks,
>
> Eelco
>
> On 18 Dec 2018, at 12:06, Eelco Chaudron wrote:
>
> Hi,
>
> I’m assigning a VF of an X520 card for DPDK/testpmd/OVS but it's not 
> accepting tagged VLAN packets (it does accept tag 0). Is this a known 
> bug/limitation of the 82599ES chipset?
>
> This is how I've tested it:
>
> $ echo 1 > /sys/bus/pci/devices/0000:05:00.0/sriov_numvfs
> $driverctl -v set-override 0000:05:10.0 vfio-pci
> $./testpmd -c 7 -n 4 --socket-mem 2048,0 -w 0000:05:10.0 -- \
> --burst 64 -i --rxq=1 --txq=1 --rxd=4096 --txd=1024 \
> —coremask=6 --auto-start --port-topology=chained
> EAL: Detected 28 lcore(s)
> EAL: Detected 1 NUMA nodes
> EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
> ...
> testpmd>
>
> I’m sending broadcast ARP packets:
>
> Ethernet II, Src: 04:f4:bc:43:e1:00 (04:f4:bc:43:e1:00), Dst: 
> ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
> Destination: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
> Address: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
> .... ..1. .... .... .... .... = LG bit: Locally administered address 
> (this is NOT the factory default)
> .... ...1 .... .... .... .... = IG bit: Group address 
> (multicast/broadcast)
> Source: 04:f4:bc:43:e1:00 (04:f4:bc:43:e1:00)
> Address: 04:f4:bc:43:e1:00 (04:f4:bc:43:e1:00)
> .... ..0. .... .... .... .... = LG bit: Globally unique address 
> (factory default)
> .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
> Type: 802.1Q Virtual LAN (0x8100)
> 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 10
> 000. .... .... .... = Priority: Best Effort (default) (0)
> ...0 .... .... .... = CFI: Canonical (0)
> .... 0000 0000 1010 = ID: 10
> Type: ARP (0x0806)
> Padding: 2e2f303132333435363738393a3b
> Trailer: 3c3d3e3f404142434445464748494a4b4c4d4e4f50515253...
> Address Resolution Protocol (request/gratuitous ARP)
> Hardware type: Ethernet (1)
> Protocol type: IP (0x0800)
> Hardware size: 6
> Protocol size: 4
> Opcode: request (1)
> [Is gratuitous: True]
> Sender MAC address: 00:00:00:00:00:00 (00:00:00:00:00:00)
> Sender IP address: 0.0.0.0 (0.0.0.0)
> Target MAC address: 00:00:00:00:00:00 (00:00:00:00:00:00)
> Target IP address: 0.0.0.0 (0.0.0.0)
>
> No traffic is received, if you replace tag 10 with 0, packets are 
> received.
>
> Note that this is a simple reproducer with testpmd, but it's reported 
> as part of an OVS integration. This works fine on the physical port, 
> or with a VF on an XL710 card.
>
> Any input appreciated.
>
> Thanks,
>
> Eelco




More information about the dev mailing list