bird/sysdep/cf
Alexander V. Chernikov a80cd47074 Netlink on FreeBSD support
Netlink support was added to FreeBSD recently. It is not as full-featured
as its Linux counterpart yet, however the added subset is enough to make
a routing daemon work. Specifically, it supports multiple tables,
multipath, nexthops and nexthops groups. No MPLS support yet.

The attached change adds 'bsd-netlink’ sysconf target, allowing to build
both netlink & rtsock versions on FreeBSD.
2022-12-09 16:01:30 +01:00
..
bsd-netlink.h Netlink on FreeBSD support 2022-12-09 16:01:30 +01:00
bsd.h Build system reworked to one global Makefile with includes and no nesting 2016-05-10 14:07:34 +02:00
linux.h Netlink on FreeBSD support 2022-12-09 16:01:30 +01:00
README KRT: Scan routing tables separetely on linux to avoid congestion 2022-07-24 02:15:20 +02:00

Available configuration variables:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CONFIG_AUTO_ROUTES	Device routes are added automagically by the kernel
CONFIG_SELF_CONSCIOUS	We're able to recognize whether route was installed by us
CONFIG_MULTIPLE_TABLES	The kernel supports multiple routing tables
CONFIG_SINGLE_ROUTE	There is only one route per network

CONFIG_MC_PROPER_SRC	Multicast packets have source address according to socket saddr field
CONFIG_SKIP_MC_BIND	Don't call bind on multicast socket (def for *BSD)
CONFIG_NO_IFACE_BIND	Bind to iface is not available, use workarounds (def for *BSD)
CONFIG_UNIX_DONTROUTE	Use setsockopts DONTROUTE (undef for *BSD)
CONFIG_DONTROUTE_UNICAST Use MSG_DONTROUTE flag for unicast packets (def for FreeBSD)
CONFIG_USE_HDRINCL	Use IP_HDRINCL instead of control messages for source address on raw IP sockets.

CONFIG_RESTRICTED_PRIVILEGES	Implements restricted privileges using drop_uid()