summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_dplane.h
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2019-03-21 19:26:54 +0100
committerMark Stapp <mjs@voltanet.io>2019-04-10 22:07:01 +0200
commitcf363e1bd86a2594aa3698d4e6561cfe14ea7d9a (patch)
tree405c3e9d7b8798c92cb83df16a476acdc40e183a /zebra/zebra_dplane.h
parentMerge pull request #3779 from opensourcerouting/fix-mpls-label-topotests (diff)
downloadfrr-cf363e1bd86a2594aa3698d4e6561cfe14ea7d9a.tar.xz
frr-cf363e1bd86a2594aa3698d4e6561cfe14ea7d9a.zip
zebra: dataplane notifications for system route changes
Add notifications from zebra to the dataplane subsystem when kernel or connected routes change. Signed-off-by: Mark Stapp <mjs@voltanet.io>
Diffstat (limited to 'zebra/zebra_dplane.h')
-rw-r--r--zebra/zebra_dplane.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/zebra/zebra_dplane.h b/zebra/zebra_dplane.h
index 1246fcc8e..4e089bc66 100644
--- a/zebra/zebra_dplane.h
+++ b/zebra/zebra_dplane.h
@@ -114,8 +114,15 @@ enum dplane_op_e {
/* Pseudowire update */
DPLANE_OP_PW_INSTALL,
DPLANE_OP_PW_UNINSTALL,
+
+ /* System route notification */
+ DPLANE_OP_SYS_ROUTE_ADD,
+ DPLANE_OP_SYS_ROUTE_DELETE,
};
+/* Enable system route notifications */
+void dplane_enable_sys_route_notifs(void);
+
/*
* The dataplane context struct is used to exchange info between the main zebra
* context and the dataplane module(s). If these are two independent pthreads,
@@ -249,6 +256,12 @@ enum zebra_dplane_result dplane_route_update(struct route_node *rn,
enum zebra_dplane_result dplane_route_delete(struct route_node *rn,
struct route_entry *re);
+/* Notify the dplane when system/connected routes change */
+enum zebra_dplane_result dplane_sys_route_add(struct route_node *rn,
+ struct route_entry *re);
+enum zebra_dplane_result dplane_sys_route_del(struct route_node *rn,
+ struct route_entry *re);
+
/*
* Enqueue LSP change operations for the dataplane.
*/