Question regarding an unreachable protocol

Alexander Zubkov green at qrator.net
Wed Mar 18 15:52:57 CET 2020


Hi,

Please check that you have direct interface routes in your bird's
table. Probably the next hop in your bgp route is not directly
reachable from the bird's point of view. You might need to add
"protocol direct { ... }" for example. Or maybe you have not direct
next hop in your routes.
As far as I know, bird advertises such routes still, but if they
marked unreachable - no matter how high localpref the have, other
routes are preferred over it.

On Wed, Mar 18, 2020 at 2:24 PM Irene Lalioti <irene.lalioti at restena.lu> wrote:
>
> Hello dear Maria! Hello bird community!
>
> I have a question to ask you. We realized that there is one BGP session
> which bird sees it as an unreachable destination, thus it doesn't
> advertise its prefixes to the other peers, since it does not go to the
> master table.
>
> We run v2.0.7 and hereby I paste some outputs and then some configs on
> this regard. The protocol is up. It is pingable and traceable. Yet shows
> unreachable.
>
> bird> show protocol R49624xB
> Name       Proto      Table      State  Since         Info
> R49624xB   BGP        ---        up     11:34:07.198  Established
>
> bird> show route protocol R49624xB
> Table T49624_6:
> 2a0b:880::/32        unreachable [R49624xB 11:34:08.214 from
> 2001:7f8:4c::ffff:b] (100) [i]
>
> bird> sh route table master6 2a0b:880::/32
> Network not found
>
> -bash-4.2# ping6 2001:7f8:4c::ffff:b
> PING 2001:7f8:4c::ffff:b(2001:7f8:4c::ffff:b) 56 data bytes
> 64 bytes from 2001:7f8:4c::ffff:b: icmp_seq=1 ttl=64 time=1.04 ms
> 64 bytes from 2001:7f8:4c::ffff:b: icmp_seq=2 ttl=64 time=0.977 ms
>
> #####
> function is_martian6()
> prefix set martians;
> {
>         martians = [ 3ffe::/16+, 2001:db8::/32+, 2001::/33+, 2002::/17+,
> ::/8+,  fe00::/9+, ff00::/8+ ];
>         #if net.ip = :: then return true;
>         if (net.len < 19) || (net.len > 48) then return true;
>         if net ~ martians then return true;
>         return false;
> }
> function bgp_in_ibgp()
> {
>         if (is_martian6()) then return false;
>         if gw = 2001:7f8:4c::ffff:a then {
>                 if net ~ [ 2a0b:880::/32 ] then {
>                         bgp_path.prepend(myas);
>                         return true;
>                 }
>         }
>         if gw = 2001:7f8:4c::ffff:b then {
>                 if net ~ [ 2a0b:880::/32 ] then {
>                         bgp_path.prepend(myas);
>                         return true;
>                 }
>         }
>         return false;
> }
> protocol pipe P49624_6 {
>         table master6;
>         peer table T49624_6 ;
>         import where bgp_in_ibgp();
>         export all;
>
> }
> protocol bgp R49624xB {
>             local rs_IPv6 as myas;
>             neighbor as myas;
>             neighbor 2001:7f8:4c::ffff:b;
>             passive on;
>             connect retry time 6000;
>             ipv6 {
>                     table T49624_6;
>                     import limit 50 action disable;
>                     import all;
>                     import keep filtered on;
>                     export all;
>             };
> }
> #####
>
> Some insight would be very appreciated!
> Take care of yourselves and stay healthy and home :D
> cheers!
> Irène
>
> --
> Irene Lalioti
> Network Engineer
> Fondation RESTENA
> 2, avenue de l'Université
> L-4365 Esch/Alzette
>
> Tel: +352 424409 1
> Fax: +352 422473
>
>



More information about the Bird-users mailing list