mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-13 07:20:24 +01:00
ovs: merge branch 'bg/ovs-patch-peer-rh1845216'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/534 https://bugzilla.redhat.com/show_bug.cgi?id=1845216 (cherry picked from commit0d1df36e58) (cherry picked from commit00abf480a0)
This commit is contained in:
commit
b2d0fc4fd4
3 changed files with 35 additions and 16 deletions
|
|
@ -270,7 +270,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.")
|
||||
|
|
|
|||
|
|
@ -81,13 +81,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if ( !nm_utils_ipaddr_valid (AF_INET, self->peer)
|
||||
&& !nm_utils_ipaddr_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
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -142,15 +142,40 @@ ovsdb_interface_failed (NMOvsdb *ovsdb,
|
|||
{
|
||||
NMDevice *device = NULL;
|
||||
NMSettingsConnection *connection = NULL;
|
||||
|
||||
_LOGI (name, connection_uuid, "ovs interface \"%s\" (%s) failed: %s", name, connection_uuid, error);
|
||||
NMConnection *c;
|
||||
const char *type;
|
||||
NMSettingOvsInterface *s_ovs_int;
|
||||
gboolean is_patch = FALSE;
|
||||
gboolean ignore;
|
||||
|
||||
device = nm_manager_get_device (NM_MANAGER_GET, name, NM_DEVICE_TYPE_OVS_INTERFACE);
|
||||
if (!device)
|
||||
return;
|
||||
if (device && connection_uuid) {
|
||||
connection = nm_settings_get_connection_by_uuid (nm_device_get_settings (device),
|
||||
connection_uuid);
|
||||
}
|
||||
|
||||
if (connection_uuid)
|
||||
connection = nm_settings_get_connection_by_uuid (nm_device_get_settings (device), connection_uuid);
|
||||
/* The patch interface which gets created first is expected to
|
||||
* fail because the second patch doesn't exist yet. Ignore all
|
||||
* failures of patch interfaces. */
|
||||
if ( connection
|
||||
&& (c = nm_settings_connection_get_connection (connection))
|
||||
&& (type = nm_connection_get_connection_type (c))
|
||||
&& nm_streq0 (type, NM_SETTING_OVS_INTERFACE_SETTING_NAME)
|
||||
&& (s_ovs_int = nm_connection_get_setting_ovs_interface (c))
|
||||
&& nm_streq0 (nm_setting_ovs_interface_get_interface_type (s_ovs_int), "patch"))
|
||||
is_patch = TRUE;
|
||||
|
||||
ignore = !device || is_patch;
|
||||
|
||||
_NMLOG (ignore ? LOGL_DEBUG : LOGL_INFO,
|
||||
name, connection_uuid,
|
||||
"ovs interface \"%s\" (%s) failed%s: %s",
|
||||
name, connection_uuid,
|
||||
ignore ? " (ignored)" : "",
|
||||
error);
|
||||
|
||||
if (ignore)
|
||||
return;
|
||||
|
||||
if (connection) {
|
||||
nm_settings_connection_autoconnect_blocked_reason_set (connection,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue