Commit 71e415e4 authored by dingtianhong's avatar dingtianhong Committed by David S. Miller

vlan: make a new function vlan_dev_vlan_proto() and export

The vlan support 2 proto: 802.1q and 802.1ad, so make a new function
called vlan_dev_vlan_proto() which could return the vlan proto for
input dev.
Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5a6b9917
...@@ -110,6 +110,7 @@ extern struct net_device *__vlan_find_dev_deep(struct net_device *real_dev, ...@@ -110,6 +110,7 @@ extern struct net_device *__vlan_find_dev_deep(struct net_device *real_dev,
__be16 vlan_proto, u16 vlan_id); __be16 vlan_proto, u16 vlan_id);
extern struct net_device *vlan_dev_real_dev(const struct net_device *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 u16 vlan_dev_vlan_id(const struct net_device *dev);
extern __be16 vlan_dev_vlan_proto(const struct net_device *dev);
/** /**
* struct vlan_priority_tci_mapping - vlan egress priority mappings * struct vlan_priority_tci_mapping - vlan egress priority mappings
...@@ -216,6 +217,12 @@ static inline u16 vlan_dev_vlan_id(const struct net_device *dev) ...@@ -216,6 +217,12 @@ static inline u16 vlan_dev_vlan_id(const struct net_device *dev)
return 0; return 0;
} }
static inline __be16 vlan_dev_vlan_proto(const struct net_device *dev)
{
BUG();
return 0;
}
static inline u16 vlan_dev_get_egress_qos_mask(struct net_device *dev, static inline u16 vlan_dev_get_egress_qos_mask(struct net_device *dev,
u32 skprio) u32 skprio)
{ {
......
...@@ -106,6 +106,12 @@ u16 vlan_dev_vlan_id(const struct net_device *dev) ...@@ -106,6 +106,12 @@ u16 vlan_dev_vlan_id(const struct net_device *dev)
} }
EXPORT_SYMBOL(vlan_dev_vlan_id); EXPORT_SYMBOL(vlan_dev_vlan_id);
__be16 vlan_dev_vlan_proto(const struct net_device *dev)
{
return vlan_dev_priv(dev)->vlan_proto;
}
EXPORT_SYMBOL(vlan_dev_vlan_proto);
static struct sk_buff *vlan_reorder_header(struct sk_buff *skb) static struct sk_buff *vlan_reorder_header(struct sk_buff *skb)
{ {
if (skb_cow(skb, skb_headroom(skb)) < 0) if (skb_cow(skb, skb_headroom(skb)) < 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment