NetworkManager/src/devices
Beniamino Galvani 0f80291a93 device: fix setting MTU from connection when limited by parent
We try to set only one time the MTU from the connection to not
interfere with manual user changes.

If at some point the parent interface changes temporarily MTU to a
lower value (for example, because the connection was reactivated), the
kernel will also lower the MTU on child interface and we will not
update it ever again.

Add a workaround to this. If we detect that the MTU we want to set
from connection is higher that the allowed one, go into a state where
we follow the parent MTU until it is possible to set again the desired
MTU. This is a bit ugly, but I can't think of any nicer way to do it.

https://bugzilla.redhat.com/show_bug.cgi?id=1751079
(cherry picked from commit ec28f5b343)
(cherry picked from commit 49857ed279)
2020-03-16 11:55:02 +01:00
..
adsl shared: move udev helper to separate directory "shared/nm-udev-aux" 2019-04-18 19:46:50 +02:00
bluetooth bluetooth: fix leak in get_managed_objects_cb() 2019-08-23 13:19:11 +02:00
ovs ovs: check state before starting ip configuration after link change 2019-12-14 21:10:14 +01:00
team device: fix releasing slaves 2019-08-01 09:37:45 +02:00
tests build/meson: rename platform tests to use same name as autotools 2019-10-08 15:26:49 +02:00
wifi device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
wwan device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
meson.build build: add initial support for meson build system 2017-12-13 15:48:50 +01:00
nm-acd-manager.c acd: poll the acd fd after starting the announcements 2019-11-06 16:42:02 +01:00
nm-acd-manager.h acd: return error code from nm_acd_manager_start_probe() 2019-04-04 09:56:19 +02:00
nm-device-6lowpan.c platform: merge NMPlatformError with nm-error 2018-12-27 21:33:59 +01:00
nm-device-6lowpan.h devices: add NMDevice6Lowpan 2018-06-26 16:21:55 +02:00
nm-device-bond.c device: fix releasing slaves 2019-08-01 09:37:45 +02:00
nm-device-bond.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-device-bridge.c device: fix releasing slaves 2019-08-01 09:37:45 +02:00
nm-device-bridge.h bridge: move the Bluetooth NAP logic to bridge device 2017-06-01 11:57:42 +02:00
nm-device-dummy.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-device-dummy.h core: add support for dummy devices 2017-02-22 21:05:04 +01:00
nm-device-ethernet-utils.c device: fix a wrong comparison 2018-10-06 10:03:48 +02:00
nm-device-ethernet-utils.h settings: use delegation instead of inheritance for NMSettingsConnection and NMConnection 2018-08-28 22:27:55 +02:00
nm-device-ethernet.c device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
nm-device-ethernet.h all: replace non-leading tabs with spaces 2018-02-07 13:32:04 +01:00
nm-device-factory.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-device-factory.h core: device-factory: implement match_connection() 2017-08-05 08:03:16 +02:00
nm-device-generic.c core: give better error reason why device is incompatible with profile 2018-07-24 09:39:09 +02:00
nm-device-generic.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-device-infiniband.c device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
nm-device-infiniband.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-device-ip-tunnel.c device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
nm-device-ip-tunnel.h core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API 2018-03-12 18:37:08 +01:00
nm-device-logging.h Revert "device: log device type too" 2017-10-31 18:48:41 +01:00
nm-device-macsec.c macsec: update MTU according to parent's one 2020-03-16 11:54:59 +01:00
nm-device-macsec.h core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API 2018-03-12 18:37:08 +01:00
nm-device-macvlan.c macvlan: update MTU according to parent's one 2020-03-16 11:55:00 +01:00
nm-device-macvlan.h core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API 2018-03-12 18:37:08 +01:00
nm-device-ppp.c device: ppp: check that connection has a PPPoE parent 2019-07-03 17:59:00 +02:00
nm-device-ppp.h device: add NMDevicePPP 2017-08-05 08:03:15 +02:00
nm-device-private.h device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
nm-device-tun.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-device-tun.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-device-veth.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-device-veth.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-device-vlan.c device: introduce generic function to inherit MTU from parent 2020-03-16 11:54:54 +01:00
nm-device-vlan.h core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API 2018-03-12 18:37:08 +01:00
nm-device-vxlan.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-device-vxlan.h core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API 2018-03-12 18:37:08 +01:00
nm-device-wireguard.c device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
nm-device-wireguard.h core: introduce NMDeviceWireGuard 2018-08-06 08:34:27 +02:00
nm-device-wpan.c all: drop unnecessary includes of <errno.h> and <string.h> 2019-02-12 08:50:28 +01:00
nm-device-wpan.h devices: add NMDeviceWpan 2018-06-26 16:21:54 +02:00
nm-device.c device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
nm-device.h device: fix setting MTU from connection when limited by parent 2020-03-16 11:55:02 +01:00
nm-lldp-listener.c core/lldp: minor cleanup in _lldp_attr_*() 2019-08-01 15:22:00 +02:00
nm-lldp-listener.h core: refactor private data for NMExportedObject and others 2016-10-03 12:04:14 +02:00