Hi,

We are porting our smallcell gateway to x86 based virtualized platform and
facing some weird issue with VLAN implementation. Thanks in advance for any
suggestions or resolution.


Host environment: RHEL 7.1
Guest environment: RHEL 6.2 (kernel 2.6.32-642)
DPDK version: 1.7
NIC used: 82599ES 10-Gigabit SFI/SFP+
PF Driver on the host: ixgbe
VF Driver on the host: vfio-pci
Driver on the guest bind to the VF devices: igb_uio

*Issue -1: When no VLAN ID is configured on the Host VF*
- The DPDK application send VLAN tagged traffic (ARP request) and which is
received at the destination.
- Destination sends VLAN tagged ARP Reply in return.
- ARP Reply packets are not received at the ports on the Guest.
- We observe that the ARP Reply is received by the PF drivers on the Host,
but not received at the VF ports on the Guest.
- We have tested with 'rxmode' parameter hw_vlan_strip ON and OFF on the
DPDK app, but both yield the same behavior of not receiving VLAN tagged
packets.
- We observed that non-VLAN traffic flow is working seamless on the SR-IOV
Guest VFs
- We also observed that when we do not run DPDK app and unbind the Guest
VFs, thus to make the Guest OS kernel process the rx & tx, then traffic
flow is seamless with or without VLAN.

*Workaround we have found: Set VLAN id on Host VF, strip off VLAN tag
before tx_burst*

This workaround works well for our VLAN traffic but leads us to a design
complexity.

*Issue-2: How to set multiple VLAN ids on a Host VF*
- I think for most of the packet processing nodes we would want to send
multiple VLAN traffic through one single VF port.
- Is there a way to set multiple VLAN ids on a Host VF?
- I do not see any such facility in SR-IOV
- Also is there a way to read what VLAN id is et on the Host VF, from the
guest, using DPDK RTE library APIs?

-- 
Regards,
-Hirok
@ Nokia Networks

Reply via email to