diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-11-29 14:53:33 +0100 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-11-29 19:01:00 +0100 |
commit | 4a83e7a04a6eef80452633a517a2e9ce7839391b (patch) | |
tree | 9ed0c8f7fd512958fc69f47459de1b4723acc635 /zebra/rt.h | |
parent | zebra: Implement call back for route install/delete success/fail (diff) | |
download | frr-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.h | 20 |
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); |