OSPF, BSD: every additional IP on an interface gives another neighbour
The docs say: "... secondary switch On BSD systems, older versions of BIRD supported OSPFv2 only for the primary IP address of an interface, other IP ranges on the interface were handled as stub networks. Since v1.4.1, regular operation on secondary IP addresses is supported, but disabled by default for compatibility. This option allows to enable it. The option is a transitional measure, will be removed in the next major release as the behavior will be changed. On Linux systems, the option is irrelevant, as operation on non-primary addresses is already the regular behavior. ..." Let's focus on: "... Since v1.4.1, regular operation on secondary IP addresses is supported, but disabled by default for compatibility. This option allows to enable it. ..." My observations show that what actually happens when whether this option is On or it's Off is not anything regular. Instead for every additional IP there's "virtually" additional OSPF neighbour instance. bird> show ospf ospf1: RFC1583 compatibility: disabled Stub router: No RT scheduler tick: 1 Number of areas: 1 Number of LSAs in DB: 23 Area: 0.0.0.0 (0) [BACKBONE] Stub: No NSSA: No Transit: No Number of interfaces: 3 Number of neighbors: 3 Number of adjacent neighbors: 3 -- every IP-address on interface actually handled as separate interface with that IP, that's why this weirdness with neighbour count is seen. O_o Is it so on Linux as well, or BSD implementation specific? -- End of message. Next message?
On Sat, Jan 26, 2019 at 02:57:53PM +0700, Igor Podlesny wrote:
The docs say: "... secondary switch
Let's focus on: "... Since v1.4.1, regular operation on secondary IP addresses is supported, but disabled by default for compatibility. This option allows to enable it. ..."
My observations show that what actually happens when whether this option is On or it's Off is not anything regular. Instead for every additional IP there's "virtually" additional OSPF neighbour instance.
-- every IP-address on interface actually handled as separate interface with that IP, that's why this weirdness with neighbour count is seen.
O_o
Is it so on Linux as well, or BSD implementation specific?
Hi OSPFv2 does not allow multiple network prefixes per interface/network. To do so, they must be treated as 'virtual' interfaces for the purposes of OSPF (OSPFv3 fixed that by separating list of prefixes from network node). But multiple IP addresses from the same network prefix should not appear as separate iface. At least that is how it is intended and how it works on Linux. But it seems that the second part does not work properly on BSD. So it is useful in this case: eth0: 10.0.0.1/24, 10.0.1.1/24, 10.0.2.1/24 but not in this case: eth0: 10.0.0.1/24, 10.0.0.2/24, 10.0.0.3/24 -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
participants (2)
-
Igor Podlesny -
Ondrej Zajicek