diff options
| author | Chirag Shah <chirag@nvidia.com> | 2020-12-08 21:04:50 -0800 |
|---|---|---|
| committer | Chirag Shah <chirag@nvidia.com> | 2020-12-09 16:28:17 -0800 |
| commit | 1c00fb274cd2509406f353b37f8299a5d30be580 (patch) | |
| tree | 7c29aa672a434fcdbb313bebdb231964dcaa8d63 | |
| parent | dc29bb3b6b22a86702641adf2b0b700fc02b6f75 (diff) | |
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 <chirag@nvidia.com>
| -rw-r--r-- | bgpd/bgp_route.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index a1cf6ac3e8..87e03d205f 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -13755,10 +13755,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; } } |
