On Sun, Mar 20, 2011 at 03:47:21PM +0100, Ondrej Zajicek wrote:
For a while, BIRD handles more addresses on one iface as a virtually separate ifaces/networks (that is, AFAIK, the same way as Quagga handles that). You can check that with 'show ospf interface'. So in your case, you got two adjacencies between the routers with the same cost and it is up to a chance which will be chosen as a route. When you blocked private addresses, one adjacency broke.
Hi. Thanks. I thought that the primary definition still had a meaning.
So you would need to specify addresses (or at least prefixes) in interface definitions. See http://bird.network.cz/?get_doc&f=bird-3.html#dsc-iface for details. You could either add prefixes to interface definitions to restrict application of that definitions on the public addresses, or you could add something like this as the first definition:
interface 192.168.0.0/16 { stub; };
That would match all private addresses and change that to stubs, public addresses get over that and matches with later definitions.
Is it possible to use sets in the interface definition? like interface 10.0.0.0/8+ { stub; }; to match all the possible prefixes from the 10.0.0.0/8 private definition? mk