28 lines
802 B
Diff
28 lines
802 B
Diff
From 03a0daf4b4dc010debf534f28c37cf65e07c1037 Mon Sep 17 00:00:00 2001
|
|
From: gaoxingwang <gaoxingwang@huawei.com>
|
|
Date: Thu, 15 Jul 2021 18:37:32 +0800
|
|
Subject: [PATCH] add SO_BINDTODEVICE
|
|
|
|
---
|
|
src/ndisc.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/src/ndisc.c b/src/ndisc.c
|
|
index bfd7cb7..0adedf5 100644
|
|
--- a/src/ndisc.c
|
|
+++ b/src/ndisc.c
|
|
@@ -783,6 +783,10 @@ ndisc (const char *name, const char *ifname, unsigned flags, unsigned retry,
|
|
}
|
|
|
|
setsockopt (fd, SOL_SOCKET, SO_DONTROUTE, &(int){ 1 }, sizeof (int));
|
|
+ struct ifreq req;
|
|
+ memset(&req, 0, sizeof(struct ifreq));
|
|
+ strncpy(req.ifr_name, ifname, IFNAMSIZ - 1);
|
|
+ setsockopt (fd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&req, sizeof(req));
|
|
|
|
/* sets Hop-by-hop limit to 255 */
|
|
sethoplimit (fd, 255);
|
|
--
|
|
2.27.0
|
|
|