diff options
Diffstat (limited to 'pimd/pim_nb_config.c')
| -rw-r--r-- | pimd/pim_nb_config.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pimd/pim_nb_config.c b/pimd/pim_nb_config.c index c926696610..d671ea3b65 100644 --- a/pimd/pim_nb_config.c +++ b/pimd/pim_nb_config.c @@ -4493,6 +4493,29 @@ int lib_interface_gmp_address_family_robustness_variable_modify( } /* + * XPath: /frr-interface:lib/interface/frr-gmp:gmp/address-family/immediate-leave + */ +int lib_interface_gmp_immediate_leave_modify(struct nb_cb_modify_args *args) +{ + struct interface *ifp; + struct pim_interface *pim_ifp; + + switch (args->event) { + case NB_EV_VALIDATE: + case NB_EV_PREPARE: + case NB_EV_ABORT: + break; + case NB_EV_APPLY: + ifp = nb_running_get_entry(args->dnode, NULL, true); + pim_ifp = ifp->info; + pim_ifp->gmp_immediate_leave = yang_dnode_get_bool(args->dnode, NULL); + break; + } + + return NB_OK; +} + +/* * XPath: /frr-interface:lib/interface/frr-gmp:gmp/address-family/proxy */ int lib_interface_gmp_address_family_proxy_modify(struct nb_cb_modify_args *args) |
