bfd_sess_set_ipv4_addrs(nbr->bfd_session, NULL, &nbr->src);
bfd_sess_set_interface(nbr->bfd_session, oi->ifp->name);
bfd_sess_set_vrf(nbr->bfd_session, oi->ospf->vrf_id);
- bfd_sess_enable(nbr->bfd_session, true);
}
/* Set new configuration. */
__attribute__((unused)))
{
#if HAVE_BFDD == 0
- if (CHECK_FLAG(bfd_info->flags, BFD_FLAG_PARAM_CFG))
+ if (params->bfd_config->detection_multiplier != BFD_DEF_DETECT_MULT
+ || params->bfd_config->min_rx != BFD_DEF_MIN_RX
+ || params->bfd_config->min_tx != BFD_DEF_MIN_TX)
vty_out(vty, " ip ospf bfd %d %d %d\n",
params->bfd_config->detection_multiplier,
params->bfd_config->min_rx, params->bfd_config->min_tx);
struct ospf_if_params *params;
int idx_prof = 4;
- ospf_interface_enable_bfd(ifp);
params = IF_DEF_PARAMS(ifp);
+ if (!params->bfd_config) {
+ vty_out(vty, "ip ospf bfd has not been set\n");
+ return CMD_WARNING;
+ }
+
strlcpy(params->bfd_config->profile, argv[idx_prof]->arg,
sizeof(params->bfd_config->profile));
ospf_interface_bfd_apply(ifp);
VTY_DECLVAR_CONTEXT(interface, ifp);
struct ospf_if_params *params;
- ospf_interface_enable_bfd(ifp);
params = IF_DEF_PARAMS(ifp);
+ if (!params->bfd_config)
+ return CMD_SUCCESS;
+
params->bfd_config->profile[0] = 0;
ospf_interface_bfd_apply(ifp);