summaryrefslogtreecommitdiff
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorMark Stapp <mjs.ietf@gmail.com>2021-07-14 13:06:41 -0400
committerMark Stapp <mjs.ietf@gmail.com>2021-09-14 11:07:30 -0400
commitd166308be009537caf733dbe0b55fae7553726a1 (patch)
tree93e644d11cd23a1107e7292a6e6db33e900408e9 /zebra/interface.c
parente7c2c1985ce6f7e974d580d7d00f59cc11f225ac (diff)
zebra: use the dataplane to read netlink intf addr changes
Read incoming interface address change notifications in the dplane pthread; enqueue the events to the main pthread for processing. This is netlink-only for now - the bsd kernel socket path remains unchanged. Signed-off-by: Mark Stapp <mjs.ietf@gmail.com>
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 328ef3fa41..ec1f16f671 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -1205,6 +1205,16 @@ void zebra_if_set_protodown(struct interface *ifp, bool down)
#endif
}
+/* Handler for incoming intf address change events */
+void zebra_if_addr_update_ctx(struct zebra_dplane_ctx *ctx)
+{
+#ifdef HAVE_NETLINK
+ netlink_interface_addr_ctx(ctx);
+#else
+ dplane_ctx_fini(&ctx);
+#endif /* HAVE_NETLINK */
+}
+
/* Dump if address information to vty. */
static void connected_dump_vty(struct vty *vty, json_object *json,
struct connected *connected)