summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2020-06-09 10:36:03 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2020-06-10 17:54:38 +0200
commit5598c039e4557510b567f12418601f5983fe5357 (patch)
tree6bad85eff883160a3e1cd77a7ad0ca636f341546
parentc1e5de0e3097baf988ff516934a67f60dcd7ad0e (diff)
downloadNetworkManager-5598c039e4557510b567f12418601f5983fe5357.tar.gz
libnm-core: interpret ovs-patch.peer as an interface name
The 'peer' property of ovs-patch is inserted into the 'options' column of the ovsdb 'Interface' table. The ovs-vswitchd.conf.db man page says about it: options : peer: optional string The name of the Interface for the other side of the patch. The named Interface’s own peer option must specify this Interface’s name. That is, the two patch interfaces must have reversed name and peer values. Therefore, it is wrong to validate the peer property as an IP address and document it as such. Fixes: d4a7fe46797b ('libnm-core: add ovs-patch setting') (cherry picked from commit beb1dba8c145be0971a488dcabac241e1c3a363b)
-rw-r--r--clients/common/settings-docs.h.in2
-rw-r--r--libnm-core/nm-setting-ovs-patch.c12
2 files changed, 4 insertions, 10 deletions
diff --git a/clients/common/settings-docs.h.in b/clients/common/settings-docs.h.in
index 3d6df9b541..d7e6bc046b 100644
--- a/clients/common/settings-docs.h.in
+++ b/clients/common/settings-docs.h.in
@@ -278,7 +278,7 @@
#define DESCRIBE_DOC_NM_SETTING_OVS_BRIDGE_STP_ENABLE N_("Enable or disable STP.")
#define DESCRIBE_DOC_NM_SETTING_OVS_DPDK_DEVARGS N_("Open vSwitch DPDK device arguments.")
#define DESCRIBE_DOC_NM_SETTING_OVS_INTERFACE_TYPE N_("The interface type. Either \"internal\", \"system\", \"patch\", \"dpdk\", or empty.")
-#define DESCRIBE_DOC_NM_SETTING_OVS_PATCH_PEER N_("Specifies the unicast destination IP address of a remote Open vSwitch bridge port to connect to.")
+#define DESCRIBE_DOC_NM_SETTING_OVS_PATCH_PEER N_("Specifies the name of the interface for the other side of the patch. The patch on the other side must also set this interface as peer.")
#define DESCRIBE_DOC_NM_SETTING_OVS_PORT_BOND_DOWNDELAY N_("The time port must be inactive in order to be considered down.")
#define DESCRIBE_DOC_NM_SETTING_OVS_PORT_BOND_MODE N_("Bonding mode. One of \"active-backup\", \"balance-slb\", or \"balance-tcp\".")
#define DESCRIBE_DOC_NM_SETTING_OVS_PORT_BOND_UPDELAY N_("The time port must be active before it starts forwarding traffic.")
diff --git a/libnm-core/nm-setting-ovs-patch.c b/libnm-core/nm-setting-ovs-patch.c
index 6a9c9f5681..5135e6ae23 100644
--- a/libnm-core/nm-setting-ovs-patch.c
+++ b/libnm-core/nm-setting-ovs-patch.c
@@ -81,13 +81,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
return FALSE;
}
- if ( !nm_utils_ipaddr_is_valid (AF_INET, self->peer)
- && !nm_utils_ipaddr_is_valid (AF_INET6, self->peer)) {
- g_set_error (error,
- NM_CONNECTION_ERROR,
- NM_CONNECTION_ERROR_INVALID_PROPERTY,
- _("'%s' is not a valid IP address"),
- self->peer);
+ if (!nm_utils_ifname_valid (self->peer, NMU_IFACE_OVS, error)) {
g_prefix_error (error, "%s.%s: ",
NM_SETTING_OVS_PATCH_SETTING_NAME,
NM_SETTING_OVS_PATCH_PEER);
@@ -179,8 +173,8 @@ nm_setting_ovs_patch_class_init (NMSettingOvsPatchClass *klass)
/**
* NMSettingOvsPatch:peer:
*
- * Specifies the unicast destination IP address of a remote Open vSwitch
- * bridge port to connect to.
+ * Specifies the name of the interface for the other side of the patch.
+ * The patch on the other side must also set this interface as peer.
*
* Since: 1.10
**/