summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-09-28 13:09:10 +0200
committerThomas Haller <thaller@redhat.com>2021-09-28 13:11:32 +0200
commit9dc66c94f10cf43cd9175d7f426275a4ca2093f5 (patch)
tree77d5729e43794cc673559e04d8f406f43e8d74cc
parent38afb1cfa0903856098eb5e38189f91ade40281f (diff)
downloadNetworkManager-th/next.tar.gz
fixup! core: rework IP configuration in NetworkManager using layer 3 configurationth/next
-rw-r--r--src/core/devices/nm-device.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
index d1ec707c7d..d5c173a550 100644
--- a/src/core/devices/nm-device.c
+++ b/src/core/devices/nm-device.c
@@ -3467,25 +3467,26 @@ _dev_l3_get_config_settings(NMDevice * self,
case L3_CONFIG_DATA_TYPE_DHCP_6:
case L3_CONFIG_DATA_TYPE_DEVIP_6:
*out_acd_timeout_msec = _prop_get_ipv4_dad_timeout(self);
- break;
+ goto after_acd_timeout;
case L3_CONFIG_DATA_TYPE_DHCP_4:
/* For DHCP, we perform ACD separately, because we want to decline the
* lease in case of a conflict. */
*out_acd_timeout_msec = 0;
- break;
+ goto after_acd_timeout;
case _L3_CONFIG_DATA_TYPE_NUM:
case _L3_CONFIG_DATA_TYPE_NONE:
case _L3_CONFIG_DATA_TYPE_ACD_ONLY:
- *out_acd_timeout_msec = nm_assert_unreachable_val(0);
break;
}
+ *out_acd_timeout_msec = nm_assert_unreachable_val(0);
+after_acd_timeout:
switch (type) {
case L3_CONFIG_DATA_TYPE_LL_4:
*out_acd_defend_type = NM_L3_ACD_DEFEND_TYPE_ONCE;
- break;
+ goto after_acd_defend_type;
case L3_CONFIG_DATA_TYPE_DEVIP_UNSPEC:
case L3_CONFIG_DATA_TYPE_MANUALIP:
@@ -3498,15 +3499,16 @@ _dev_l3_get_config_settings(NMDevice * self,
case L3_CONFIG_DATA_TYPE_DHCP_6:
case L3_CONFIG_DATA_TYPE_DEVIP_6:
*out_acd_defend_type = NM_L3_ACD_DEFEND_TYPE_ALWAYS;
- break;
+ goto after_acd_defend_type;
case _L3_CONFIG_DATA_TYPE_NUM:
case _L3_CONFIG_DATA_TYPE_NONE:
case _L3_CONFIG_DATA_TYPE_ACD_ONLY:
- *out_acd_defend_type = nm_assert_unreachable_val(NM_L3_ACD_DEFEND_TYPE_ALWAYS);
break;
}
+ *out_acd_defend_type = nm_assert_unreachable_val(NM_L3_ACD_DEFEND_TYPE_ALWAYS);
+after_acd_defend_type:
switch (type) {
case L3_CONFIG_DATA_TYPE_DEVIP_UNSPEC:
case L3_CONFIG_DATA_TYPE_MANUALIP:
@@ -3515,25 +3517,28 @@ _dev_l3_get_config_settings(NMDevice * self,
case L3_CONFIG_DATA_TYPE_PD_6:
case L3_CONFIG_DATA_TYPE_SHARED_4:
*out_merge_flags = NM_L3_CONFIG_MERGE_FLAGS_NONE;
- break;
+ goto after_merge_flags;
case L3_CONFIG_DATA_TYPE_DHCP_4:
case L3_CONFIG_DATA_TYPE_DEVIP_4:
*out_merge_flags = priv->l3config_merge_flags_4;
- break;
+ goto after_merge_flags;
case L3_CONFIG_DATA_TYPE_AC_6:
case L3_CONFIG_DATA_TYPE_DHCP_6:
case L3_CONFIG_DATA_TYPE_DEVIP_6:
*out_merge_flags = priv->l3config_merge_flags_6;
- break;
+ goto after_merge_flags;
case _L3_CONFIG_DATA_TYPE_NUM:
case _L3_CONFIG_DATA_TYPE_NONE:
case _L3_CONFIG_DATA_TYPE_ACD_ONLY:
- *out_merge_flags = nm_assert_unreachable_val(NM_L3_CONFIG_MERGE_FLAGS_NONE);
break;
}
+ *out_merge_flags = nm_assert_unreachable_val(NM_L3_CONFIG_MERGE_FLAGS_NONE);
+
+after_merge_flags:
+ return;
}
static gboolean
@@ -3542,7 +3547,7 @@ _dev_l3_register_l3cds_add_config(NMDevice *self, L3ConfigDataType l3cd_type)
NMDevicePrivate * priv = NM_DEVICE_GET_PRIVATE(self);
NML3ConfigMergeFlags merge_flags;
NML3AcdDefendType acd_defend_type;
- guint32 acd_timeout_msec = 0;
+ guint32 acd_timeout_msec;
_dev_l3_get_config_settings(self, l3cd_type, &merge_flags, &acd_defend_type, &acd_timeout_msec);
return nm_l3cfg_add_config(priv->l3cfg,