Is BIRD on BSD a second class citizen?

Maria Matejka jan.matejka at nic.cz
Fri Oct 4 00:00:16 CEST 2019


Hello!

TL;DR: we consider them equal wrt. bugs or feature requests

> (reminder: please keep me in CC, the mailing list issue is still unsolved)
> 
> so far we get the impression that BIRD on BSD appears to
> be somewhat less supported when compared to Linux based systems.

Well, honestly, all the current developers are based on Linux and we
also know more about Linux than about BSD, regarding the features and
specifics. Anyway, we try to use as few Linux-specific things as
possible. We also get much more feature requests for Linux-specific
things than BSD-specific.

> The two main points being so far:
> - security: no privilege dropping on BSD

This is not so easy when BIRD has to keep its privilege to open sockets
on port < 1024. There would be three different implementations for
FreeBSD, NetBSD and OpenBSD. And if I google it correctly, OpenBSD still
doesn't allow dropping root privileges but keeping the right to open
privilege sockets. There has been simply no feature request for this on
BSDs so far.

If anybody comes with a working fix for this feature that has been there
Linux-only since 2011, we'll happily merge it. It's even OK to create
the patch without bothering with our system-choosing macros. We'll take
care of these.

> - performance issue when syncing with kernel routing table?

This is a feature of the BSD's route table dump. It will be solved after
implementing parallel execution -- which is currently in heavy
development. An optimistic estimation for resolving this is in July 2020
for now.

If the method we are using for BSD route table dump is somehow broken,
please let us know. We may just not know about better method and then it
may be fixed earlier.

> Are there more limitations of BIRD on BSD?

The only limitations are as you can see in the sysdep/ subdirectory.
These are not documented; probably mostly for lack of time. If anybody
documented these, patches to docs are especially welcome.

> Do you actively recommend running BIRD on Linux (and against BSD)?

No, why? There is no reason for recommending this or other. There are
users running BIRD on FreeBSD for years. We also run some partially
automated run tests on FreeBSD, NetBSD and OpenBSD before releases.

I even thought about replacing the poll mechanism in BIRD's IO loop by
kqueue / epoll with different code for BSD and Linux. (And it still may
happen in future.)

Maria


More information about the Bird-users mailing list