summaryrefslogtreecommitdiffstats
path: root/zebra/rt_netlink.h
diff options
context:
space:
mode:
authorSharath Ramamurthy <sramamurthy@nvidia.com>2021-07-27 09:47:52 +0200
committerStephen Worley <sworley@nvidia.com>2023-02-14 00:12:04 +0100
commit784d88aa14c115411ed21f6ac518ab1a8f9d27b7 (patch)
tree86c103be00f0442b205027ca2cc2f852275eac94 /zebra/rt_netlink.h
parentzebra: data structure changes for single vxlan device (diff)
downloadfrr-784d88aa14c115411ed21f6ac518ab1a8f9d27b7.tar.xz
frr-784d88aa14c115411ed21f6ac518ab1a8f9d27b7.zip
zebra: multiple vlan aware bridge datastructure changes and vxlan device iftype derivation from netlink
This change set introduces data structure changes required for multiple vlan aware bridge functionality. A new structure zebra_l2_bridge_if encapsulates the vlan to access_bd association of the bridge. A vlan_table hash_table is used to record each instance of the vlan to access_bd of the bridge via zebra_l2_bridge_vlan structure. vxlan iftype derivation: netlink attribute IFLA_VXLAN_COLLECT_METADATA is used to derive the iftype of the vxlan device. If the attribute is present, then the vxlan interface is treated as single vxlan device, otherwise it would default to traditional vxlan device. zebra_vxlan_check_readd_vtep, zebra_vxlan_dp_network_mac_add/del is modified to be vni aware. mac_fdb_read_for_bridge - is modified to be (vlan, bridge) aware Signed-off-by: Sharath Ramamurthy <sramamurthy@nvidia.com>
Diffstat (limited to 'zebra/rt_netlink.h')
-rw-r--r--zebra/rt_netlink.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/rt_netlink.h b/zebra/rt_netlink.h
index 8506367ae..f7e777ba8 100644
--- a/zebra/rt_netlink.h
+++ b/zebra/rt_netlink.h
@@ -92,7 +92,8 @@ extern int netlink_neigh_change(struct nlmsghdr *h, ns_id_t ns_id);
extern int netlink_macfdb_read(struct zebra_ns *zns);
extern int netlink_macfdb_read_for_bridge(struct zebra_ns *zns,
struct interface *ifp,
- struct interface *br_if);
+ struct interface *br_if,
+ vlanid_t vid);
extern int netlink_neigh_read(struct zebra_ns *zns);
extern int netlink_neigh_read_for_vlan(struct zebra_ns *zns,
struct interface *vlan_if);