summaryrefslogtreecommitdiff
path: root/net/bridge/br_private_tunnel.h
diff options
context:
space:
mode:
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>2020-03-17 14:08:35 +0200
committerDavid S. Miller <davem@davemloft.net>2020-03-17 22:47:12 -0700
commit188c67dd1906eea5542268e4513ad6253fbf9297 (patch)
treed0d1aee72ee428449202729f6ed86d4e9babc551 /net/bridge/br_private_tunnel.h
parent53e96632ab934b28d6237c85b851f09e1595b76f (diff)
net: bridge: vlan options: add support for tunnel id dumping
Add a new option - BRIDGE_VLANDB_ENTRY_TUNNEL_ID which is used to dump the tunnel id mapping. Since they're unique per vlan they can enter a vlan range if they're consecutive, thus we can calculate the tunnel id range map simply as: vlan range end id - vlan range start id. The starting point is the tunnel id in BRIDGE_VLANDB_ENTRY_TUNNEL_ID. This is similar to how the tunnel entries can be created in a range via the old API (a vlan range maps to a tunnel range). Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_private_tunnel.h')
-rw-r--r--net/bridge/br_private_tunnel.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_private_tunnel.h b/net/bridge/br_private_tunnel.h
index a9b818fc8b6c..b27a0c0371f2 100644
--- a/net/bridge/br_private_tunnel.h
+++ b/net/bridge/br_private_tunnel.h
@@ -43,6 +43,8 @@ int br_handle_ingress_vlan_tunnel(struct sk_buff *skb,
struct net_bridge_vlan_group *vg);
int br_handle_egress_vlan_tunnel(struct sk_buff *skb,
struct net_bridge_vlan *vlan);
+bool vlan_tunid_inrange(const struct net_bridge_vlan *v_curr,
+ const struct net_bridge_vlan *v_last);
#else
static inline int vlan_tunnel_init(struct net_bridge_vlan_group *vg)
{