]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Use IP_ONESBCAST at FreeBSD
authorPavel Tvrdik <pawel.tvrdik@gmail.com>
Wed, 6 Apr 2016 13:15:52 +0000 (15:15 +0200)
committerPavel Tvrdik <pawel.tvrdik@gmail.com>
Wed, 6 Apr 2016 13:57:14 +0000 (15:57 +0200)
IP_ONESBCAST allows send universal broadcast via requested interface
using directed broadcast.

sysdep/unix/io.c

index 8c84af61e3959a52f9ed53336a9344e40f2758b2..80eff1a46d6cd1761ea69fc081d480842e985e3a 100644 (file)
@@ -903,6 +903,11 @@ sk_setup_broadcast(sock *s)
   if (setsockopt(s->fd, SOL_SOCKET, SO_BROADCAST, &y, sizeof(y)) < 0)
     ERR("SO_BROADCAST");
 
+#ifdef __FreeBSD__
+  if (setsockopt(s->fd, IPPROTO_IP, IP_ONESBCAST, &y, sizeof(y)) < 0)
+    ERR("IP_ONESBCAST");
+#endif
+
   return 0;
 }