mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-27 21:00:10 +01:00
device: don't modify the device MTU if it's unset
The MTU of 0 means default, not zero-length packets:
<warn> (wlp3s0): Lowering IPv6 MTU (1472) to match device MTU (0)
<warn> (wlp3s0): IPv6 MTU (0) smaller than 1280, adjusting
<warn> (wlp3s0): Raising device MTU (0) to match IPv6 MTU (1280)
<error> [1437068831.306733] [platform/nm-linux-platform.c:2440] sysctl_set(): platform-linux: sysctl: failed to set '/proc/sys/net/ipv6/conf/wlp3s0/mtu' to '1472': (22) Invalid argument
Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=752508
(cherry picked from commit a92d8b0c67)
This commit is contained in:
parent
375100715f
commit
82da29746d
1 changed files with 3 additions and 3 deletions
|
|
@ -4492,19 +4492,19 @@ nm_device_ipv6_set_mtu (NMDevice *self, guint32 mtu)
|
|||
|
||||
priv->ip6_mtu = mtu ?: plat_mtu;
|
||||
|
||||
if (priv->ip6_mtu && priv->mtu < priv->ip6_mtu) {
|
||||
if (priv->ip6_mtu && priv->mtu && priv->mtu < priv->ip6_mtu) {
|
||||
_LOGW (LOGD_DEVICE | LOGD_IP6, "Lowering IPv6 MTU (%d) to match device MTU (%d)",
|
||||
priv->ip6_mtu, priv->mtu);
|
||||
priv->ip6_mtu = priv->mtu;
|
||||
}
|
||||
|
||||
if (priv->ip6_mtu < 1280) {
|
||||
if (priv->ip6_mtu && priv->ip6_mtu < 1280) {
|
||||
_LOGW (LOGD_DEVICE | LOGD_IP6, "IPv6 MTU (%d) smaller than 1280, adjusting",
|
||||
priv->ip6_mtu);
|
||||
priv->ip6_mtu = 1280;
|
||||
}
|
||||
|
||||
if (priv->mtu < priv->ip6_mtu) {
|
||||
if (priv->ip6_mtu && priv->mtu && priv->mtu < priv->ip6_mtu) {
|
||||
_LOGW (LOGD_DEVICE | LOGD_IP6, "Raising device MTU (%d) to match IPv6 MTU (%d)",
|
||||
priv->mtu, priv->ip6_mtu);
|
||||
nm_device_set_mtu (self, priv->ip6_mtu);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue