summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_mplsvpn.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c
index 5ad5da3286..b55e8968b9 100644
--- a/bgpd/bgp_mplsvpn.c
+++ b/bgpd/bgp_mplsvpn.c
@@ -1193,9 +1193,11 @@ leak_update(struct bgp *to_bgp, struct bgp_dest *bn,
return NULL;
}
- if (attrhash_cmp(bpi->attr, new_attr) && labelssame
- && !CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED)) {
-
+ if (attrhash_cmp(bpi->attr, new_attr) && labelssame &&
+ !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);
if (debug)
zlog_debug(