Merge pull request #8536 from idryzhov/bfd-enabled

lib: remove enabled flag for bfd sessions
This commit is contained in:
Rafael Zalamena 2021-04-22 15:06:48 -03:00 committed by GitHub
commit b38f1fd03d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 30 deletions

View File

@ -308,8 +308,6 @@ void bgp_peer_configure_bfd(struct peer *p, bool manual)
if (p->nexthop.ifp)
bfd_sess_set_interface(p->bfd_config->session,
p->nexthop.ifp->name);
bfd_sess_enable(p->bfd_config->session, true);
}
static void bgp_peer_remove_bfd(struct peer *p)

View File

@ -619,8 +619,6 @@ struct bfd_session_params {
/** BFD session installation state. */
bool installed;
/** BFD session enabled. */
bool enabled;
/** Global BFD paramaters list. */
TAILQ_ENTRY(bfd_session_params) entry;
@ -748,6 +746,21 @@ static int _bfd_sess_send(struct thread *t)
bsp->installed = false;
else if (bsp->args.command == ZEBRA_BFD_DEST_REGISTER)
bsp->installed = true;
} else {
struct ipaddr src, dst;
src.ipa_type = bsp->args.family;
src.ipaddr_v6 = bsp->args.src;
dst.ipa_type = bsp->args.family;
dst.ipaddr_v6 = bsp->args.dst;
zlog_err(
"%s: BFD session %pIA -> %pIA interface %s VRF %s(%u) was not %s",
__func__, &src, &dst,
bsp->args.ifnamelen ? bsp->args.ifname : "*",
vrf_id_to_name(bsp->args.vrf_id), bsp->args.vrf_id,
bsp->lastev == BSE_INSTALL ? "installed"
: "uninstalled");
}
return 0;
@ -782,15 +795,6 @@ void bfd_sess_free(struct bfd_session_params **bsp)
XFREE(MTYPE_BFD_INFO, (*bsp));
}
void bfd_sess_enable(struct bfd_session_params *bsp, bool enable)
{
/* Remove the session when disabling. */
if (!enable)
_bfd_sess_remove(bsp);
bsp->enabled = enable;
}
void bfd_sess_set_ipv4_addrs(struct bfd_session_params *bsp,
struct in_addr *src, struct in_addr *dst)
{
@ -909,10 +913,6 @@ void bfd_sess_set_timers(struct bfd_session_params *bsp,
void bfd_sess_install(struct bfd_session_params *bsp)
{
/* Don't attempt to install/update when disabled. */
if (!bsp->enabled)
return;
bsp->lastev = BSE_INSTALL;
thread_add_event(bsglobal.tm, _bfd_sess_send, bsp, 0, &bsp->installev);
}
@ -1060,8 +1060,8 @@ static int zclient_bfd_session_reply(ZAPI_CALLBACK_ARGS)
/* Replay all activated peers. */
TAILQ_FOREACH (bsp, &bsglobal.bsplist, entry) {
/* Skip disabled sessions. */
if (!bsp->enabled)
/* Skip not installed sessions. */
if (!bsp->installed)
continue;
/* We are reconnecting, so we must send installation. */
@ -1138,8 +1138,8 @@ static int zclient_bfd_session_update(ZAPI_CALLBACK_ARGS)
/* Notify all matching sessions about update. */
TAILQ_FOREACH (bsp, &bsglobal.bsplist, entry) {
/* Skip disabled or not installed entries. */
if (!bsp->enabled || !bsp->installed)
/* Skip not installed entries. */
if (!bsp->installed)
continue;
/* Skip different VRFs. */
if (bsp->args.vrf_id != vrf_id)

View File

@ -184,14 +184,6 @@ struct bfd_session_params *bfd_sess_new(bsp_status_update updatecb, void *args);
*/
void bfd_sess_free(struct bfd_session_params **bsp);
/**
* Enable/disable session installation.
*
* \param bsp session parameters.
* \param enable knob variable.
*/
void bfd_sess_enable(struct bfd_session_params *bsp, bool enable);
/**
* Set the local and peer address of the BFD session.
*

View File

@ -99,7 +99,6 @@ void ospf_neighbor_bfd_apply(struct ospf_neighbor *nbr)
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. */