]> 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 17:30:56 +0000 (19:30 +0200)
commit6be71641ef3baa8658d031f3624f4481b493bdaf
tree4d2064ba61b1460bad4aa47a820e99ced14976b9
parent3140c8b2ca48263da1a1f12b478031dc4b572db7
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