Hi Alex,
> Gesendet: Samstag, 13. Januar 2024 um 06:31 Uhr
> Von: "Alexander Zubkov" <[email protected]>
> An: "Lukas Haase" <[email protected]>
> Cc: [email protected]
> Betreff: Re: Exporting a larger prefix if a smaller prefix is being exported
>
> Hi,
>
> You cannot do "direct" prefix aggregation to a lager prefix in Bird
> yet. But there are some ways to workaround it. You can define a static
> route with recursive nex-hop like 192.0.2.x, and filter it out when it
> is not reachable, but for any subprefix in /24 you would need to
> define 256 of such static routes. So it is up to you how practical it
> is.
Interesting idea, this would be practical for me but I do not completely
understand yet what you mean.
Which routes would I define and what would be the next hop ("like 192.0.2.x")?
As an example, suppose the following prefixes are in my routing table and are
directly or indirectly reachable: 192.0.2.208/28, 192.0.2.250/31,
192.0.2.184/29, 192.0.2.254/31, 192.0.2.176/29.
Are you proposing?
protocol static prefix_aggregation
{
route 192.0.2.0/24 via 192.0.2.209;
route 192.0.2.0/24 via 192.0.2.250;
route 192.0.2.0/24 via 192.0.2.285;
route 192.0.2.0/24 via 192.0.2.254;
route 192.0.2.0/24 via 192.0.2.177;
}
If so, how do I avoid that 192.0.2.0/24 will be exported five times?
And how do I set up an export filter on "next-hop is not reachable"?
By the way, the sub-prefixes, would I just export via a filter like this?
export filter {
if (net ~ [192.0.2.0/24{25,32}]) then {
accept;
}
reject;
}
Thanks,
Luke
> You can also make some external daemon watching your kernel routes
> and adding/deleting the aggregate route to the table.
>
> Regards,
> Alexander
>
> On Sat, Jan 13, 2024 at 2:05 AM Lukas Haase via Bird-users
> <[email protected]> wrote:
> >
> > Hi,
> >
> > 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?
> >
> > Example: As soon as 192.0.2.44/32 or 192.0.2.208/28 (or any other prefix
> > inside 192.0.2.0/24) is exported via eBGP, also export prefix 192.0.2.0/24.
> > If no sub-prefixes are left, also remove 192.0.2.0/24 from export.
> >
> > 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.
> >
> > 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.
> >
> >
> > Thanks,
> > Luke
> >
> >
>