1 Reply Latest reply on Jun 10, 2014 2:28 PM by Patrick_Kutch

    Intel 82599 ES  SR-IOV  vlan support

    Atulya

      Hi,

      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.

      Thx,

      Atulya

        • 1. Re: Intel 82599 ES  SR-IOV  vlan support
          Patrick_Kutch

          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.