mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-09-06 17:14:02 +00:00
ifcfg-rh: add support for VRF slaves
Even if the ifcfg-rh plugin doesn't support VRF connections, it must be able to read and write other connection types that have a VRF master.
This commit is contained in:
parent
f4ced16791
commit
89d387f782
|
@ -501,6 +501,24 @@ make_connection_setting (const char *file,
|
|||
}
|
||||
}
|
||||
|
||||
nm_clear_g_free (&value);
|
||||
v = svGetValueStr (ifcfg, "VRF_UUID", &value);
|
||||
if (!v)
|
||||
v = svGetValueStr (ifcfg, "VRF", &value);
|
||||
if (v) {
|
||||
const char *old_value;
|
||||
|
||||
if ((old_value = nm_setting_connection_get_master (s_con))) {
|
||||
PARSE_WARNING ("Already configured as slave of %s. Ignoring VRF{_UUID}=\"%s\"",
|
||||
old_value, v);
|
||||
} else {
|
||||
g_object_set (s_con, NM_SETTING_CONNECTION_MASTER, v, NULL);
|
||||
g_object_set (s_con, NM_SETTING_CONNECTION_SLAVE_TYPE,
|
||||
NM_SETTING_VRF_SETTING_NAME, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
nm_clear_g_free (&value);
|
||||
v = svGetValueStr (ifcfg, "GATEWAY_PING_TIMEOUT", &value);
|
||||
if (v) {
|
||||
|
|
|
@ -850,6 +850,8 @@ const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[] = {
|
|||
_KEY_TYPE ("VLAN_FLAGS", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("VLAN_ID", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("VLAN_INGRESS_PRIORITY_MAP", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("VRF", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("VRF_UUID", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("WEP_KEY_FLAGS", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("WPA_ALLOW_WPA", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
_KEY_TYPE ("WPA_ALLOW_WPA2", NMS_IFCFG_KEY_TYPE_IS_PLAIN ),
|
||||
|
|
|
@ -33,7 +33,7 @@ typedef struct {
|
|||
NMSIfcfgKeyTypeFlags key_flags;
|
||||
} NMSIfcfgKeyTypeInfo;
|
||||
|
||||
const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[225];
|
||||
const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[227];
|
||||
|
||||
const NMSIfcfgKeyTypeInfo *nms_ifcfg_well_known_key_find_info (const char *key, gssize *out_idx);
|
||||
|
||||
|
|
|
@ -1851,6 +1851,9 @@ write_connection_setting (NMSettingConnection *s_con, shvarFile *ifcfg)
|
|||
} else if (nm_setting_connection_is_slave_type (s_con, NM_SETTING_OVS_PORT_SETTING_NAME)) {
|
||||
svSetValueStr (ifcfg, "OVS_PORT_UUID", master);
|
||||
svSetValueStr (ifcfg, "OVS_PORT", master_iface);
|
||||
} else if (nm_setting_connection_is_slave_type (s_con, NM_SETTING_VRF_SETTING_NAME)) {
|
||||
svSetValueStr (ifcfg, "VRF_UUID", master);
|
||||
svSetValueStr (ifcfg, "VRF", master_iface);
|
||||
} else {
|
||||
_LOGW ("don't know how to set master for a %s slave",
|
||||
nm_setting_connection_get_slave_type (s_con));
|
||||
|
|
Loading…
Reference in a new issue