2 Replies Latest reply on Oct 6, 2010 2:07 PM by bhal

    IXGBE Stripping VLAN on Inbound Packets

    jgalgay

      I am using an Intel 10 Gigabit E10G42AFDA with an 82598EB controller.  I am running the newest driver 2.0.84.9-NAPI on an Ubuntu 9.10 Server with the 2.6.33.5 kernel patched with RT-Extensions rt23.

       

      The physical port is connected to an ethernet swicth set to TRUNK mode.  I am running a utility that will set VLANs for packets according to the Virtual Machine sending the traffic.

       

      All packets leave the server / nic properly 802.1Q tagged - however all inbound packets arrive to eth1 without 802.1Q tags ... they are being stripped by the driver.

       

      This has been verified with a wireshark capture that clearly shows all packets on wire in both directions are  properly 802.1Q tagged.

       

      I know that the driver has SRIOV support can provide VLAN services ... but I don't want those VLAN services ... I just want the packets to be passed as is ... with tag or without tag to the OS.

       

      Where are there instructions on the driver compilation or configuration to stop the VLAN stripping?  Thanks.

       

      John

        • 1. Re: IXGBE Stripping VLAN on Inbound Packets
          Ronch

          This has been discussed on the netdev kernel mail list a number of times and not just about the Intel Ethernet drivers.  It is fine for the drivers to strip the VLAN tags.  If you want to see the tags in the packets you need to enable promiscuous mode in the driver.  This is what something like Wireshark does to see everything in the actual packets.

           

          Hope this helps.

          • 2. Re: IXGBE Stripping VLAN on Inbound Packets
            bhal

            Patch the ixgbe driver:

             

            File: ixgbe_main.c

             

            Function: static int __devinit ixgbe_probe(struct pci_dev *pdev,
                             const struct pci_device_id *ent)

             

            Pacth:

             

            #if 0
                netdev->features = NETIF_F_SG |
                           NETIF_F_HW_CSUM |
                           NETIF_F_HW_VLAN_TX |
                           NETIF_F_HW_VLAN_RX |
                           NETIF_F_HW_VLAN_FILTER;
            #else
            /* 10-05-2010: Bhal patched this to allow VLAN Tags available to wireshark */
                netdev->features = NETIF_F_SG |
                           NETIF_F_HW_CSUM;
            #endif

             

             

            Hope that helps!

             

            Thanks,

            Bhal