hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/bridge/br_private_tunnel.h
....@@ -1,13 +1,9 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 /*
23 * Bridge per vlan tunnels
34 *
45 * Authors:
56 * Roopa Prabhu <roopa@cumulusnetworks.com>
6
- *
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the GNU General Public License
9
- * as published by the Free Software Foundation; either version
10
- * 2 of the License, or (at your option) any later version.
117 */
128
139 #ifndef _BR_PRIVATE_TUNNEL_H
....@@ -22,8 +18,8 @@
2218 /* br_netlink_tunnel.c */
2319 int br_parse_vlan_tunnel_info(struct nlattr *attr,
2420 struct vtunnel_info *tinfo);
25
-int br_process_vlan_tunnel_info(struct net_bridge *br,
26
- struct net_bridge_port *p,
21
+int br_process_vlan_tunnel_info(const struct net_bridge *br,
22
+ const struct net_bridge_port *p,
2723 int cmd,
2824 struct vtunnel_info *tinfo_curr,
2925 struct vtunnel_info *tinfo_last,
....@@ -31,13 +27,18 @@
3127 int br_get_vlan_tunnel_info_size(struct net_bridge_vlan_group *vg);
3228 int br_fill_vlan_tunnel_info(struct sk_buff *skb,
3329 struct net_bridge_vlan_group *vg);
30
+bool vlan_tunid_inrange(const struct net_bridge_vlan *v_curr,
31
+ const struct net_bridge_vlan *v_last);
32
+int br_vlan_tunnel_info(const struct net_bridge_port *p, int cmd,
33
+ u16 vid, u32 tun_id, bool *changed);
3434
3535 #ifdef CONFIG_BRIDGE_VLAN_FILTERING
3636 /* br_vlan_tunnel.c */
3737 int vlan_tunnel_init(struct net_bridge_vlan_group *vg);
3838 void vlan_tunnel_deinit(struct net_bridge_vlan_group *vg);
39
-int nbp_vlan_tunnel_info_delete(struct net_bridge_port *port, u16 vid);
40
-int nbp_vlan_tunnel_info_add(struct net_bridge_port *port, u16 vid, u32 tun_id);
39
+int nbp_vlan_tunnel_info_delete(const struct net_bridge_port *port, u16 vid);
40
+int nbp_vlan_tunnel_info_add(const struct net_bridge_port *port, u16 vid,
41
+ u32 tun_id);
4142 void nbp_vlan_tunnel_info_flush(struct net_bridge_port *port);
4243 void vlan_tunnel_info_del(struct net_bridge_vlan_group *vg,
4344 struct net_bridge_vlan *vlan);
....@@ -52,13 +53,13 @@
5253 return 0;
5354 }
5455
55
-static inline int nbp_vlan_tunnel_info_delete(struct net_bridge_port *port,
56
+static inline int nbp_vlan_tunnel_info_delete(const struct net_bridge_port *port,
5657 u16 vid)
5758 {
5859 return 0;
5960 }
6061
61
-static inline int nbp_vlan_tunnel_info_add(struct net_bridge_port *port,
62
+static inline int nbp_vlan_tunnel_info_add(const struct net_bridge_port *port,
6263 u16 vid, u32 tun_id)
6364 {
6465 return 0;