gen_bfd_key(&key, &bpc->bpc_peer, &bpc->bpc_local, bpc->bpc_mhop, bpc->bpc_localif,
bpc->bpc_vrfname, bpc->bfd_name);
- return bfd_key_lookup(key);
+ return bfd_key_lookup(&key);
}
/*
vrf ? vrf->name : VRF_DEFAULT_NAME, NULL);
/* 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)
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;
- bs.key = key;
+ bs.key = *key;
return hash_lookup(bfd_key_hash, &bs);
}
void bfd_vrf_terminate(void);
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_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 bfd_session *bfd_id_delete(uint32_t id);
struct bfd_session *bfd_key_delete(struct bfd_key key);
case NB_EV_PREPARE:
if (bfd_mode == BFD_MODE_TYPE_BFD) {
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. */
if (bs != NULL) {
} else if (bfd_mode == BFD_MODE_TYPE_SBFD_ECHO ||
bfd_mode == BFD_MODE_TYPE_SBFD_INIT) {
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. */
if (bs != NULL) {
else
sbfd_session_get_key(mhop, dnode, &bk);
- if (bfd_key_lookup(bk) == NULL)
+ if (bfd_key_lookup(&bk) == NULL)
return NB_ERR_INCONSISTENCY;
break;
memset(&lsa, 0, sizeof(lsa));
gen_bfd_key(&bk, &psa, &lsa, false, ifname, vrf, NULL);
- return bfd_key_lookup(bk);
+ return bfd_key_lookup(&bk);
}
/*
strtosa(source_addr, &lsa);
gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, NULL);
- return bfd_key_lookup(bk);
+ return bfd_key_lookup(&bk);
}
/*
memset(&psa, 0, sizeof(psa));
gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, bfdname);
- return bfd_key_lookup(bk);
+ return bfd_key_lookup(&bk);
}
/*
strtosa(dest_addr, &psa);
gen_bfd_key(&bk, &psa, &lsa, true, NULL, vrf, bfdname);
- return bfd_key_lookup(bk);
+ return bfd_key_lookup(&bk);
}