summaryrefslogtreecommitdiffhomepage
path: root/src/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/socket.c')
-rw-r--r--src/socket.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/socket.c b/src/socket.c
index 0473976..8ef44c1 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -370,8 +370,18 @@ int wg_socket_init(struct wg_device *wg, u16 port)
.use_udp6_rx_checksums = true,
.ipv6_v6only = true
};
+ if (wg->socketdev_index > 0) {
+ port6.bind_ifindex = wg->socketdev_index;
+ } else {
+ port6.bind_ifindex = 0;
+ }
#endif
+ if (wg->socketdev_index > 0) {
+ port4.bind_ifindex = wg->socketdev_index;
+ } else {
+ port4.bind_ifindex = 0;
+ }
rcu_read_lock();
net = rcu_dereference(wg->creating_net);
net = net ? maybe_get_net(net) : NULL;