Static routes, preferences and ordering

William bird at is.unlawful.id.au
Fri Jul 24 04:09:57 CEST 2020


Hi All,
Discovered something interesting in bird2 2.0.7 (via bird2 package on 
Centos7, 2.0.7-1.el7) when retrying to use statics to override a 
default route coming via BGP.

The following block would not see the higher preference route added 
(not even listed in 'show route protocol WANSTATICS'), but when 
commented out and config reloaded the gw via 172.16.4.250 would 
vanish, then come back when I restarted WANSTATICS.

protocol static WANSTATICS {
   ipv4 { table WAN; };
   route 0.0.0.0/0 via 172.16.1.254 {
     preference = 110; # override upstream
   };
   route 0.0.0.0/0 via 172.16.4.250 {
     preference = 90; # prefer one to come from upstream via BGP
   };
   check link on;
}

It was working on another sibling router node, but the two route 
blocks were reversed:

protocol static WANSTATICS {
   ipv4 { table WAN; };
   route 0.0.0.0/0 via 172.16.4.250 {
     preference = 90; # prefer one to come from upstream via BGP
   };
   route 0.0.0.0/0 via 172.16.1.254 {
     preference = 110; # override upstream
   };
   check link on;
}

Lo and behold, switch them around on the problematic node and 
suddenly everything behaves, 'show route protocol WANSTATICS' lists 
the new route and it propagates into the routing table too.

There's nothing that I could see in the documentation to explain 
this, wondering if anyone else has seen something similar?

Regards,
William



More information about the Bird-users mailing list