Merge pull request #18129 from FRRouting/mergify/bp/dev/10.3/pr-18026

Bfd fixups (backport #18026)
This commit is contained in:
Donald Sharp 2025-02-13 11:19:28 -05:00 committed by GitHub
commit dcebe85aa6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 16 deletions

View File

@ -280,7 +280,7 @@ struct bfd_session *bs_peer_find(struct bfd_peer_cfg *bpc)
gen_bfd_key(&key, &bpc->bpc_peer, &bpc->bpc_local, bpc->bpc_mhop, bpc->bpc_localif, gen_bfd_key(&key, &bpc->bpc_peer, &bpc->bpc_local, bpc->bpc_mhop, bpc->bpc_localif,
bpc->bpc_vrfname, bpc->bfd_name); bpc->bpc_vrfname, bpc->bfd_name);
return bfd_key_lookup(key); return bfd_key_lookup(&key);
} }
/* /*
@ -770,7 +770,7 @@ struct bfd_session *ptm_bfd_sess_find(struct bfd_pkt *cp,
vrf ? vrf->name : VRF_DEFAULT_NAME, NULL); vrf ? vrf->name : VRF_DEFAULT_NAME, NULL);
/* XXX maybe remoteDiscr should be checked for remoteHeard cases. */ /* XXX maybe remoteDiscr should be checked for remoteHeard cases. */
return bfd_key_lookup(key); return bfd_key_lookup(&key);
} }
void bfd_xmt_cb(struct event *t) void bfd_xmt_cb(struct event *t)
@ -982,7 +982,7 @@ void bfd_session_free(struct bfd_session *bs)
/* Remove session from data plane if any. */ /* Remove session from data plane if any. */
bfd_dplane_delete_session(bs); bfd_dplane_delete_session(bs);
bfd_key_delete(bs->key); bfd_key_delete(&bs->key);
bfd_id_delete(bs->discrs.my_discr); bfd_id_delete(bs->discrs.my_discr);
/* Remove observer if any. */ /* Remove observer if any. */
@ -1962,11 +1962,11 @@ struct bfd_session *bfd_id_lookup(uint32_t id)
return hash_lookup(bfd_id_hash, &bs); return hash_lookup(bfd_id_hash, &bs);
} }
struct bfd_session *bfd_key_lookup(struct bfd_key key) struct bfd_session *bfd_key_lookup(struct bfd_key *key)
{ {
struct bfd_session bs; struct bfd_session bs;
bs.key = key; bs.key = *key;
return hash_lookup(bfd_key_hash, &bs); return hash_lookup(bfd_key_hash, &bs);
} }
@ -1999,11 +1999,11 @@ struct bfd_session *bfd_id_delete(uint32_t id)
return hash_release(bfd_id_hash, &bs); return hash_release(bfd_id_hash, &bs);
} }
struct bfd_session *bfd_key_delete(struct bfd_key key) struct bfd_session *bfd_key_delete(struct bfd_key *key)
{ {
struct bfd_session bs; struct bfd_session bs;
bs.key = key; bs.key = *key;
return hash_release(bfd_key_hash, &bs); return hash_release(bfd_key_hash, &bs);
} }

View File

@ -698,10 +698,10 @@ void bfd_vrf_init(void);
void bfd_vrf_terminate(void); void bfd_vrf_terminate(void);
struct bfd_vrf_global *bfd_vrf_look_by_session(struct bfd_session *bfd); struct bfd_vrf_global *bfd_vrf_look_by_session(struct bfd_session *bfd);
struct bfd_session *bfd_id_lookup(uint32_t id); struct bfd_session *bfd_id_lookup(uint32_t id);
struct bfd_session *bfd_key_lookup(struct bfd_key key); struct bfd_session *bfd_key_lookup(struct bfd_key *key);
struct sbfd_reflector *sbfd_discr_lookup(uint32_t discr); struct sbfd_reflector *sbfd_discr_lookup(uint32_t discr);
struct bfd_session *bfd_id_delete(uint32_t id); struct bfd_session *bfd_id_delete(uint32_t id);
struct bfd_session *bfd_key_delete(struct bfd_key key); struct bfd_session *bfd_key_delete(struct bfd_key *key);
struct sbfd_reflector *sbfd_discr_delete(uint32_t discr); struct sbfd_reflector *sbfd_discr_delete(uint32_t discr);
bool bfd_id_insert(struct bfd_session *bs); bool bfd_id_insert(struct bfd_session *bs);

View File

@ -220,7 +220,7 @@ static int bfd_session_create(struct nb_cb_create_args *args, bool mhop, uint32_
case NB_EV_PREPARE: case NB_EV_PREPARE:
if (bfd_mode == BFD_MODE_TYPE_BFD) { if (bfd_mode == BFD_MODE_TYPE_BFD) {
bfd_session_get_key(mhop, args->dnode, &bk); bfd_session_get_key(mhop, args->dnode, &bk);
bs = bfd_key_lookup(bk); bs = bfd_key_lookup(&bk);
/* This session was already configured by another daemon. */ /* This session was already configured by another daemon. */
if (bs != NULL) { if (bs != NULL) {
@ -249,7 +249,7 @@ static int bfd_session_create(struct nb_cb_create_args *args, bool mhop, uint32_
} else if (bfd_mode == BFD_MODE_TYPE_SBFD_ECHO || } else if (bfd_mode == BFD_MODE_TYPE_SBFD_ECHO ||
bfd_mode == BFD_MODE_TYPE_SBFD_INIT) { bfd_mode == BFD_MODE_TYPE_SBFD_INIT) {
sbfd_session_get_key(mhop, args->dnode, &bk); sbfd_session_get_key(mhop, args->dnode, &bk);
bs = bfd_key_lookup(bk); bs = bfd_key_lookup(&bk);
/* This session was already configured by another daemon. */ /* This session was already configured by another daemon. */
if (bs != NULL) { if (bs != NULL) {
@ -369,7 +369,7 @@ static int bfd_session_destroy(enum nb_event event, const struct lyd_node *dnode
else else
sbfd_session_get_key(mhop, dnode, &bk); sbfd_session_get_key(mhop, dnode, &bk);
if (bfd_key_lookup(bk) == NULL) if (bfd_key_lookup(&bk) == NULL)
return NB_ERR_INCONSISTENCY; return NB_ERR_INCONSISTENCY;
break; break;

View File

@ -52,7 +52,7 @@ bfdd_bfd_sessions_single_hop_lookup_entry(struct nb_cb_lookup_entry_args *args)
memset(&lsa, 0, sizeof(lsa)); memset(&lsa, 0, sizeof(lsa));
gen_bfd_key(&bk, &psa, &lsa, false, ifname, vrf, NULL); gen_bfd_key(&bk, &psa, &lsa, false, ifname, vrf, NULL);
return bfd_key_lookup(bk); return bfd_key_lookup(&bk);
} }
/* /*
@ -356,7 +356,7 @@ bfdd_bfd_sessions_multi_hop_lookup_entry(struct nb_cb_lookup_entry_args *args)
strtosa(source_addr, &lsa); strtosa(source_addr, &lsa);
gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, NULL); gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, NULL);
return bfd_key_lookup(bk); return bfd_key_lookup(&bk);
} }
/* /*
@ -394,7 +394,7 @@ const void *bfdd_bfd_sessions_sbfd_echo_lookup_entry(struct nb_cb_lookup_entry_a
memset(&psa, 0, sizeof(psa)); memset(&psa, 0, sizeof(psa));
gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, bfdname); gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, bfdname);
return bfd_key_lookup(bk); return bfd_key_lookup(&bk);
} }
/* /*
@ -436,5 +436,5 @@ const void *bfdd_bfd_sessions_sbfd_init_lookup_entry(struct nb_cb_lookup_entry_a
strtosa(dest_addr, &psa); strtosa(dest_addr, &psa);
gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, bfdname); gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, bfdname);
return bfd_key_lookup(bk); return bfd_key_lookup(&bk);
} }