diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-06-26 13:47:21 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-06-26 13:47:21 +0200 |
| commit | 3f9c2931992b8362c6a33be18d6cd6f831cc8623 (patch) | |
| tree | ab17fd9795c769eba9c272836ede969fb3b93327 /executor | |
| parent | 5e7849c5d16ce9e941cb8ecadcabed7fc43566ce (diff) | |
executor: don't crash during tun setup if ipv6 is not enabled
Some options that tun initialization sets up are optional.
Don't fail if they are missing in kernel.
Diffstat (limited to 'executor')
| -rw-r--r-- | executor/common_linux.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/executor/common_linux.h b/executor/common_linux.h index 66247a952..661f58c94 100644 --- a/executor/common_linux.h +++ b/executor/common_linux.h @@ -371,18 +371,21 @@ static void initialize_tun(void) debug("tun_frags_enabled=%d\n", tun_frags_enabled); // Disable IPv6 DAD, otherwise the address remains unusable until DAD completes. - execute_command(1, "sysctl -w net.ipv6.conf.%s.accept_dad=0", TUN_IFACE); + // Don't panic because this is an optional config. + execute_command(0, "sysctl -w net.ipv6.conf.%s.accept_dad=0", TUN_IFACE); // Disable IPv6 router solicitation to prevent IPv6 spam. - execute_command(1, "sysctl -w net.ipv6.conf.%s.router_solicitations=0", TUN_IFACE); + // Don't panic because this is an optional config. + execute_command(0, "sysctl -w net.ipv6.conf.%s.router_solicitations=0", TUN_IFACE); // There seems to be no way to disable IPv6 MTD to prevent more IPv6 spam. execute_command(1, "ip link set dev %s address %s", TUN_IFACE, LOCAL_MAC); execute_command(1, "ip addr add %s/24 dev %s", LOCAL_IPV4, TUN_IFACE); - execute_command(1, "ip -6 addr add %s/120 dev %s", LOCAL_IPV6, TUN_IFACE); execute_command(1, "ip neigh add %s lladdr %s dev %s nud permanent", REMOTE_IPV4, REMOTE_MAC, TUN_IFACE); - execute_command(1, "ip -6 neigh add %s lladdr %s dev %s nud permanent", + // Don't panic because ipv6 may be not enabled in kernel. + execute_command(0, "ip -6 addr add %s/120 dev %s", LOCAL_IPV6, TUN_IFACE); + execute_command(0, "ip -6 neigh add %s lladdr %s dev %s nud permanent", REMOTE_IPV6, REMOTE_MAC, TUN_IFACE); execute_command(1, "ip link set dev %s up", TUN_IFACE); } |
