device: always allow reapply of MTU from wired setting

Many device types take the MTU value from the wired setting; usually
they don't implement the can_reapply_change() method and so the MTU
can't be changed with the Reapply() API.

Instead of implementing the method for all such devices to support the
same property (adding a lot of duplicated code), add a check in
NMDevice to allow the reapply of MTU when we recognize that the device
uses the MTU from the wired setting.

Device types can still decide to implement can_reapply_change() and
support whatever properties they want, even from the wired setting.

(cherry picked from commit 9339d3310e)
(cherry picked from commit 1191eba15a)
This commit is contained in:
Beniamino Galvani 2019-12-05 15:39:56 +01:00
parent 4134023a29
commit 0064401e35

View file

@ -11497,6 +11497,14 @@ can_reapply_change (NMDevice *self,
NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_SETTING_NAME)) {
return TRUE;
} else if ( nm_streq (setting_name, NM_SETTING_WIRED_SETTING_NAME)
&& NM_IN_SET (NM_DEVICE_GET_CLASS (self)->get_configured_mtu,
nm_device_get_configured_mtu_wired_parent,
nm_device_get_configured_mtu_for_wired)) {
return nm_device_hash_check_invalid_keys (diffs,
NM_SETTING_WIRED_SETTING_NAME,
error,
NM_SETTING_WIRED_MTU);
} else {
g_set_error (error,
NM_DEVICE_ERROR,