]> git.ipfire.org Git - thirdparty/bird.git/commit
BSD: Use MSG_DONTROUTE for unicast packets on FreeBSD
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Sat, 28 Jul 2018 14:54:06 +0000 (16:54 +0200)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Sat, 28 Jul 2018 14:54:06 +0000 (16:54 +0200)
commit318acb0f6cb77a32aad5d7f79e06f3c5065ac702
tree4dba6f78145f0fcb65c228bbc7e3ad1559e4a6a3
parent0ed3129f6b0a80afea877340d940e45f1a5d3000
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).
lib/ip.h
sysdep/bsd/sysio.h
sysdep/cf/README
sysdep/unix/io.c