aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-02-18 08:41:46 +0100
committerDmitry Vyukov <dvyukov@google.com>2020-02-18 10:31:02 +0100
commit39cd0f85a1ac60b88c793bd8f4a981227614da88 (patch)
tree1b2085d375199b8ce1251a41218129ceea1209db /pkg
parentb97f1e694a1c096eac2f48c6e3ca47e8a3c4693c (diff)
executor: disable IFF_NAPI_FRAGS
Update #1594
Diffstat (limited to 'pkg')
-rw-r--r--pkg/csource/generated.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go
index 5f4525627..13eb885b9 100644
--- a/pkg/csource/generated.go
+++ b/pkg/csource/generated.go
@@ -1536,16 +1536,23 @@ static void initialize_tun(void)
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
strncpy(ifr.ifr_name, TUN_IFACE, IFNAMSIZ);
- ifr.ifr_flags = IFF_TAP | IFF_NO_PI | IFF_NAPI | IFF_NAPI_FRAGS;
+ ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
+#if ENABLE_NAPI_FRAGS
+ ifr.ifr_flags |= IFF_NAPI | IFF_NAPI_FRAGS;
+#endif
if (ioctl(tunfd, TUNSETIFF, (void*)&ifr) < 0) {
+#if ENABLE_NAPI_FRAGS
ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
if (ioctl(tunfd, TUNSETIFF, (void*)&ifr) < 0)
+#endif
fail("tun: ioctl(TUNSETIFF) failed");
}
+#if ENABLE_NAPI_FRAGS
if (ioctl(tunfd, TUNGETIFF, (void*)&ifr) < 0)
fail("tun: ioctl(TUNGETIFF) failed");
tun_frags_enabled = (ifr.ifr_flags & IFF_NAPI_FRAGS) != 0;
debug("tun_frags_enabled=%d\n", tun_frags_enabled);
+#endif
char sysctl[64];
sprintf(sysctl, "/proc/sys/net/ipv6/conf/%s/accept_dad", TUN_IFACE);
write_file(sysctl, "0");