diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index ad02e27a0e..46a36a1a82 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -4032,6 +4032,14 @@ print_support_extended_ifa_flags (NMSettingIP6ConfigPrivacy use_tempaddr) warn = 2; } +static void +nm_device_set_mtu (NMDevice *self, guint32 mtu) +{ + /* MTU */ + if (mtu && mtu != nm_platform_link_get_mtu (ifindex)) + nm_platform_link_set_mtu (ifindex, mtu); +} + static void nm_device_ipv6_set_mtu (NMDevice *self, guint32 mtu) { @@ -5895,6 +5903,8 @@ nm_device_set_ip4_config (NMDevice *self, if (commit && new_config) { gboolean assumed = nm_device_uses_assumed_connection (self); + nm_device_set_mtu (self, nm_ip4_config_get_mtu (new_config)); + /* for assumed devices we set the device_route_metric to the default which will * stop nm_platform_ip4_address_sync() to replace the device routes. */ success = nm_ip4_config_commit (new_config, ip_ifindex, diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c index db2ef15834..0b6fc49ff5 100644 --- a/src/nm-ip4-config.c +++ b/src/nm-ip4-config.c @@ -254,7 +254,6 @@ gboolean nm_ip4_config_commit (const NMIP4Config *config, int ifindex, guint32 default_route_metric) { NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (config); - guint32 mtu = nm_ip4_config_get_mtu (config); int i; g_return_val_if_fail (ifindex > 0, FALSE); @@ -289,10 +288,6 @@ nm_ip4_config_commit (const NMIP4Config *config, int ifindex, guint32 default_ro return FALSE; } - /* MTU */ - if (mtu && mtu != nm_platform_link_get_mtu (ifindex)) - nm_platform_link_set_mtu (ifindex, mtu); - return TRUE; }