summaryrefslogtreecommitdiffstats
path: root/zebra/zserv.h
diff options
context:
space:
mode:
authorvivek <vivek@cumulusnetworks.com>2017-05-15 07:44:13 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-12 18:29:25 +0200
commit2232a77c2bb35586fbdc8156e9c0781fc7020066 (patch)
treed3e6b25ba230f5212c1dc29d12ab0bc53a68f236 /zebra/zserv.h
parentzebra: MAC and Neighbor hash table definition (diff)
downloadfrr-2232a77c2bb35586fbdc8156e9c0781fc7020066.tar.xz
frr-2232a77c2bb35586fbdc8156e9c0781fc7020066.zip
zebra: MAC and Neighbor (ARP/ND) handling
Implement handling of MACs and Neighbors (ARP/ND entries) in zebra: - MAC and Neighbor database handlers - Read MACs and Neighbors from the kernel, when needed and create entries in zebra's MAC and Neighbor databases. - Handle add/update/delete notifications from the kernel for MACs and Neighbors and update zebra's database appropriately - Inform locally learnt MACs and Neighbors to client - Handle MACIP add/delete from client and install appriporiate entries into the kernel - Since Neighbor entries will be installed on an SVI, implement the needed mappings NOTE: kernel interface is only implemented for Linux/netlink Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/zserv.h')
-rw-r--r--zebra/zserv.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/zserv.h b/zebra/zserv.h
index c8f006d44..2d6f6fae7 100644
--- a/zebra/zserv.h
+++ b/zebra/zserv.h
@@ -107,6 +107,8 @@ struct zserv
u_int32_t bfd_client_reg_cnt;
u_int32_t vniadd_cnt;
u_int32_t vnidel_cnt;
+ u_int32_t macipadd_cnt;
+ u_int32_t macipdel_cnt;
time_t connect_time;
time_t last_read_time;
@@ -147,6 +149,11 @@ extern void hostinfo_get (void);
extern void rib_init (void);
extern void interface_list (struct zebra_ns *);
extern void route_read (struct zebra_ns *);
+extern void macfdb_read (struct zebra_ns *);
+extern void macfdb_read_for_bridge (struct zebra_ns *, struct interface *,
+ struct interface *);
+extern void neigh_read (struct zebra_ns *);
+extern void neigh_read_for_vlan (struct zebra_ns *, struct interface *);
extern void kernel_init (struct zebra_ns *);
extern void kernel_terminate (struct zebra_ns *);
extern void zebra_route_map_init (void);