diff options
author | vivek <vivek@cumulusnetworks.com> | 2017-05-15 07:44:13 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-12 18:29:25 +0200 |
commit | 2232a77c2bb35586fbdc8156e9c0781fc7020066 (patch) | |
tree | d3e6b25ba230f5212c1dc29d12ab0bc53a68f236 /zebra/zserv.h | |
parent | zebra: MAC and Neighbor hash table definition (diff) | |
download | frr-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.h | 7 |
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); |