Merge pull request #12584 from pguibert6WIND/bgp_imported_distance

bgpd: imported vpn entries get appropriate distance
This commit is contained in:
Russ White 2023-01-17 10:16:46 -05:00 committed by GitHub
commit e2fd75fce2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 1 deletions

View File

@ -15012,6 +15012,7 @@ uint8_t bgp_distance_apply(const struct prefix *p, struct bgp_path_info *pinfo,
struct bgp_distance *bdistance;
struct access_list *alist;
struct bgp_static *bgp_static;
struct bgp_path_info *bpi_ultimate;
if (!bgp)
return 0;
@ -15021,6 +15022,12 @@ uint8_t bgp_distance_apply(const struct prefix *p, struct bgp_path_info *pinfo,
if (pinfo->attr->distance)
return pinfo->attr->distance;
/* get peer origin to calculate appropriate distance */
if (pinfo->sub_type == BGP_ROUTE_IMPORTED) {
bpi_ultimate = bgp_get_imported_bpi_ultimate(pinfo);
peer = bpi_ultimate->peer;
}
/* Check source address.
* Note: for aggregate route, peer can have unspec af type.
*/

View File

@ -14,6 +14,7 @@ router bgp 65500 vrf vrf1
bgp router-id 192.0.2.1
address-family ipv4 unicast
redistribute connected
distance bgp 21 201 41
label vpn export 101
rd vpn export 444:1
rt vpn both 52:100

View File

@ -7,7 +7,7 @@
"vrfName": "vrf1",
"selected": true,
"destSelected": true,
"distance": 20,
"distance": 201,
"metric": 0,
"nexthops": [
{