]> git.proxmox.com Git - mirror_frr.git/commit - bgpd/bgp_evpn.c
bgpd: imported evpn rt5 routes copy igpmetric
authorPhilippe Guibert <philippe.guibert@6wind.com>
Tue, 17 Aug 2021 14:43:37 +0000 (16:43 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Tue, 17 Aug 2021 14:50:05 +0000 (16:50 +0200)
commit56c70d87149ebdf9f399a882b3ecd1cec4e84b76
tree965555c09c73aed614c1c164e888b6fdde090213
parent5838d3b4527715aae6e319f1e8f0a4fdb2949e8d
bgpd: imported evpn rt5 routes copy igpmetric

when doing BGP over an IGP platform, the expectation is that
the path calculation for a given prefix takes into account the
igpmetric given by IGP.
This is true with prefixes obtained in a given BGP instance where
peering occurs. For instance, ipv4 unicast entries or l2vpn evpn
entries work this way. The igpmetric is obtained through nexthop
tracking, like below:

south-vm# show bgp nexthop
Current BGP nexthop cache:
 1.1.1.1 valid [IGP metric 10], #paths 1, peer 1.1.1.1
 2.2.2.2 valid [IGP metric 20], #paths 1, peer 2.2.2.2

The igp metric is taken into account when doing best path
selection, and only the entry with lowest igp wins.

[..]
*>i[5]:[0]:[32]:[5.5.5.5]
                    1.1.1.1                  0    100      0 ?
                    RT:65400:268435556 ET:8 Rmac:2e:22:6c:67:bb:73
* i                 2.2.2.2                  0    100      0 ?
                    RT:65400:268435556 ET:8 Rmac:f2:d3:68:4e:f4:ed

however, for imported EVPN RT5 entries, the igpmetric was not
copied from the parent path info. Fix it. In this way, the
imported route entries use the igpmetric of the parent pi.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
bgpd/bgp_evpn.c