bird 2.0.4 autodetects /30 as ptp

Cybertinus bird at cybertinus.nl
Tue Mar 26 09:00:06 CET 2019


On 2019-03-26 08:49, Kenth Eriksson wrote:
> On Mon, 2019-03-25 at 21:09 +0100, Ondrej Zajicek wrote:
>> CAUTION: This email originated from outside of the organization. Do
>> not click links or open attachments unless you recognize the sender
>> and know the content is safe.
>> 
>> 
>> On Mon, Mar 25, 2019 at 03:06:29PM +0000, Kenth Eriksson wrote:
>> > It seems as bird autodetects a /30 OSPF interface as ptp.
>> >
>> > bird> show ospf interface
>> > ospfv2_1:
>> > Interface eth0 (10.210.138.32/30)
>> >         Type: ptp
>> >         Area: 0.0.0.0 (0)
>> >         State: PtP
>> >         Priority: 0
>> >         Cost: 10
>> >         Hello timer: 10
>> >         Wait timer: 40
>> >         Dead timer: 40
>> >         Retransmit timer: 5
>> > bird>
>> >
>> > Is this really correct behaviour? The peering Cisco router thinks
>> > the
>> > /30 network is a broadcast interface...
>> 
>> Well, OSPF RFC speaks about broadcast and ptp networks/interfaces,
>> but it
>> is not really explicit about which networks are 'broadcast' and which
>> are
>> 'ptp'. One could think about medium types (ethernet vs. serial link),
>> physical topologies (star/bus vs. ptp link) or addressing (unnumbered
>> or 'ptp' addresses vs /30 vs wider prefix).
>> 
>> BIRD uses the third approach and autodetect unnumbered / ptp / /30 as
>> ptp, while wider prefix as broadcast (or PtMP / NBMA if the interface
>> does not support multicast). That is because in such cases it is not
>> possible to have more than two nodes in the same L3 network, so it is
>> not
>> necessary to use the more complicated and error prone broadcast mode.
>> 
>> There is RFC 5309 that discusses this issue, which implies that was
>> perhaps meant more in the first sense (medium types).
>> 
>> It is possible that other implementations use other heuristics, which
>> causes compatibility issues in default setting. Perhaps we could
>> change
>> it (in some major release) if there is a clear consensus about the
>> proper
>> behavior.
>> 
> 
> I can see the rationale of saying that a /30 network can run with OSPF
> interfaces in ptp mode since there are only 2 hosts on it. That said, I
> *believe* the Cisco routers defaults to broadcast mode for a /30 which
> would cause some interop issues with the default settings. I don't know
> the default values for other vendors.
> 
> Is it possible to change the autodetect using a function in the bird
> configuration file? E.g. if the prefix length of the interface is 31 or
> 32 then use ptp mode else use broadcast mode.

If you are willing to change the default config with a config setting, 
why not just configure the OSPF interface as ptp or broadcast, as 
needed? :). Not trying to be a smart-ass here, but just wondering what 
would be the added value of such a config setting?

> 
>> --
>> Elen sila lumenn' omentielvo
>> 
>> Ondrej 'Santiago' Zajicek (email: santiago at 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."


Kind regards,
Cybertinus


More information about the Bird-users mailing list