summaryrefslogtreecommitdiff
path: root/bfdd/ptm_adapter.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfdd/ptm_adapter.c')
-rw-r--r--bfdd/ptm_adapter.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/bfdd/ptm_adapter.c b/bfdd/ptm_adapter.c
index 490bc30d74..b5ab2ef1d0 100644
--- a/bfdd/ptm_adapter.c
+++ b/bfdd/ptm_adapter.c
@@ -756,20 +756,6 @@ static int bfd_ifp_destroy(struct interface *ifp)
return 0;
}
-static int bfdd_interface_vrf_update(ZAPI_CALLBACK_ARGS)
-{
- struct interface *ifp;
- vrf_id_t nvrfid;
-
- ifp = zebra_interface_vrf_update_read(zclient->ibuf, vrf_id, &nvrfid);
- if (ifp == NULL)
- return 0;
-
- if_update_to_new_vrf(ifp, nvrfid);
-
- return 0;
-}
-
static void bfdd_sessions_enable_address(struct connected *ifc)
{
struct bfd_session_observer *bso;
@@ -833,9 +819,6 @@ static zclient_handler *const bfd_handlers[] = {
*/
[ZEBRA_BFD_DEST_REPLAY] = bfdd_replay,
- /* Learn about interface VRF. */
- [ZEBRA_INTERFACE_VRF_UPDATE] = bfdd_interface_vrf_update,
-
/* Learn about new addresses being registered. */
[ZEBRA_INTERFACE_ADDRESS_ADD] = bfdd_interface_address_update,
[ZEBRA_INTERFACE_ADDRESS_DELETE] = bfdd_interface_address_update,
@@ -843,7 +826,8 @@ static zclient_handler *const bfd_handlers[] = {
void bfdd_zclient_init(struct zebra_privs_t *bfdd_priv)
{
- if_zapi_callbacks(bfd_ifp_create, NULL, NULL, bfd_ifp_destroy);
+ hook_register_prio(if_real, 0, bfd_ifp_create);
+ hook_register_prio(if_unreal, 0, bfd_ifp_destroy);
zclient = zclient_new(master, &zclient_options_default, bfd_handlers,
array_size(bfd_handlers));
assert(zclient != NULL);
@@ -875,6 +859,11 @@ void bfdd_zclient_stop(void)
pc_free_all();
}
+void bfdd_zclient_terminate(void)
+{
+ zclient_free(zclient);
+}
+
/*
* Client handling.