[2/2] In BSD IP_RECVIF can be used as analogue of the Linux socket option SO_BINDTODEVICE.
diff mbox

Message ID 1399542320-60500-1-git-send-email-koue@chaosophia.net
State Accepted
Headers show

Commit Message

Nikola Kolev May 8, 2014, 9:45 a.m. UTC
---
 openbsc/src/ipaccess/ipaccess-find.c | 5 +++++
 1 file changed, 5 insertions(+)

Patch
diff mbox

diff --git a/openbsc/src/ipaccess/ipaccess-find.c b/openbsc/src/ipaccess/ipaccess-find.c
index bb9819e..c8de157 100644
--- a/openbsc/src/ipaccess/ipaccess-find.c
+++ b/openbsc/src/ipaccess/ipaccess-find.c
@@ -41,8 +41,13 @@  static int udp_sock(const char *ifname)
 		return fd;
 
 	if (ifname) {
+#ifdef __FreeBSD__
+		rc = setsockopt(fd, SOL_SOCKET, IP_RECVIF, ifname,
+				strlen(ifname));
+#else
 		rc = setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, ifname,
 				strlen(ifname));
+#endif
 		if (rc < 0)
 			goto err;
 	}