Ethernet Products
Determine ramifications of Intel® Ethernet products and technologies
4979 Discussions

Intel 82599 ES SR-IOV vlan support



Our topology is :

Spirent <->Ubuntu 12.04 Server <-> our application within VM where VF is directly attached.

on VF interface , created vlan interface and spirent has also also vlan interface.

NIC : Intel 82599 ES

IXGBE Version : 3.15.1-k

IXGBEVF driver version :2.7.12

By default, VF is not receiving any packet , even ARP Packet. After configuring vlan filtering from VF, it gets packet with stripped vlan tag.

There are couple of questions :

1. Is there any way to configure from VF, so PF doesn't filter any vlan , simply pass traffic to VF ? I checked Spec , it mentions about this and by default, it is enabled.

2. How to avoid stripping of vlan tag ? I changed accrording to spec but it stopped receiving any vlan packet.

3. Even I tried to add all vlans(1 to 4094) , but it doesn't work. it looks like only fixed entries(most likely 8) can be added .

Please let me know how to fix this problem from VF side, can't change PF code.



0 Kudos
2 Replies

Thanx for posting to our site. I asked my expert and he came back with the following:

Below is my recommendation:

  • User should tag frames with VLAN ID from within the VM.


    User can add multiple VLAN IDs to a single interface in the VM.
  • User should not tag VF frames from the host OS. This will


    ensure PF driver doesn't strip VLAN information.
  • Below is the procedure to configure VLANs in a VM.
    • Load 8021q kernel module if not already loaded.
      • "lsmod | grep 8021q will show if the module is loaded.
      • "modprobe 8021q On


        Red Hat Linux or equivalent navigate to /etc/sysconfig/network-scripts/
    • Assumption


      – User is configuring eth1 device for VLAN 110.
    • Create


      a file ifcfg-eth1.110
    • Sample


      file below:
      • # VLAN configuration


        for my eth1 with VLAN ID - 110 #
      • DEVICE=eth1.110
      • BOOTPROTO=none
      • ONBOOT=yes
      • IPADDR=x.x.x.x
      • NETMASK=y.y.y.y
      • USERCTL=no
      • NETWORK=x.x.x.0
      • VLAN=yes
    • "service network restart"

The above configuration will tag Ethernet frames with VLAN ID 110 from within the VM and will be passed on to the next hop with VLAN ID intact. PF driver will not strip the VLAN ID. On receive PF driver will pass the Ethernet frame to the VM with VLAN ID intact.

0 Kudos

i'm sorry,but allow me to continue asking question

hardware vlan filtering is enable by default,so on receive tag packect PF will switch the packect by vlan if not tag VF,PF will drop the packect,VM can't receive the packect.

i change the PF code ,SRIOV and not tag VF,disable vlan filtering,then PF pass the tag packect to VM normally

NIC:Intel x540

IXGBE Version : 4.2.1-k

IXGBEVF driver version :dpdk-16.11.4

Please let me know how to fix this problem from VF side, can't change PF code










0 Kudos