mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-25 22:30:52 +00:00
bgpd: recheck leak nexthop validity
When leak_update() rechecks an existing path, it considers nothing to update if the attributes and labels are not changed. However, it does not take into account the nexthop validity. Perform a leak update if the nexthop validity has changed. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
This commit is contained in:
parent
779077bf56
commit
bb986e96dc
@ -1193,9 +1193,11 @@ leak_update(struct bgp *to_bgp, struct bgp_dest *bn,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (attrhash_cmp(bpi->attr, new_attr) && labelssame
|
if (attrhash_cmp(bpi->attr, new_attr) && labelssame &&
|
||||||
&& !CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED)) {
|
!CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED) &&
|
||||||
|
leak_update_nexthop_valid(to_bgp, bn, new_attr, afi, safi, source_bpi, bpi,
|
||||||
|
bgp_orig, p,
|
||||||
|
debug) == !!CHECK_FLAG(bpi->flags, BGP_PATH_VALID)) {
|
||||||
bgp_attr_unintern(&new_attr);
|
bgp_attr_unintern(&new_attr);
|
||||||
if (debug)
|
if (debug)
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
|
Loading…
Reference in New Issue
Block a user