From 6dc69a00f7be6524c84a538c40779eac9b4af269 Mon Sep 17 00:00:00 2001 From: Pavel Tvrdik Date: Wed, 6 Apr 2016 15:15:52 +0200 Subject: [PATCH] Use IP_ONESBCAST at FreeBSD IP_ONESBCAST allows send universal broadcast via requested interface using directed broadcast. --- sysdep/unix/io.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 8c84af61..80eff1a4 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -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; }