From 10bad1031e8d45b3833abb42171d4a7527bca8f1 Mon Sep 17 00:00:00 2001 From: Nikola Kolev Date: Thu, 8 May 2014 12:45:20 +0300 Subject: ipa: Fix the compilation of ipaccess-find on FreeBSD FreeBSD does not offer the SO_BINDTODEVICE option. The closest thing is the IP_RECVIF option and this is used here now. --- openbsc/src/ipaccess/ipaccess-find.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'openbsc/src/ipaccess') diff --git a/openbsc/src/ipaccess/ipaccess-find.c b/openbsc/src/ipaccess/ipaccess-find.c index bb9819ed1..c8de157b9 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; } -- cgit v1.2.3