ifcfg: always read/write KEY_DCB_APP_FCOE_MODE key

The settings plugin is not supposed to normalize the profile. It should
read/write what is, and let NMConnection handle what is valid and what
needs normalization.
This commit is contained in:
Thomas Haller 2021-10-25 22:41:28 +02:00
parent d805b9ae51
commit 38d81cfa89
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
2 changed files with 13 additions and 16 deletions

View file

@ -3030,6 +3030,7 @@ make_dcb_setting(shvarFile *ifcfg, NMSetting **out_setting, GError **error)
gs_unref_object NMSettingDcb *s_dcb = NULL;
gboolean dcb_on;
NMSettingDcbFlags flags = NM_SETTING_DCB_FLAG_NONE;
gs_free char * val = NULL;
g_return_val_if_fail(out_setting, FALSE);
*out_setting = NULL;
@ -3049,21 +3050,18 @@ make_dcb_setting(shvarFile *ifcfg, NMSetting **out_setting, GError **error)
error)) {
return FALSE;
}
if (nm_setting_dcb_get_app_fcoe_flags(s_dcb) & NM_SETTING_DCB_FLAG_ENABLE) {
gs_free char *val = NULL;
val = svGetValueStr_cp(ifcfg, KEY_DCB_APP_FCOE_MODE);
if (val) {
if (NM_IN_STRSET(val, NM_SETTING_DCB_FCOE_MODE_FABRIC, NM_SETTING_DCB_FCOE_MODE_VN2VN))
g_object_set(G_OBJECT(s_dcb), NM_SETTING_DCB_APP_FCOE_MODE, val, NULL);
else {
PARSE_WARNING("invalid FCoE mode '%s'", val);
g_set_error_literal(error,
NM_SETTINGS_ERROR,
NM_SETTINGS_ERROR_INVALID_CONNECTION,
"invalid FCoE mode");
return FALSE;
}
val = svGetValueStr_cp(ifcfg, KEY_DCB_APP_FCOE_MODE);
if (val) {
if (NM_IN_STRSET(val, NM_SETTING_DCB_FCOE_MODE_FABRIC, NM_SETTING_DCB_FCOE_MODE_VN2VN))
g_object_set(G_OBJECT(s_dcb), NM_SETTING_DCB_APP_FCOE_MODE, val, NULL);
else {
PARSE_WARNING("invalid FCoE mode '%s'", val);
g_set_error_literal(error,
NM_SETTINGS_ERROR,
NM_SETTINGS_ERROR_INVALID_CONNECTION,
"invalid FCoE mode");
return FALSE;
}
}

View file

@ -2031,8 +2031,7 @@ write_dcb_setting(NMConnection *connection, shvarFile *ifcfg, GError **error)
"APP_FCOE",
nm_setting_dcb_get_app_fcoe_flags(s_dcb),
nm_setting_dcb_get_app_fcoe_priority(s_dcb));
if (nm_setting_dcb_get_app_fcoe_flags(s_dcb) & NM_SETTING_DCB_FLAG_ENABLE)
svSetValueStr(ifcfg, KEY_DCB_APP_FCOE_MODE, nm_setting_dcb_get_app_fcoe_mode(s_dcb));
svSetValueStr(ifcfg, KEY_DCB_APP_FCOE_MODE, nm_setting_dcb_get_app_fcoe_mode(s_dcb));
write_dcb_app(ifcfg,
"APP_ISCSI",