chiark / gitweb /
networkd: bump MTU to 1280 for interfaces which have IPv6 enabled (#3077)
authorSusant Sahani <ssahani@users.noreply.github.com>
Thu, 21 Apr 2016 00:34:13 +0000 (06:04 +0530)
committerSven Eden <yamakuzure@gmx.net>
Fri, 16 Jun 2017 08:12:58 +0000 (10:12 +0200)
IPv6 protocol requires a minimum MTU of 1280 bytes on the interface.
This fixes #3046.

Introduce helper link_ipv6_enabled() to figure out whether IPV6 is enabled.
Introduce network_has_static_ipv6_addresses() to find out if any static
ipv6 address configured.
If IPv6 is not configured on any interface that is SLAAC, DHCPv6 and static
IPv6 addresses not configured, then IPv6 will be automatically disabled for that
interface, that is we write "1" to /proc/sys/net/ipv6/conf//disable_ipv6.

src/basic/missing.h

index f50ba94706fcf2386b7a46f65fb1535d91823d9f..0175747f8d1d40b8743514caf963b2ee908979c7 100644 (file)
@@ -959,6 +959,10 @@ static inline int setns(int fd, int nstype) {
 #define IPV6_UNICAST_IF 76
 #endif
 
+#ifndef IPV6_MIN_MTU
+#define IPV6_MIN_MTU 1280
+#endif
+
 #ifndef IFF_MULTI_QUEUE
 #define IFF_MULTI_QUEUE 0x100
 #endif