Blame SOURCES/0013-ifcfg-ovs-master-rh1519179.patch

c48088
From c778d9a252debf4cee02df51400a3b33e5afa304 Mon Sep 17 00:00:00 2001
c48088
From: Lubomir Rintel <lkundrak@v3.sk>
c48088
Date: Thu, 18 Jan 2018 10:13:43 +0100
c48088
Subject: [PATCH] ifcfg: don't forget master of ovs interfaces
c48088
c48088
https://bugzilla.redhat.com/show_bug.cgi?id=1519179
c48088
(cherry picked from commit 1440fe6a8804c0d2da162ebc91d35a55c5e83f42)
c48088
---
c48088
 src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c | 17 +++++++++++++++++
c48088
 src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c |  6 ++++++
c48088
 2 files changed, 23 insertions(+)
c48088
c48088
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
c48088
index b9900eec3..bdd3ee0a1 100644
c48088
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
c48088
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
c48088
@@ -293,6 +293,23 @@ make_connection_setting (const char *file,
c48088
 	check_if_bond_slave (ifcfg, s_con);
c48088
 	check_if_team_slave (ifcfg, s_con);
c48088
 
c48088
+	nm_clear_g_free (&value);
c48088
+	v = svGetValueStr (ifcfg, "OVS_PORT_UUID", &value);
c48088
+	if (!v)
c48088
+		v = svGetValueStr (ifcfg, "OVS_PORT", &value);
c48088
+	if (v) {
c48088
+		const char *old_value;
c48088
+
c48088
+		if ((old_value = nm_setting_connection_get_master (s_con))) {
c48088
+			PARSE_WARNING ("Already configured as slave of %s. Ignoring OVS_PORT=\"%s\"",
c48088
+			               old_value, v);
c48088
+		} else {
c48088
+			g_object_set (s_con, NM_SETTING_CONNECTION_MASTER, v, NULL);
c48088
+			g_object_set (s_con, NM_SETTING_CONNECTION_SLAVE_TYPE,
c48088
+			              NM_SETTING_OVS_PORT_SETTING_NAME, NULL);
c48088
+		}
c48088
+	}
c48088
+
c48088
 	nm_clear_g_free (&value);
c48088
 	v = svGetValueStr (ifcfg, "GATEWAY_PING_TIMEOUT", &value);
c48088
 	if (v) {
c48088
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
c48088
index 5cb8ee98f..e9dd08b7d 100644
c48088
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
c48088
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
c48088
@@ -1832,6 +1832,12 @@ write_connection_setting (NMSettingConnection *s_con, shvarFile *ifcfg)
c48088
 			                  NM_SETTING_WIRED_SETTING_NAME,
c48088
 			                  NM_SETTING_VLAN_SETTING_NAME))
c48088
 				svUnsetValue (ifcfg, "TYPE");
c48088
+		} else if (nm_setting_connection_is_slave_type (s_con, NM_SETTING_OVS_PORT_SETTING_NAME)) {
c48088
+			svSetValueStr (ifcfg, "OVS_PORT_UUID", master);
c48088
+			svSetValueStr (ifcfg, "OVS_PORT", master_iface);
c48088
+		} else {
c48088
+			_LOGW ("don't know how to set master for a %s slave",
c48088
+			       nm_setting_connection_get_slave_type (s_con));
c48088
 		}
c48088
 	}
c48088
 
c48088
-- 
c48088
2.14.3
c48088