summaryrefslogtreecommitdiffstats
path: root/nhrpd/nhrp_route.c
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2019-12-16 13:34:43 +0100
committerPhilippe Guibert <philippe.guibert@6wind.com>2021-04-12 19:23:53 +0200
commitf468a45af26433c70f61ff4df1c6dd30c551cbc5 (patch)
tree0d1c053570af7c4a29d69eb9da98f26ce7049cfa /nhrpd/nhrp_route.c
parenttopotests: add standard nhrp test between spoke and hub (diff)
downloadfrr-f468a45af26433c70f61ff4df1c6dd30c551cbc5.tar.xz
frr-f468a45af26433c70f61ff4df1c6dd30c551cbc5.zip
nhrpd: add a zebra api to configure neighbor table per interface
neighbor table per interface is being configured per interface, via zebra api. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'nhrpd/nhrp_route.c')
-rw-r--r--nhrpd/nhrp_route.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/nhrpd/nhrp_route.c b/nhrpd/nhrp_route.c
index 06a9564e8..99f35b79d 100644
--- a/nhrpd/nhrp_route.c
+++ b/nhrpd/nhrp_route.c
@@ -392,6 +392,26 @@ static void nhrp_table_node_cleanup(struct route_table *table,
XFREE(MTYPE_NHRP_ROUTE, node->info);
}
+void nhrp_send_zebra_configure_arp(struct interface *ifp, int family)
+{
+ struct stream *s;
+
+ if (!zclient || zclient->sock < 0) {
+ debugf(NHRP_DEBUG_COMMON, "%s() : zclient not ready",
+ __func__);
+ return;
+ }
+ s = zclient->obuf;
+ stream_reset(s);
+ zclient_create_header(s,
+ ZEBRA_CONFIGURE_ARP,
+ ifp->vrf_id);
+ stream_putc(s, family);
+ stream_putl(s, ifp->ifindex);
+ stream_putw_at(s, 0, stream_get_endp(s));
+ zclient_send_message(zclient);
+}
+
void nhrp_send_zebra_nbr(union sockunion *in,
union sockunion *out,
struct interface *ifp)