diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2018-06-12 15:12:53 +0200 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2018-06-20 18:49:56 +0200 |
commit | 9f8b0697de24e2b74c8514bb1db44a1a0f857cd9 (patch) | |
tree | c594159740e28571fc2004b63a3c289e70b08c94 | |
parent | d9df1f1d05f7c4fe7c6a4ff357fb8b7f2dbdcdce (diff) | |
download | NetworkManager-9f8b0697de24e2b74c8514bb1db44a1a0f857cd9.tar.gz |
device: introduce mtu source
Instead of returning a boolean @is_user_config value from
get_configured_mtu(), return an mtu-source enum with possible values
NONE,CONNECTION. This enum will be expanded later; for now there is no
change in behavior.
-rw-r--r-- | src/devices/nm-device-ethernet.c | 4 | ||||
-rw-r--r-- | src/devices/nm-device-infiniband.c | 4 | ||||
-rw-r--r-- | src/devices/nm-device-ip-tunnel.c | 4 | ||||
-rw-r--r-- | src/devices/nm-device-private.h | 4 | ||||
-rw-r--r-- | src/devices/nm-device-vlan.c | 6 | ||||
-rw-r--r-- | src/devices/nm-device.c | 21 | ||||
-rw-r--r-- | src/devices/nm-device.h | 7 | ||||
-rw-r--r-- | src/devices/wifi/nm-device-iwd.c | 4 | ||||
-rw-r--r-- | src/devices/wifi/nm-device-wifi.c | 4 | ||||
-rw-r--r-- | src/devices/wwan/nm-modem.c | 10 | ||||
-rw-r--r-- | src/devices/wwan/nm-modem.h | 2 |
11 files changed, 38 insertions, 32 deletions
diff --git a/src/devices/nm-device-ethernet.c b/src/devices/nm-device-ethernet.c index 87d16dbe37..a9a9f968e6 100644 --- a/src/devices/nm-device-ethernet.c +++ b/src/devices/nm-device-ethernet.c @@ -1317,13 +1317,13 @@ act_stage3_ip4_config_start (NMDevice *device, } static guint32 -get_configured_mtu (NMDevice *device, gboolean *out_is_user_config) +get_configured_mtu (NMDevice *device, NMDeviceMtuSource *out_source) { /* MTU only set for plain ethernet */ if (NM_DEVICE_ETHERNET_GET_PRIVATE ((NMDeviceEthernet *) device)->ppp_manager) return 0; - return nm_device_get_configured_mtu_for_wired (device, out_is_user_config); + return nm_device_get_configured_mtu_for_wired (device, out_source); } static void diff --git a/src/devices/nm-device-infiniband.c b/src/devices/nm-device-infiniband.c index 6afaf7ba26..99bcef0045 100644 --- a/src/devices/nm-device-infiniband.c +++ b/src/devices/nm-device-infiniband.c @@ -115,11 +115,11 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *out_failure_reason) } static guint32 -get_configured_mtu (NMDevice *device, gboolean *out_is_user_config) +get_configured_mtu (NMDevice *device, NMDeviceMtuSource *out_source) { return nm_device_get_configured_mtu_from_connection (device, NM_TYPE_SETTING_INFINIBAND, - out_is_user_config); + out_source); } static gboolean diff --git a/src/devices/nm-device-ip-tunnel.c b/src/devices/nm-device-ip-tunnel.c index 5abe36645e..2e266bb90a 100644 --- a/src/devices/nm-device-ip-tunnel.c +++ b/src/devices/nm-device-ip-tunnel.c @@ -741,11 +741,11 @@ create_and_realize (NMDevice *device, } static guint32 -get_configured_mtu (NMDevice *device, gboolean *out_is_user_config) +get_configured_mtu (NMDevice *device, NMDeviceMtuSource *out_source) { return nm_device_get_configured_mtu_from_connection (device, NM_TYPE_SETTING_IP_TUNNEL, - out_is_user_config); + out_source); } static NMDeviceCapabilities diff --git a/src/devices/nm-device-private.h b/src/devices/nm-device-private.h index b2217ac035..ba28e9e429 100644 --- a/src/devices/nm-device-private.h +++ b/src/devices/nm-device-private.h @@ -122,9 +122,9 @@ gint64 nm_device_get_configured_mtu_from_connection_default (NMDevice *self, guint32 nm_device_get_configured_mtu_from_connection (NMDevice *device, GType setting_type, - gboolean *out_is_user_config); + NMDeviceMtuSource *out_source); -guint32 nm_device_get_configured_mtu_for_wired (NMDevice *self, gboolean *out_is_user_config); +guint32 nm_device_get_configured_mtu_for_wired (NMDevice *self, NMDeviceMtuSource *out_source); void nm_device_commit_mtu (NMDevice *self); diff --git a/src/devices/nm-device-vlan.c b/src/devices/nm-device-vlan.c index a7f4c4bce4..d57c266064 100644 --- a/src/devices/nm-device-vlan.c +++ b/src/devices/nm-device-vlan.c @@ -534,13 +534,13 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *out_failure_reason) } static guint32 -get_configured_mtu (NMDevice *self, gboolean *out_is_user_config) +get_configured_mtu (NMDevice *self, NMDeviceMtuSource *out_source) { guint32 mtu = 0; int ifindex; - mtu = nm_device_get_configured_mtu_for_wired (self, out_is_user_config); - if (*out_is_user_config) + mtu = nm_device_get_configured_mtu_for_wired (self, out_source); + if (*out_source != NM_DEVICE_MTU_SOURCE_NONE) return mtu; /* Inherit the MTU from parent device, if any */ diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index dc73723cb2..1585ba49f5 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -8373,7 +8373,7 @@ nm_device_get_configured_mtu_from_connection_default (NMDevice *self, guint32 nm_device_get_configured_mtu_from_connection (NMDevice *self, GType setting_type, - gboolean *out_is_user_config) + NMDeviceMtuSource *out_source) { const char *global_property_name; NMConnection *connection; @@ -8382,7 +8382,7 @@ nm_device_get_configured_mtu_from_connection (NMDevice *self, guint32 mtu = 0; nm_assert (NM_IS_DEVICE (self)); - nm_assert (out_is_user_config); + nm_assert (out_source); connection = nm_device_get_applied_connection (self); if (!connection) @@ -8409,27 +8409,28 @@ nm_device_get_configured_mtu_from_connection (NMDevice *self, } else g_return_val_if_reached (0); + if (mtu) { - *out_is_user_config = TRUE; + *out_source = NM_DEVICE_MTU_SOURCE_CONNECTION; return mtu; } mtu_default = nm_device_get_configured_mtu_from_connection_default (self, global_property_name); if (mtu_default >= 0) { - *out_is_user_config = TRUE; + *out_source = NM_DEVICE_MTU_SOURCE_CONNECTION; return (guint32) mtu_default; } - *out_is_user_config = FALSE; + *out_source = NM_DEVICE_MTU_SOURCE_NONE; return 0; } guint32 -nm_device_get_configured_mtu_for_wired (NMDevice *self, gboolean *out_is_user_config) +nm_device_get_configured_mtu_for_wired (NMDevice *self, NMDeviceMtuSource *out_source) { return nm_device_get_configured_mtu_from_connection (self, NM_TYPE_SETTING_WIRED, - out_is_user_config); + out_source); } /*****************************************************************************/ @@ -8480,7 +8481,7 @@ _commit_mtu (NMDevice *self, const NMIP4Config *config) } { - gboolean mtu_is_user_config = FALSE; + NMDeviceMtuSource mtu_source = NM_DEVICE_MTU_SOURCE_NONE; guint32 mtu = 0; /* preferably, get the MTU from explict user-configuration. @@ -8488,9 +8489,9 @@ _commit_mtu (NMDevice *self, const NMIP4Config *config) * MTUs from DHCP/PPP) or maybe fallback to a device-specific MTU. */ if (NM_DEVICE_GET_CLASS (self)->get_configured_mtu) - mtu = NM_DEVICE_GET_CLASS (self)->get_configured_mtu (self, &mtu_is_user_config); + mtu = NM_DEVICE_GET_CLASS (self)->get_configured_mtu (self, &mtu_source); - if (mtu_is_user_config) + if (mtu_source == NM_DEVICE_MTU_SOURCE_CONNECTION) mtu_desired = mtu; else { if (config) diff --git a/src/devices/nm-device.h b/src/devices/nm-device.h index 0d4d5cf8c4..9332476a61 100644 --- a/src/devices/nm-device.h +++ b/src/devices/nm-device.h @@ -44,6 +44,11 @@ typedef enum { NM_DEVICE_SYS_IFACE_STATE_REMOVED, } NMDeviceSysIfaceState; +typedef enum { + NM_DEVICE_MTU_SOURCE_NONE, + NM_DEVICE_MTU_SOURCE_CONNECTION, +} NMDeviceMtuSource; + static inline NMDeviceStateReason nm_device_state_reason_check (NMDeviceStateReason reason) { @@ -287,7 +292,7 @@ typedef struct _NMDeviceClass { NMConnection *connection, char **specific_object); - guint32 (*get_configured_mtu) (NMDevice *self, gboolean *out_is_user_config); + guint32 (*get_configured_mtu) (NMDevice *self, NMDeviceMtuSource *out_source); /* Checks whether the connection is compatible with the device using * only the devices type and characteristics. Does not use any live diff --git a/src/devices/wifi/nm-device-iwd.c b/src/devices/wifi/nm-device-iwd.c index 32d9e783dc..579851851e 100644 --- a/src/devices/wifi/nm-device-iwd.c +++ b/src/devices/wifi/nm-device-iwd.c @@ -1316,11 +1316,11 @@ out: } static guint32 -get_configured_mtu (NMDevice *device, gboolean *out_is_user_config) +get_configured_mtu (NMDevice *device, NMDeviceMtuSource *out_source) { return nm_device_get_configured_mtu_from_connection (device, NM_TYPE_SETTING_WIRELESS, - out_is_user_config); + out_source); } static gboolean diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c index d2bda98bed..6bd06524ad 100644 --- a/src/devices/wifi/nm-device-wifi.c +++ b/src/devices/wifi/nm-device-wifi.c @@ -2786,11 +2786,11 @@ act_stage3_ip6_config_start (NMDevice *device, } static guint32 -get_configured_mtu (NMDevice *device, gboolean *out_is_user_config) +get_configured_mtu (NMDevice *device, NMDeviceMtuSource *out_source) { return nm_device_get_configured_mtu_from_connection (device, NM_TYPE_SETTING_WIRELESS, - out_is_user_config); + out_source); } static gboolean diff --git a/src/devices/wwan/nm-modem.c b/src/devices/wwan/nm-modem.c index ff1579d102..617d5c4a54 100644 --- a/src/devices/wwan/nm-modem.c +++ b/src/devices/wwan/nm-modem.c @@ -859,7 +859,7 @@ nm_modem_stage3_ip6_config_start (NMModem *self, } guint32 -nm_modem_get_configured_mtu (NMDevice *self, gboolean *out_is_user_config) +nm_modem_get_configured_mtu (NMDevice *self, NMDeviceMtuSource *out_source) { NMConnection *connection; NMSetting *setting; @@ -868,7 +868,7 @@ nm_modem_get_configured_mtu (NMDevice *self, gboolean *out_is_user_config) const char *property_name; nm_assert (NM_IS_DEVICE (self)); - nm_assert (out_is_user_config); + nm_assert (out_source); connection = nm_device_get_applied_connection (self); if (!connection) @@ -881,19 +881,19 @@ nm_modem_get_configured_mtu (NMDevice *self, gboolean *out_is_user_config) if (setting) { g_object_get (setting, "mtu", &mtu, NULL); if (mtu) { - *out_is_user_config = TRUE; + *out_source = NM_DEVICE_MTU_SOURCE_CONNECTION; return mtu; } property_name = NM_IS_SETTING_GSM (setting) ? "gsm.mtu" : "cdma.mtu"; mtu_default = nm_device_get_configured_mtu_from_connection_default (self, property_name); if (mtu_default >= 0) { - *out_is_user_config = TRUE; + *out_source = NM_DEVICE_MTU_SOURCE_CONNECTION; return (guint32) mtu_default; } } - *out_is_user_config = FALSE; + *out_source = NM_DEVICE_MTU_SOURCE_NONE; return 0; } diff --git a/src/devices/wwan/nm-modem.h b/src/devices/wwan/nm-modem.h index 6e78d2d5d7..cad9ece415 100644 --- a/src/devices/wwan/nm-modem.h +++ b/src/devices/wwan/nm-modem.h @@ -275,6 +275,6 @@ void nm_modem_emit_ip6_config_result (NMModem *self, const gchar *nm_modem_ip_type_to_string (NMModemIPType ip_type); -guint32 nm_modem_get_configured_mtu (NMDevice *self, gboolean *out_is_user_config); +guint32 nm_modem_get_configured_mtu (NMDevice *self, NMDeviceMtuSource *out_source); #endif /* __NETWORKMANAGER_MODEM_H__ */ |