summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2018-06-12 15:12:53 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2018-06-20 16:43:52 +0200
commitb0c82b21fa99567c57c0979b771f621017c361c4 (patch)
treedd900e2ed1f96c3006dec972bbea78f539f86b7b
parent27e1ab43503d3f3f9ee94bceec1c4a4826dc3d9d (diff)
downloadNetworkManager-b0c82b21fa99567c57c0979b771f621017c361c4.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.c4
-rw-r--r--src/devices/nm-device-infiniband.c4
-rw-r--r--src/devices/nm-device-ip-tunnel.c4
-rw-r--r--src/devices/nm-device-private.h4
-rw-r--r--src/devices/nm-device-vlan.c6
-rw-r--r--src/devices/nm-device.c20
-rw-r--r--src/devices/nm-device.h7
-rw-r--r--src/devices/wifi/nm-device-iwd.c4
-rw-r--r--src/devices/wifi/nm-device-wifi.c4
-rw-r--r--src/devices/wwan/nm-modem.c10
-rw-r--r--src/devices/wwan/nm-modem.h2
11 files changed, 37 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 07c8463834..8a0f70632a 100644
--- a/src/devices/nm-device-infiniband.c
+++ b/src/devices/nm-device-infiniband.c
@@ -115,13 +115,13 @@ 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,
NM_SETTING_INFINIBAND_MTU,
"infiniband.mtu",
- 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 5ebd3a5262..8a4f517434 100644
--- a/src/devices/nm-device-ip-tunnel.c
+++ b/src/devices/nm-device-ip-tunnel.c
@@ -741,13 +741,13 @@ 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,
NM_SETTING_IP_TUNNEL_MTU,
"ip-tunnel.mtu",
- 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 c363d00621..17b4f79149 100644
--- a/src/devices/nm-device-private.h
+++ b/src/devices/nm-device-private.h
@@ -124,9 +124,9 @@ guint32 nm_device_get_configured_mtu_from_connection (NMDevice *device,
GType setting_type,
const char *property_name,
const char *global_property_name,
- 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 be1ee0bdc5..5de879cb3f 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -8375,7 +8375,7 @@ nm_device_get_configured_mtu_from_connection (NMDevice *self,
GType setting_type,
const char *property_name,
const char *global_property_name,
- gboolean *out_is_user_config)
+ NMDeviceMtuSource *out_source)
{
NMConnection *connection;
NMSetting *setting;
@@ -8383,7 +8383,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)
@@ -8405,29 +8405,29 @@ nm_device_get_configured_mtu_from_connection (NMDevice *self,
g_object_get (setting, property_name, &mtu, NULL);
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,
NM_SETTING_WIRED_MTU,
"ethernet.mtu",
- out_is_user_config);
+ out_source);
}
/*****************************************************************************/
@@ -8478,7 +8478,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.
@@ -8486,9 +8486,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 86c39462b0..efdf1a0bed 100644
--- a/src/devices/wifi/nm-device-iwd.c
+++ b/src/devices/wifi/nm-device-iwd.c
@@ -1316,13 +1316,13 @@ 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,
NM_SETTING_WIRELESS_MTU,
"wifi.mtu",
- 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 876c3d50cf..466e3dca3f 100644
--- a/src/devices/wifi/nm-device-wifi.c
+++ b/src/devices/wifi/nm-device-wifi.c
@@ -2786,13 +2786,13 @@ 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,
NM_SETTING_WIRELESS_MTU,
"wifi.mtu",
- 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__ */