summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2010-10-21 15:30:42 +0400
committerDavid S. Miller <davem@davemloft.net>2010-10-22 06:59:31 +0400
commit0988c4c7fb5881377ec20a6452f739a722e97c6b (patch)
treeda72b7404960d912b7646a7749ac5829e30d96cd
parent2198a10b501fd4443430cb17e065a9e859cc58c9 (diff)
downloadlinux-0988c4c7fb5881377ec20a6452f739a722e97c6b.tar.xz
vlan: Calling vlan_hwaccel_do_receive() is always valid.
It is now acceptable to receive vlan tagged packets at any time, even if CONFIG_VLAN_8021Q is not set. This means that calling vlan_hwaccel_do_receive() should not result in BUG() but rather just behave as if there were no vlan devices configured. Reported-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Jesse Gross <jesse@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/linux/if_vlan.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
index a0d9786c202d..c2f3a72712ce 100644
--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -168,7 +168,8 @@ static inline int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp,
static inline bool vlan_hwaccel_do_receive(struct sk_buff **skb)
{
- BUG();
+ if ((*skb)->vlan_tci & VLAN_VID_MASK)
+ (*skb)->pkt_type = PACKET_OTHERHOST;
return false;
}