summaryrefslogtreecommitdiffstats
path: root/zebra/rt.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-11-29 14:53:33 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-11-29 19:01:00 +0100
commit4a83e7a04a6eef80452633a517a2e9ce7839391b (patch)
tree9ed0c8f7fd512958fc69f47459de1b4723acc635 /zebra/rt.h
parentzebra: Implement call back for route install/delete success/fail (diff)
downloadfrr-4a83e7a04a6eef80452633a517a2e9ce7839391b.tar.xz
frr-4a83e7a04a6eef80452633a517a2e9ce7839391b.zip
zebra: Fix lsp add/del from kernel using SETFLAG
Setup a interface such that the add/del of lsp's from the kernel can have a callback for success/failure. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/rt.h')
-rw-r--r--zebra/rt.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/zebra/rt.h b/zebra/rt.h
index 2581b9012..6bbe69e98 100644
--- a/zebra/rt.h
+++ b/zebra/rt.h
@@ -77,9 +77,23 @@ extern int kernel_address_delete_ipv4(struct interface *, struct connected *);
extern int kernel_neigh_update(int, int, uint32_t, char *, int);
extern int kernel_interface_set_master(struct interface *master,
struct interface *slave);
-extern int kernel_add_lsp(zebra_lsp_t *);
-extern int kernel_upd_lsp(zebra_lsp_t *);
-extern int kernel_del_lsp(zebra_lsp_t *);
+
+extern void kernel_add_lsp(zebra_lsp_t *lsp);
+extern void kernel_upd_lsp(zebra_lsp_t *lsp);
+extern void kernel_del_lsp(zebra_lsp_t *lsp);
+
+/*
+ * Add the ability to pass back up the lsp install/delete
+ * success/failure.
+ *
+ * This functions goal is similiar to kernel_route_rib_pass_fail
+ * in that we are separating out the mechanics for
+ * the install/failure to set/unset flags and to notify
+ * as needed.
+ */
+extern void kernel_lsp_pass_fail(zebra_lsp_t *lsp,
+ enum southbound_results res);
+
extern int mpls_kernel_init(void);
extern int kernel_get_ipmr_sg_stats(struct zebra_vrf *zvrf, void *mroute);