Redistribute loopback in OSPF

Maximilian Wilhelm max at rfc2324.org
Wed May 17 22:52:43 CEST 2017


Anno domini 2017 Quentin Ritoul scripsit:

Hi,

> I'm starting to use Bird, and I try to redistribute loopback in ospf. (So
> it seems easy...)


[...]
> Below the configuration of rt01 and rt02 :
> 
> rt01 :
> 
> filter loopbacks {
>         if (net = 10.99.99.1/32 ) then accept;
>         else reject;
> }
> 
> protocol ospf {
>         import all;
>         export filter loopbacks;
> 
>         area 0 {
>                 interface "ens18" {
>                         cost 5;
>                         type broadcast;
>                         hello 5; retransmit 2; wait 10; dead 20;
>                         authentication cryptographic; password "toto";
>                 };
> 
>         };
> }
[...]

You are missing the piece where bird learns about the prefix(es) on
the "lo" interface. That would be a "protocol direct" for example.

For IPv4 the simplest way is to add "lo" as a stub interface (== learn
prefixes but don't actually speak the OSPF protocol)

protocol ospf {
	import all
	export none;

	area 0 {
		...

		interface "lo" {
			stub yes;
		};
	};
}

For IPv6 you need some hack, due to a limitation within bird (which I
hope some of the authors will explain to me ;)):

I use this the following way:

protocol direct lo_v6 {
	interface "lo";
}

protocol ospf {
	import all;
	export where protocol = "lo_v6";

	area 0 {
		...
	};
}

Best
Max
-- 
"Wer nicht mehr liebt und nicht mehr irrt, der lasse sich begraben."
 -- Johann Wolfgang von Goethe


More information about the Bird-users mailing list