using BIRD as route reflector - add paths option not working?

Ondrej Zajicek santiago at crfreenet.org
Wed Dec 15 23:15:45 CET 2021


On Wed, Dec 15, 2021 at 04:34:39PM -0500, mike at routerpro.ca wrote:
> Hello,
> 
> I am using bird as a RR and have set the add paths tx; option, however I am
> still only seeing best path being advertised.

Hello

That is strange, it should work.


> 3 routes present , with one marked as BEST:
> 
> bird> show route x.x.x.x/32
> Table master4:
> x.x.x.x/32    unreachable [RR_Client_IPv4_03  2021-12-15 21:05:36 from
> y.y.y.y] * (100) [AS4200001111?]
>                      unreachable [RR_Client_IPv4_05  2021-12-15 21:05:35
> from y.y.y.x] (100) [AS4200001111?]
>                      unreachable [RR_Client_IPv4_01  2021-12-15 21:05:16
> from y.y.y.z] (100) [AS4200000110?]
> 
> ===
> 1 BEST route advertised to RR client:
> 
> bird> show route export RR_Client_IPv4_01 x.x.x.x/32
> Table master4:
> x.x.x.x/32    unreachable [RR_Client_IPv4_03  2021-12-15 21:05:36 from
> y.y.y.y] (100) [AS4200001111?]
> 
> Is this expected behavior even with add paths enabled? I was expecting all 3
> routes to be advertised to RR client.


Works for me (3 RR clients, one route is not exported,
because it is from the same neighbor that is examined):

bird> show route table master4
Table master4:
10.10.0.0/16         unicast [ibgp4_1 23:04:40.917] * (100) [i]
    via 10.0.1.2 on ve1
                     unicast [ibgp4_2 23:04:37.585] (100) [i]
    via 10.0.1.3 on ve1
                     unicast [ibgp4_3 23:04:37.374] (100) [i]
    via 10.0.1.4 on ve1

bird> show route export ibgp4_1
Table master4:
10.10.0.0/16         unicast [ibgp4_2 23:04:37.585] (100) [i]
    via 10.0.1.3 on ve1
                     unicast [ibgp4_3 23:04:37.374] (100) [i]
    via 10.0.1.4 on ve1


bird> show route export ibgp4_2
Table master4:
10.10.0.0/16         unicast [ibgp4_1 23:04:40.917] * (100) [i]
    via 10.0.1.2 on ve1
                     unicast [ibgp4_3 23:04:37.374] (100) [i]
    via 10.0.1.4 on ve1

bird> show route export ibgp4_3
Table master4:
10.10.0.0/16         unicast [ibgp4_1 23:04:40.917] * (100) [i]
    via 10.0.1.2 on ve1
                     unicast [ibgp4_2 23:04:37.585] (100) [i]
    via 10.0.1.3 on ve1


bird> show protocols all ibgp4_1

    Local capabilities
      Multiprotocol
        AF announced: ipv4
      ...
      ADD-PATH
        RX:
        TX: ipv4
      ...
    Neighbor capabilities
      Multiprotocol
        AF announced: ipv4
      ...
      ADD-PATH
        RX: ipv4
        TX:
      ...



Simple static setup:

Route reflector:

template bgp ibgp4 {
        ipv4 {
                import all;
                export where source ~ [ RTS_STATIC, RTS_BGP ];
                add paths tx;
        };
        rr client;
}

protocol bgp ibgp4_1 from ibgp4 {
        local 10.0.1.1 as 1;
        neighbor 10.0.1.2 as 1;
}

protocol bgp ibgp4_2 from ibgp4 {
        local 10.0.1.1 as 1;
        neighbor 10.0.1.3 as 1;
}

protocol bgp ibgp4_3 from ibgp4 {
        local 10.0.1.1 as 1;
        neighbor 10.0.1.4 as 1;
}


Client:

template bgp ibgp4 {
        ipv4 {
                import all;
                export where source ~ [ RTS_STATIC, RTS_BGP ];
                add paths rx;
        };
}

protocol bgp ibgp4_1 from ibgp4 {
        local 10.0.1.2 as 1;
        neighbor 10.0.1.1 as 1;
}


-- 
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