[dpdk-dev] Problems with SR-IOV and transparent vlan under DPDK
Tom Kiely
tkiely at brocade.com
Thu Nov 26 23:27:14 CET 2015
Hi,
I wonder if anyone might have advice in relation to a major problem
we're encountering.
We have an SR-IOV setup on Debian 8 with 4 VFs. Each VF is configured
with transparent vlan 1000.
We have 4 VMs via KVM. 2xCentos (C1, C2) and 2xDebian8 (VR1, VR2) with
DPDK based dataplane.
C1 can ping correctly to C2.
However, when C1 pings VR2, it fails because the received packets on VR2
are tagged with the "transparent" vlan 1000.
VR2 is not configured for vlans and discards the packets.
All VMs are configured identically from the KVM perspective. SR-IOV VFs
are attached using:
"virsh attach-device <domain> <xmlfile>"
where xmlfile is of the form:
<interface type='hostdev' managed='yes'>
<source>
<address type='pci' domain='0' bus='5' slot='16' function='3'/>
</source>
<vlan>
<tag id='1000'/>
</vlan>
</interface>
"ip link show" shows the various VFs with the associated vlans.
$ ip link | grep vlan
vf 0 MAC 52:54:00:68:cf:67, vlan 1000, spoof checking off,
link-state auto
vf 1 MAC 52:54:00:33:22:1a, vlan 1000, spoof checking off,
link-state auto
vf 2 MAC ba:10:05:10:00:03, vlan 1000, spoof checking off,
link-state auto
vf 3 MAC ba:10:05:10:00:04, vlan 1000, spoof checking off,
link-state auto
vf 0 MAC 52:54:00:fe:e0:6e, vlan 1000, spoof checking off,
link-state auto
vf 1 MAC 52:54:00:9c:f8:96, vlan 1000, spoof checking off,
link-state auto
vf 2 MAC ba:10:05:10:01:03, vlan 1000, spoof checking off,
link-state auto
vf 3 MAC ba:10:05:10:01:04, vlan 1000, spoof checking off,
link-state auto
Wireshark on the Centos VMs show the correct packets being received but
show the packets with the incorrect vlan header on the DPDK based VR1/2.
So my question is: How should DPDK deal with the transparent vlan
handling ? Where should it be notifying the hardware to apply and strip
the transparent vlan tags on traffic from and to the VMs ?
Any insights gratefuly received.
Thanks,
Tom
More information about the dev
mailing list