Merge pull request #17835 from FRRouting/mergify/bp/stable/10.0/pr-17813

bgpd: use igpmetric in bgp_aigp_metric_total() (backport #17813)
This commit is contained in:
Donald Sharp 2025-01-10 13:35:45 -05:00 committed by GitHub
commit 48221b1f0b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -603,10 +603,11 @@ static inline uint64_t bgp_aigp_metric_total(struct bgp_path_info *bpi)
{ {
uint64_t aigp = bgp_attr_get_aigp_metric(bpi->attr); uint64_t aigp = bgp_attr_get_aigp_metric(bpi->attr);
if (bpi->nexthop) /* Don't increment if it's locally sourced */
return aigp + bpi->nexthop->metric; if (bpi->peer == bpi->peer->bgp->peer_self)
else
return aigp; return aigp;
return bpi->extra ? (aigp + bpi->extra->igpmetric) : aigp;
} }
static inline struct cluster_list *bgp_attr_get_cluster(const struct attr *attr) static inline struct cluster_list *bgp_attr_get_cluster(const struct attr *attr)