diff options
Diffstat (limited to 'ospfd/ospfd.c')
| -rw-r--r-- | ospfd/ospfd.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index f9cc474d5c..cc5839a810 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -39,6 +39,7 @@ #include "libfrr.h" #include "defaults.h" #include "lib_errors.h" +#include "ldp_sync.h" #include "ospfd/ospfd.h" #include "ospfd/ospf_network.h" @@ -57,6 +58,7 @@ #include "ospfd/ospf_abr.h" #include "ospfd/ospf_flood.h" #include "ospfd/ospf_ase.h" +#include "ospfd/ospf_ldp_sync.h" DEFINE_QOBJ_TYPE(ospf) @@ -305,6 +307,8 @@ static struct ospf *ospf_new(unsigned short instance, const char *name) new->oi_write_q = list_new(); new->write_oi_count = OSPF_WRITE_INTERFACE_COUNT_DEFAULT; + new->proactive_arp = OSPF_PROACTIVE_ARP_DEFAULT; + QOBJ_REG(new, ospf); new->fd = -1; @@ -617,6 +621,10 @@ static void ospf_finish_final(struct ospf *ospf) list_delete(&ospf->vlinks); + /* shutdown LDP-Sync */ + if (ospf->vrf_id == VRF_DEFAULT) + ospf_ldp_sync_gbl_exit(ospf, true); + /* Remove any ospf interface config params */ FOR_ALL_INTERFACES (vrf, ifp) { struct ospf_if_params *params; @@ -946,6 +954,9 @@ static void add_ospf_interface(struct connected *co, struct ospf_area *area) ospf_area_add_if(oi->area, oi); + /* if LDP-IGP Sync is configured globally inherit config */ + ospf_ldp_sync_if_init(oi); + /* * if router_id is not configured, dont bring up * interfaces. |
