Temporarily announcing more specific prefix?

Maximilian Wilhelm max at rfc2324.org
Mon Sep 21 20:59:19 CEST 2020


Anno domini 2020 Robert Sander scripsit:

Hi,

> I have the task to configure BIRD to be able to announce a more specific
> prefix temporarily to our BGP peers.
> 
> Currently we announce a /22 and want to be able to flip a switch and
> announce one /24 from that /22.
> 
> As we partition the network internally I cannot use the prefixes learned
> for the BGP announcements.
> 
> Currently there is one static protocol that contains the /22 and the
> export filter looks at the protocol name.
> 
> I was thinking about setting up another static protocol and enable it if
> needed. But the /24 is also used internally and therefor the preferred
> route in the table, even when the static protocol is enabled. This means
> I cannot filter on the protocol name in the export filter. I cannot
> filter on the prefix itself as it must not be exported always.

If the /24 is always present in the RIB why adding a static route for
it?

Just put another block into the BGP export filter for the /24 and
guard it with a global variable, so you just have to change the global
variable and "birdc c"


# Somewhere global, maybe in an own file
define MORE_SPECIFID = 0;

# Boiler plate export filter
filter some_export_filter {
	# regular annonucement(s)
	if net ~ [ aaa/22 ] then
		accept;

	if net ~ [ x/24 ] && MORE_SPECIFID = 1 then
		accept;

	reject;
}

Best
Max
-- 
"Does it bother me, that people hurt others, because they are to weak to face the truth? Yeah. Sorry 'bout that."
 -- Thirteen, House M.D.


More information about the Bird-users mailing list