0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 10:11:53 +00:00
bird/sysdep/cf
Ondrej Zajicek (work) 318acb0f6c BSD: Use MSG_DONTROUTE for unicast packets on FreeBSD
BSD systems cannot use SO_DONTROUTE, because it does not work properly
with multicast packets (perhaps it tries to find iface based on multicast
group address). But we can use MSG_DONTROUTE sendmsg() flag for unicast
packets. Works on FreeBSD, is ignored on OpenBSD and is broken on NetBSD
(i guess due to integrated routing table and ARP table).
2018-07-28 16:54:06 +02: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 Add support for source-specific IPv6 routes to BIRD core 2018-02-13 16:39:07 +01:00
README BSD: Use MSG_DONTROUTE for unicast packets on FreeBSD 2018-07-28 16:54:06 +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_ALL_TABLES_AT_ONCE	Kernel scanner wants to process all tables at once
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()