[MEDIUM] add support for source interface binding at the server level
Add support for "interface <name>" after the "source" statement on
the server line.
diff --git a/src/backend.c b/src/backend.c
index a6a0351..e1911c5 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1719,6 +1719,11 @@
break;
}
#endif
+#ifdef SO_BINDTODEVICE
+ /* Note: this might fail if not CAP_NET_RAW */
+ if (s->srv->iface_name)
+ setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, s->srv->iface_name, s->srv->iface_len);
+#endif
ret = tcpv4_bind_socket(fd, flags, &s->srv->source_addr, remote);
if (ret) {
close(fd);