<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 15, 2024, 10:15 Lukas Haase <<a href="mailto:lukashaase@gmx.at">lukashaase@gmx.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Alexander,<br>
<br>
Thank you so much!<br>
Debian has bird2 package as well so I migrated and indeed it works!!<br>
There must be a bug in bird1 that causes recursive routes in static protocol not to resolve...</blockquote></div></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
As just a minor change to your solution, I changed the export filter in the bgp protocol to:<br>
<br>
if(net ~ [<a href="http://192.0.2.0/24%7B24,32%7D" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24{24,32}</a>]) then accept;<br>
<br>
because I actually want to export the sub prefixes AND the /24.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Sure, if you need those. It is slightly out of scope of the topic, so I did not included them in my filter. :) BTW ”x.x.x.x/24{24,32}” id equivalent to ”x.x.x.x/24+”.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Sorry, there is just one last thing: Currently I define my /24 like this:<br>
<br>
protocol static static_bgp<br>
{<br>
  ipv4;<br>
  route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> via Public-Ip-As-Seen-By-Peer;<br>
}<br>
<br>
How do I make sure that whatever route is sent has the public IP as next-hop? Since I am using recursive now, I do not have control over it.<br>
Will this be set automatically to what I set as "source address" in the bgp peer definition?<br>
Or should I explicitely add "next hop self"? Or should I explicitly modify "bgp_next_hop = ..." in the export filter of the bgp peer?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">You can check the docs for the defaults. "next hop self" might be the default for eBGP, but I do not remember exactly. You can set it explicitly also. And yes, you can either use this option or override the next hop in the effort filter.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks,<br>
Luke<br>
<br>
> Gesendet: Montag, 15. Januar 2024 um 00:11 Uhr<br>
> Von: "Alexander Zubkov" <<a href="mailto:green@qrator.net" target="_blank" rel="noreferrer">green@qrator.net</a>><br>
> An: "Lukas Haase" <<a href="mailto:lukashaase@gmx.at" target="_blank" rel="noreferrer">lukashaase@gmx.at</a>><br>
> Cc: <a href="mailto:bird-users@network.cz" target="_blank" rel="noreferrer">bird-users@network.cz</a><br>
> Betreff: Re: Exporting a larger prefix if a smaller prefix is being exported<br>
><br>
> Hi,<br>
> <br>
> I cannot tell for bird1, unfortunately. It might not work there at<br>
> all. Here is working example for bird2, I tested it and it seems<br>
> valid. I export smaller routes to a separate table, so that static<br>
> protocol use only those routes for recursive resolution, otherwise it<br>
> will also try to use default route and itself too. I also put static<br>
> routes to a separate table and pipe from it and filtering out the<br>
> unreachable ones. Because otherwise an unreachable route could be<br>
> selected the best (they all have the same metric) and not exported to<br>
> bgp. So check for unreachable in bgp export does not work well<br>
> actually, if there are more than one static route to choose from.<br>
> For bird1 please note, that it is announced EOL already. And it is<br>
> highly recommended to migrate to bird2.<br>
> <br>
> ipv4 table aggr_src;<br>
> ipv4 table aggr;<br>
> <br>
> protocol bgp test<br>
> {<br>
>         local as 64512;<br>
>         source address 10.55.55.251;<br>
>         ipv4 {<br>
>                 import none;<br>
>                 export filter {<br>
>                         if(net = <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a>) then accept;<br>
>                         reject;<br>
>                 };<br>
>         };<br>
>         neighbor 10.55.55.250 as 65534;<br>
>         password "xyz";<br>
>         multihop 2;<br>
> }<br>
> <br>
> protocol static prefix_aggregation<br>
> {<br>
>         ipv4 { table aggr; };<br>
>         igp table aggr_src;<br>
>         route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.207;<br>
>         route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.208;<br>
>         route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.209;<br>
> }<br>
> <br>
> protocol device {}<br>
> protocol direct { ipv4; }<br>
> <br>
> protocol pipe pipe_aggr_src<br>
> {<br>
>         table master4;<br>
>         peer table aggr_src;<br>
>         export filter {<br>
>                 if (net ~ [<a href="http://192.0.2.0/24%7B25,32%7D" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24{25,32}</a>]) then accept;<br>
>                 reject;<br>
>         };<br>
>         import none;<br>
> }<br>
> <br>
> protocol pipe pipe_aggr<br>
> {<br>
>         table master4;<br>
>         peer table aggr;<br>
>         export none;<br>
>         import where dest != RTD_UNREACHABLE;<br>
> <br>
> }<br>
> <br>
> On Mon, Jan 15, 2024 at 8:59 AM Lukas Haase <<a href="mailto:lukashaase@gmx.at" target="_blank" rel="noreferrer">lukashaase@gmx.at</a>> wrote:<br>
> ><br>
> > Hi Alexander<br>
> ><br>
> > > Gesendet: Sonntag, 14. Januar 2024 um 23:03 Uhr<br>
> > > Von: "Alexander Zubkov" <<a href="mailto:green@qrator.net" target="_blank" rel="noreferrer">green@qrator.net</a>><br>
> > > An: "Lukas Haase" <<a href="mailto:lukashaase@gmx.at" target="_blank" rel="noreferrer">lukashaase@gmx.at</a>><br>
> > > Cc: <a href="mailto:bird-users@network.cz" target="_blank" rel="noreferrer">bird-users@network.cz</a><br>
> > > Betreff: Re: Re: Exporting a larger prefix if a smaller prefix is being exported<br>
> > ><br>
> > > Hi Lukas,<br>
> > ><br>
> > > Two questions.<br>
> > > You add dummy interface on another node that propagates it via ospf to<br>
> > > your border?<br>
> ><br>
> > I do not, it's added locally. Same machine as bird is running. I just need<br>
> ><br>
> > interface "dum0" { stub yes; };<br>
> ><br>
> > to bring it into bird's routing table. I could also use protocol "direct" but to simulate it as close as possible to my actual use case (where the possible smaller prefixes will come over OSPF) I wanted to use OSPF.<br>
> ><br>
> > But in my understanding, it shouldn't matter where the route comes from.<br>
> ><br>
> > > And the most important one - you use bird version 1?<br>
> ><br>
> > Yes, it's the version included in Debian/Ubuntu stable. As long as I am not hitting a huge roadblock I'd really like to keep it.<br>
> ><br>
> > Thanks,<br>
> > Luke<br>
> ><br>
> > > On Mon, Jan 15, 2024 at 6:23 AM Lukas Haase <<a href="mailto:lukashaase@gmx.at" target="_blank" rel="noreferrer">lukashaase@gmx.at</a>> wrote:<br>
> > > ><br>
> > > > Hi Alexander,<br>
> > > ><br>
> > > > Thank you again, this is really promising and I think I get the gist of it.<br>
> > > > I have just one issue left: The /24 prefix keeps showing as unreachable.<br>
> > > ><br>
> > > > I have set up a test peer (both sides) to verify that routes come through.<br>
> > > ><br>
> > > > Here is my config:<br>
> > > ><br>
> > > > protocol bgp test<br>
> > > > {<br>
> > > >         local as 64512;<br>
> > > >         source address 10.55.55.251;<br>
> > > >         import none;<br>
> > > >         export filter {<br>
> > > >                 # announce all of our sub-prefixes<br>
> > > >                 if(net ~ [<a href="http://192.0.2.0/24%7B25,32%7D" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24{25,32}</a>]) then accept;<br>
> > > ><br>
> > > >                 # if at least one of them is reachable, announce the entire /24<br>
> > > >                 if(net = <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> && dest != RTD_UNREACHABLE) then accept;<br>
> > > ><br>
> > > >                 reject;<br>
> > > >         };<br>
> > > >         neighbor 10.55.55.250 as 65534;<br>
> > > >         password "xyz";<br>
> > > >         multihop 2;<br>
> > > > }<br>
> > > ><br>
> > > > protocol static prefix_aggregation<br>
> > > > {<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.0;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.1;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.2;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.3;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.4;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.5;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.6;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.7;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.8;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.9;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.10;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.11;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.12;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.13;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.14;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.15;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.16;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.17;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.18;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.19;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.20;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.21;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.22;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.23;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.24;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.25;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.26;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.27;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.28;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.29;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.30;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.31;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.32;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.33;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.34;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.35;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.36;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.37;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.38;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.39;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.40;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.41;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.42;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.43;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.44;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.45;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.46;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.47;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.48;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.49;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.50;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.51;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.52;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.53;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.54;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.55;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.56;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.57;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.58;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.59;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.60;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.61;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.62;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.63;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.64;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.65;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.66;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.67;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.68;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.69;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.70;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.71;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.72;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.73;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.74;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.75;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.76;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.77;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.78;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.79;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.80;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.81;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.82;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.83;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.84;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.85;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.86;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.87;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.88;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.89;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.90;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.91;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.92;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.93;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.94;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.95;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.96;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.97;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.98;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.99;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.100;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.101;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.102;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.103;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.104;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.105;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.106;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.107;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.108;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.109;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.110;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.111;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.112;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.113;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.114;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.115;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.116;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.117;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.118;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.119;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.120;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.121;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.122;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.123;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.124;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.125;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.126;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.127;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.128;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.129;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.130;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.131;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.132;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.133;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.134;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.135;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.136;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.137;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.138;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.139;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.140;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.141;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.142;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.143;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.144;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.145;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.146;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.147;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.148;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.149;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.150;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.151;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.152;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.153;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.154;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.155;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.156;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.157;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.158;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.159;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.160;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.161;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.162;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.163;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.164;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.165;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.166;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.167;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.168;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.169;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.170;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.171;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.172;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.173;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.174;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.175;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.176;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.177;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.178;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.179;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.180;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.181;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.182;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.183;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.184;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.185;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.186;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.187;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.188;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.189;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.190;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.191;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.192;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.193;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.194;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.195;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.196;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.197;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.198;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.199;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.200;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.201;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.202;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.203;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.204;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.205;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.206;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.207;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.208;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.209; # <-- this one should be reachable<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.210;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.211;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.212;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.213;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.214;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.215;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.216;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.217;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.218;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.219;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.220;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.221;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.222;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.223;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.224;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.225;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.226;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.227;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.228;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.229;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.230;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.231;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.232;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.233;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.234;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.235;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.236;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.237;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.238;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.239;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.240;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.241;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.242;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.243;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.244;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.245;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.246;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.247;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.248;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.249;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.250;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.251;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.252;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.253;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.254;<br>
> > > > route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.255;<br>
> > > > }<br>
> > > ><br>
> > > > I then set up a dummy device (and add it to OSPF so that it lands in birds routing table):<br>
> > > ><br>
> > > > # ip link add dum0 type dummy<br>
> > > > # ip addr add <a href="http://192.0.2.209/28" rel="noreferrer noreferrer" target="_blank">192.0.2.209/28</a> dev dum0<br>
> > > > # ip link set dev dum0 up<br>
> > > > # ping -c1 192.0.2.209<br>
> > > > PING 192.0.2.209 (192.0.2.209) 56(84) bytes of data.<br>
> > > > 64 bytes from <a href="http://192.0.2.209" rel="noreferrer noreferrer" target="_blank">192.0.2.209</a>: icmp_seq=1 ttl=64 time=0.022 ms<br>
> > > ><br>
> > > > --- 192.0.2.209 ping statistics ---<br>
> > > > 1 packets transmitted, 1 received, 0% packet loss, time 0ms<br>
> > > > rtt min/avg/max/mdev = 0.022/0.022/0.022/0.000 ms<br>
> > > ><br>
> > > > But then:<br>
> > > ><br>
> > > > # birdc show route | grep '^192\.0\.2\.'<br>
> > > > <a href="http://192.0.2.208/28" rel="noreferrer noreferrer" target="_blank">192.0.2.208/28</a>     dev dum0 [ospf 04:57:58] * I (150/10) [14x.xxx.223.80]<br>
> > > > <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a>       unreachable [prefix_aggregation 04:57:57] * (200)<br>
> > > > #<br>
> > > ><br>
> > > > The <a href="http://192.0.2.208/28" rel="noreferrer noreferrer" target="_blank">192.0.2.208/28</a> shows up in the routing table, so it IS reachable and hence at least one of the <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> route entries much be reachable. Yet, <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> shows up as unreachable.<br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > > Thanks,<br>
> > > > Luke<br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > > > Gesendet: Sonntag, 14. Januar 2024 um 00:24 Uhr<br>
> > > > > Von: "Alexander Zubkov" <<a href="mailto:green@qrator.net" target="_blank" rel="noreferrer">green@qrator.net</a>><br>
> > > > > An: "Lukas Haase" <<a href="mailto:lukashaase@gmx.at" target="_blank" rel="noreferrer">lukashaase@gmx.at</a>><br>
> > > > > Cc: <a href="mailto:bird-users@network.cz" target="_blank" rel="noreferrer">bird-users@network.cz</a><br>
> > > > > Betreff: Re: Exporting a larger prefix if a smaller prefix is being exported<br>
> > > > ><br>
> > > > > Hi Lukas,<br>
> > > > ><br>
> > > > > On Sun, Jan 14, 2024 at 6:23 AM Lukas Haase <<a href="mailto:lukashaase@gmx.at" target="_blank" rel="noreferrer">lukashaase@gmx.at</a>> wrote:<br>
> > > > > ><br>
> > > > > > Hi Alex,<br>
> > > > > ><br>
> > > > > > > Gesendet: Samstag, 13. Januar 2024 um 06:31 Uhr<br>
> > > > > > > Von: "Alexander Zubkov" <<a href="mailto:green@qrator.net" target="_blank" rel="noreferrer">green@qrator.net</a>><br>
> > > > > > > An: "Lukas Haase" <<a href="mailto:lukashaase@gmx.at" target="_blank" rel="noreferrer">lukashaase@gmx.at</a>><br>
> > > > > > > Cc: <a href="mailto:bird-users@network.cz" target="_blank" rel="noreferrer">bird-users@network.cz</a><br>
> > > > > > > Betreff: Re: Exporting a larger prefix if a smaller prefix is being exported<br>
> > > > > > ><br>
> > > > > > > Hi,<br>
> > > > > > ><br>
> > > > > > > You cannot do "direct" prefix aggregation to a lager prefix in Bird<br>
> > > > > > > yet. But there are some ways to workaround it. You can define a static<br>
> > > > > > > route with recursive nex-hop like 192.0.2.x, and filter it out when it<br>
> > > > > > > is not reachable, but for any subprefix in /24 you would need to<br>
> > > > > > > define 256 of such static routes. So it is up to you how practical it<br>
> > > > > > > is.<br>
> > > > > ><br>
> > > > > > Interesting idea, this would be practical for me but I do not completely understand yet what you mean.<br>
> > > > > > Which routes would I define and what would be the next hop ("like 192.0.2.x")?<br>
> > > > > ><br>
> > > > > > As an example, suppose the following prefixes are in my routing table and are directly or indirectly reachable: <a href="http://192.0.2.208/28" rel="noreferrer noreferrer" target="_blank">192.0.2.208/28</a>, <a href="http://192.0.2.250/31" rel="noreferrer noreferrer" target="_blank">192.0.2.250/31</a>, <a href="http://192.0.2.184/29" rel="noreferrer noreferrer" target="_blank">192.0.2.184/29</a>, <a href="http://192.0.2.254/31" rel="noreferrer noreferrer" target="_blank">192.0.2.254/31</a>, <a href="http://192.0.2.176/29" rel="noreferrer noreferrer" target="_blank">192.0.2.176/29</a>.<br>
> > > > > ><br>
> > > > > > Are you proposing?<br>
> > > > > ><br>
> > > > > > protocol static prefix_aggregation<br>
> > > > > > {<br>
> > > > > >   route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> via 192.0.2.209;<br>
> > > > > >   route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> via 192.0.2.250;<br>
> > > > > >   route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> via 192.0.2.285;<br>
> > > > > >   route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> via 192.0.2.254;<br>
> > > > > >   route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> via 192.0.2.177;<br>
> > > > > > }<br>
> > > > ><br>
> > > > > Yes, something like that. But it needs to be "recursive" not "via".<br>
> > > > > And your routes need not to be recursive already (for example iBGP<br>
> > > > > makes such routes by default), because double recursion won't work.<br>
> > > > ><br>
> > > > > ><br>
> > > > > > If so, how do I avoid that <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> will be exported five times?<br>
> > > > ><br>
> > > > > Yes, you'll have multiple similar routes. But if you do not have<br>
> > > > > add-path on your BGP session, only one of them will be exported. Also<br>
> > > > > in the recent version there is some aggregation support of same-net<br>
> > > > > prefixes, it can be helpful here too.<br>
> > > > ><br>
> > > > > > And how do I set up an export filter on "next-hop is not reachable"?<br>
> > > > ><br>
> > > > > You need to check the corresponding attribute of the prefix. See the<br>
> > > > > example later.<br>
> > > > ><br>
> > > > > ><br>
> > > > > > By the way, the sub-prefixes, would I just export via a filter like this?<br>
> > > > ><br>
> > > > > Yes, this filter seems to cover the sub-prefixes. But not sure what is<br>
> > > > > the nature of this question.<br>
> > > > ><br>
> > > > > ><br>
> > > > > > export filter {<br>
> > > > > >     if (net ~ [<a href="http://192.0.2.0/24%7B25,32%7D" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24{25,32}</a>]) then {<br>
> > > > > >         accept;<br>
> > > > > >     }<br>
> > > > > >     reject;<br>
> > > > > > }<br>
> > > > > ><br>
> > > > ><br>
> > > > > Here is a config example I can imagine, not tested it at all.<br>
> > > > > Something like that works for us. But I would test it first that it<br>
> > > > > correctly adds/reverts the "aggregated" prefix. It adds static<br>
> > > > > prefixes in a separate table, but it can also be done in the main<br>
> > > > > table and reachability tested in bgp export filter for example.<br>
> > > > ><br>
> > > > ><br>
> > > > > ipv4 table aggr;<br>
> > > > ><br>
> > > > > protocol static prefix_aggregation<br>
> > > > > {<br>
> > > > >   ipv4 { table aggr4; };<br>
> > > > >   route <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> recursive 192.0.2.209;<br>
> > > > >   ...<br>
> > > > > }<br>
> > > > ><br>
> > > > > protocol pipe pipe_aggr<br>
> > > > > {<br>
> > > > >   table master4;<br>
> > > > >   peer table aggr;<br>
> > > > >   export filter {<br>
> > > > >     if (net ~ [<a href="http://192.0.2.0/24%7B25,32%7D" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24{25,32}</a>]) then {<br>
> > > > >       accept;<br>
> > > > >     }<br>
> > > > >     reject;<br>
> > > > >   };<br>
> > > > >   import filter {<br>
> > > > >     if dest = RTD_UNREACHABLE then reject;<br>
> > > > >     if (net = <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a>) then accept;<br>
> > > > >     reject;<br>
> > > > >   };<br>
> > > > > }<br>
> > > > ><br>
> > > > ><br>
> > > > ><br>
> > > > > > Thanks,<br>
> > > > > > Luke<br>
> > > > > ><br>
> > > > > ><br>
> > > > > ><br>
> > > > > > > You can also make some external daemon watching your kernel routes<br>
> > > > > > > and adding/deleting the aggregate route to the table.<br>
> > > > > > ><br>
> > > > > > > Regards,<br>
> > > > > > > Alexander<br>
> > > > > > ><br>
> > > > > > > On Sat, Jan 13, 2024 at 2:05 AM Lukas Haase via Bird-users<br>
> > > > > > > <<a href="mailto:bird-users@network.cz" target="_blank" rel="noreferrer">bird-users@network.cz</a>> wrote:<br>
> > > > > > > ><br>
> > > > > > > > Hi,<br>
> > > > > > > ><br>
> > > > > > > > Is is somehow possible to export a larger prefix if one or more sub-prefixes (subnets) are exported ... but also remove that prefix if no smaller subnet exist any more?<br>
> > > > > > > ><br>
> > > > > > > > Example: As soon as <a href="http://192.0.2.44/32" rel="noreferrer noreferrer" target="_blank">192.0.2.44/32</a> or <a href="http://192.0.2.208/28" rel="noreferrer noreferrer" target="_blank">192.0.2.208/28</a> (or any other prefix inside <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a>) is exported via eBGP, also export prefix <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a>. If no sub-prefixes are left, also remove <a href="http://192.0.2.0/24" rel="noreferrer noreferrer" target="_blank">192.0.2.0/24</a> from export.<br>
> > > > > > > ><br>
> > > > > > > > Background for my question is BGP. As is well known, the smallest prefix I can announce over eBGP is /24. I use bird as a border gateway and I announce various smaller prefixes via iBGP. The smaller prefixes will take precedence in my peering neighboring AS but the /24 is required to announce my network farther out.<br>
> > > > > > > ><br>
> > > > > > > > But why would I want that? Because there are actually two border gateways. If all internal links to one of these gateways breaks, the full subnet should not be announced any more (otherwise the traffic would be dropped). If at least one subnet is announced, I assume that the internal mesh is strong enough to find its way.<br>
> > > > > > > ><br>
> > > > > > > ><br>
> > > > > > > > Thanks,<br>
> > > > > > > > Luke<br>
> > > > > > > ><br>
> > > > > > > ><br>
> > > > > > ><br>
> > > > ><br>
> > ><br>
><br>
</blockquote></div></div></div>