diff options
author | Roopa Prabhu <roopa@cumulusnetworks.com> | 2017-01-31 22:59:55 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-03 15:21:22 -0500 |
commit | 11538d039ac6efcf4f1a6c536e1b87cd3668a9fd (patch) | |
tree | 48288a17219c037942267db3c6c469cf47bf7ecb /net/bridge/br_private.h | |
parent | efa5356b0d9753b9d7e63e41459eba106cce30f3 (diff) | |
download | op-kernel-dev-11538d039ac6efcf4f1a6c536e1b87cd3668a9fd.zip op-kernel-dev-11538d039ac6efcf4f1a6c536e1b87cd3668a9fd.tar.gz |
bridge: vlan dst_metadata hooks in ingress and egress paths
- ingress hook:
- if port is a tunnel port, use tunnel info in
attached dst_metadata to map it to a local vlan
- egress hook:
- if port is a tunnel port, use tunnel info attached to
vlan to set dst_metadata on the skb
CC: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_private.h')
-rw-r--r-- | net/bridge/br_private.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 61de90f..40177df 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -775,6 +775,7 @@ bool br_allowed_egress(struct net_bridge_vlan_group *vg, const struct sk_buff *skb); bool br_should_learn(struct net_bridge_port *p, struct sk_buff *skb, u16 *vid); struct sk_buff *br_handle_vlan(struct net_bridge *br, + const struct net_bridge_port *port, struct net_bridge_vlan_group *vg, struct sk_buff *skb); int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags); @@ -874,6 +875,7 @@ static inline bool br_should_learn(struct net_bridge_port *p, } static inline struct sk_buff *br_handle_vlan(struct net_bridge *br, + const struct net_bridge_port *port, struct net_bridge_vlan_group *vg, struct sk_buff *skb) { |