|
@@ -80,6 +80,8 @@ static inline int is_vlan_dev(struct net_device *dev)
|
|
|
}
|
|
|
|
|
|
#define vlan_tx_tag_present(__skb) ((__skb)->vlan_tci & VLAN_TAG_PRESENT)
|
|
|
+#define vlan_tx_nonzero_tag_present(__skb) \
|
|
|
+ (vlan_tx_tag_present(__skb) && ((__skb)->vlan_tci & VLAN_VID_MASK))
|
|
|
#define vlan_tx_tag_get(__skb) ((__skb)->vlan_tci & ~VLAN_TAG_PRESENT)
|
|
|
|
|
|
#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
|
|
@@ -89,7 +91,7 @@ extern struct net_device *__vlan_find_dev_deep(struct net_device *real_dev,
|
|
|
extern struct net_device *vlan_dev_real_dev(const struct net_device *dev);
|
|
|
extern u16 vlan_dev_vlan_id(const struct net_device *dev);
|
|
|
|
|
|
-extern bool vlan_do_receive(struct sk_buff **skb, bool last_handler);
|
|
|
+extern bool vlan_do_receive(struct sk_buff **skb);
|
|
|
extern struct sk_buff *vlan_untag(struct sk_buff *skb);
|
|
|
|
|
|
extern int vlan_vid_add(struct net_device *dev, unsigned short vid);
|
|
@@ -120,10 +122,8 @@ static inline u16 vlan_dev_vlan_id(const struct net_device *dev)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static inline bool vlan_do_receive(struct sk_buff **skb, bool last_handler)
|
|
|
+static inline bool vlan_do_receive(struct sk_buff **skb)
|
|
|
{
|
|
|
- if (((*skb)->vlan_tci & VLAN_VID_MASK) && last_handler)
|
|
|
- (*skb)->pkt_type = PACKET_OTHERHOST;
|
|
|
return false;
|
|
|
}
|
|
|
|