--- openbsc/src/ipaccess/ipaccess-find.c | 5 +++++ 1 file changed, 5 insertions(+)
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; }