summaryrefslogtreecommitdiffstats
path: root/pimd/pim_nb_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_nb_config.c')
-rw-r--r--pimd/pim_nb_config.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/pimd/pim_nb_config.c b/pimd/pim_nb_config.c
index 4f1a4a1..be0be85 100644
--- a/pimd/pim_nb_config.c
+++ b/pimd/pim_nb_config.c
@@ -1504,11 +1504,19 @@ int routing_control_plane_protocols_control_plane_protocol_pim_address_family_re
*/
int lib_interface_pim_address_family_create(struct nb_cb_create_args *args)
{
+ struct interface *ifp;
+
switch (args->event) {
case NB_EV_VALIDATE:
- case NB_EV_PREPARE:
- case NB_EV_ABORT:
case NB_EV_APPLY:
+ case NB_EV_ABORT:
+ break;
+ case NB_EV_PREPARE:
+ ifp = nb_running_get_entry(args->dnode, NULL, true);
+ if (ifp->info)
+ return NB_OK;
+
+ pim_if_new(ifp, false, false, false, false);
break;
}