Exporting a larger prefix if a smaller prefix is being exported

Alexander Zubkov green at qrator.net
Sat Jan 13 15:31:16 CET 2024


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. 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
<bird-users at network.cz> 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
>
>



More information about the Bird-users mailing list