Skip to contentSkip to conversation

Problems with SR-IOV and transparent vlan under DPDK

DISCUSSION Tom Kiely 1 participant 1 message Nov 26, 2015

lore
Share & tools
lore

Tom Kiely

author
#0 lore raw

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