diff options
Diffstat (limited to 'pimd/pim_instance.c')
| -rw-r--r-- | pimd/pim_instance.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/pimd/pim_instance.c b/pimd/pim_instance.c index 359e3db718..4b85d45751 100644 --- a/pimd/pim_instance.c +++ b/pimd/pim_instance.c @@ -36,6 +36,7 @@ #include "pim_vty.h" #include "pim_bsm.h" #include "pim_mlag.h" +#include "pim_sock.h" static void pim_instance_terminate(struct pim_instance *pim) { @@ -70,6 +71,8 @@ static void pim_instance_terminate(struct pim_instance *pim) pim_msdp_exit(pim); + close(pim->reg_sock); + pim_mroute_socket_disable(pim); XFREE(MTYPE_PIM_PLIST_NAME, pim->spt.plist); @@ -131,6 +134,10 @@ static struct pim_instance *pim_instance_init(struct vrf *vrf) pim->last_route_change_time = -1; + pim->reg_sock = pim_reg_sock(); + if (pim->reg_sock < 0) + assert(0); + /* MSDP global timer defaults. */ pim->msdp.hold_time = PIM_MSDP_PEER_HOLD_TIME; pim->msdp.keep_alive = PIM_MSDP_PEER_KA_TIME; |
