BGP best path algorithm in RR environment

Ondrej Zajicek santiago at crfreenet.org
Thu Sep 14 04:09:43 CEST 2023


On Wed, Sep 13, 2023 at 09:35:26AM +0000, Mazur, Dariusz via Bird-users wrote:
> Hello Bird Users,
> Have a question about bgp best path algorithm  in Route Refletector  environment and possible fix:
> 
> 
> Topology ( we use only iBGP with multiply RR):
> r01a.tor ----- r01.leaf.105---r01.spine----r01.leaf108-----r09a.tor
> 
> I announce the same block 172.232.0.0/19 from both tors
> 
> r01.leaf108 receives 172.232.0.0/19 from r01.spine and r09a.tor, and treat them as equal path (multipath).
> 
> All BGP attributes are equal except of  BGP originator id and cluster-list
> 
> r01.leaf108.ord02.fab> show route for 172.232.0.0/19 all
> 172.232.0.0/19
>                                 unicast [192.168.226.56__r01.spine101 2023-09-06] * (100) [AS4250527481?]
>                 via 192.168.226.56 on vlan.101
>                 Type: BGP univ
>                 BGP.origin: Incomplete
>                 BGP.as_path: 4250527481
>                 BGP.next_hop: 192.168.226.56
>                 BGP.med: 0
>                 BGP.local_pref: 400
>                 BGP.atomic_aggr:
>                 BGP.aggregator: 23.192.121.225 AS4250527481
>                 BGP.community: (63949,1000) (63949,1002) (63949,1004) (63949,1005) (65110,31107) (65310,31107) (65518,31107)
>                 BGP.originator_id: 23.205.212.134
>                 BGP.cluster_list: 23.205.212.8 23.205.212.112
> 
>                      unicast [192.168.198.35__r09b.tor108 2023-09-06] (100) [AS4250827489?]
>                 via 192.168.198.35 on vlan.218
>                 Type: BGP univ
>                 BGP.origin: Incomplete
>                 BGP.as_path: 4250827489
>                 BGP.next_hop: 192.168.198.35
>                 BGP.med: 0
>                 BGP.local_pref: 400
>                 BGP.atomic_aggr:
>                 BGP.aggregator: 23.213.15.233 AS4250827489
>                 BGP.community: (63949,1000) (63949,1002) (63949,1004) (63949,1005) (65110,31107) (65310,31107) (65518,31107)
> 
> Looks like Bird does not check  cluster_list length to determine better route, is it intentional? Can you suggest any possible fix to prefer route from r09a.tor using cluster-list or anything what is local for router (local pref is not option because all routers are in the same asn and use iBGP)

Hi

BIRD does compare cluster_list, but consistently with RFC 4456 section 9
only after almost all other criteria, including comparison of peer router
id / originator id. Unfortunately peer router id is not in the 'show
route all' output, but i would guess that the peer router id for the
second route is higher than the originator_id of the first route, that is
why it is sorted the way it is.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."


More information about the Bird-users mailing list