summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-02-18 16:51:03 +0100
committerThomas Haller <thaller@redhat.com>2020-02-26 17:51:14 +0100
commit294de8487ea004361a118b86b728d30034c809ed (patch)
treed365deab34afe206a7894895b2dc8042be4e9b22
parent807cddc7546d6da222aed2759215ae93dcb2c8d7 (diff)
downloadNetworkManager-294de8487ea004361a118b86b728d30034c809ed.tar.gz
shared: add NMU_IFACE_OVS_OR_KERNEL for nm_utils_ifname_valid()
Depending on the type, OVS interfaces also have a corresponding netdev in kernel (e.g. type "internal" does, type "patch" does not). Such a case is neither NMU_IFACE_OVS nor NMU_IFACE_KERNEL (alone). There should be a special type to represent those cases. Add NMU_IFACE_OVS_OR_KERNEL for that.
-rw-r--r--shared/nm-glib-aux/nm-shared-utils.c3
-rw-r--r--shared/nm-glib-aux/nm-shared-utils.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/shared/nm-glib-aux/nm-shared-utils.c b/shared/nm-glib-aux/nm-shared-utils.c
index 26eba35279..2a7926d75b 100644
--- a/shared/nm-glib-aux/nm-shared-utils.c
+++ b/shared/nm-glib-aux/nm-shared-utils.c
@@ -4211,6 +4211,9 @@ nm_utils_ifname_valid (const char* name,
return _nm_utils_ifname_valid_kernel (name, error);
case NMU_IFACE_OVS:
return _nm_utils_ifname_valid_ovs (name, error);
+ case NMU_IFACE_OVS_AND_KERNEL:
+ return _nm_utils_ifname_valid_kernel (name, error)
+ && _nm_utils_ifname_valid_ovs (name, error);
case NMU_IFACE_ANY: {
gs_free_error GError *local = NULL;
diff --git a/shared/nm-glib-aux/nm-shared-utils.h b/shared/nm-glib-aux/nm-shared-utils.h
index dc29b85d02..63badb3cd6 100644
--- a/shared/nm-glib-aux/nm-shared-utils.h
+++ b/shared/nm-glib-aux/nm-shared-utils.h
@@ -1681,6 +1681,7 @@ typedef enum {
NMU_IFACE_ANY,
NMU_IFACE_KERNEL,
NMU_IFACE_OVS,
+ NMU_IFACE_OVS_AND_KERNEL,
} NMUtilsIfaceType;
gboolean nm_utils_ifname_valid_kernel (const char *name, GError **error);