]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
igbvf: Fix trunk vlan
authorGreg Rose <gregory.v.rose@intel.com>
Sat, 27 Aug 2011 06:24:59 +0000 (06:24 +0000)
committerJoe Jin <joe.jin@oracle.com>
Thu, 17 May 2012 13:21:11 +0000 (21:21 +0800)
Changes to clean up the VLAN Rx path by Jiri Pirko broke trunk VLAN.
Trunk VLANs in a VF driver are those set using

"ip link set <pfdev> vf <n> <vlanid>"

(cherry picked from commit 4d2d55ac94f52ea8787270ec29579ced83f5f96b)
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
CC: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/igbvf/netdev.c

index cf26ffd580ff48722acae1d736cafa58af0e1413..e404209204cd3d0cb0ab9697abf1d5617ad8d635 100644 (file)
@@ -102,8 +102,8 @@ static void igbvf_receive_skb(struct igbvf_adapter *adapter,
 {
        if (status & E1000_RXD_STAT_VP) {
                u16 vid = le16_to_cpu(vlan) & E1000_RXD_SPC_VLAN_MASK;
-
-               __vlan_hwaccel_put_tag(skb, vid);
+               if (test_bit(vid, adapter->active_vlans))
+                       __vlan_hwaccel_put_tag(skb, vid);
        }
        netif_receive_skb(skb);
 }