From 714764f395b9d9a38c408365c254048a242862b2 Mon Sep 17 00:00:00 2001 From: Chirag Shah Date: Tue, 8 Dec 2020 21:04:50 -0800 Subject: [PATCH] bgpd: local routes use non-default distance Use user provided AD for local routes (aggregate). address-family ipv4 unicast distance bgp 20 200 210 network 47.2.2.8/30 aggregate-address 51.1.0.0/16 Testing Done: Before aggr route uses default 200 AD even user provided local AD. B>* 51.1.0.0/16 [200/0] unreachable (blackhole), weight 1, 00:01:14 After: B>* 51.1.0.0/16 [210/0] unreachable (blackhole), weight 1, 00:00:01 Signed-off-by: Chirag Shah --- bgpd/bgp_route.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 3c237cfa87..b60cf3068b 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -12959,10 +12959,14 @@ uint8_t bgp_distance_apply(const struct prefix *p, struct bgp_path_info *pinfo, if (bgp->distance_ebgp[afi][safi]) return bgp->distance_ebgp[afi][safi]; return ZEBRA_EBGP_DISTANCE_DEFAULT; - } else { + } else if (peer->sort == BGP_PEER_IBGP) { if (bgp->distance_ibgp[afi][safi]) return bgp->distance_ibgp[afi][safi]; return ZEBRA_IBGP_DISTANCE_DEFAULT; + } else { + if (bgp->distance_local[afi][safi]) + return bgp->distance_local[afi][safi]; + return ZEBRA_IBGP_DISTANCE_DEFAULT; } } -- 2.39.5