libnm-core: fix validation of ovs-dpdk interface name
An ovs-dpdk interface doesn't have a kernel link and doesn't have the
15-character limit on the name.
Fixes: 3efe070dfc
('libnm: validate "connection.interface-name" at one place only')
Resolves: https://issues.redhat.com/browse/RHEL-60233
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2044
This commit is contained in:
@@ -1379,13 +1379,13 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
|
|||||||
if (connection)
|
if (connection)
|
||||||
goto after_interface_name;
|
goto after_interface_name;
|
||||||
iface_type = NMU_IFACE_ANY;
|
iface_type = NMU_IFACE_ANY;
|
||||||
} else if (NM_IN_STRSET(ovs_iface_type, "patch")) {
|
} else if (NM_IN_STRSET(ovs_iface_type, "patch", "dpdk")) {
|
||||||
/* this interface type is internal to OVS. */
|
/* this interface type is internal to OVS. */
|
||||||
iface_type = NMU_IFACE_OVS;
|
iface_type = NMU_IFACE_OVS;
|
||||||
} else {
|
} else {
|
||||||
/* This interface type also requires a netdev. We need to validate
|
/* This interface type also requires a netdev. We need to validate
|
||||||
* for both OVS and KERNEL. */
|
* for both OVS and KERNEL. */
|
||||||
nm_assert(NM_IN_STRSET(ovs_iface_type, "internal", "system", "dpdk"));
|
nm_assert(NM_IN_STRSET(ovs_iface_type, "internal", "system"));
|
||||||
iface_type = NMU_IFACE_OVS_AND_KERNEL;
|
iface_type = NMU_IFACE_OVS_AND_KERNEL;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
|
@@ -10832,7 +10832,7 @@ test_connection_ovs_ifname(gconstpointer test_data)
|
|||||||
/* good if bridge, port, or patch interface */
|
/* good if bridge, port, or patch interface */
|
||||||
g_object_set(s_con, NM_SETTING_CONNECTION_INTERFACE_NAME, "ovs123123123123130123123", NULL);
|
g_object_set(s_con, NM_SETTING_CONNECTION_INTERFACE_NAME, "ovs123123123123130123123", NULL);
|
||||||
|
|
||||||
if (!ovs_iface_type || nm_streq(ovs_iface_type, "patch"))
|
if (!ovs_iface_type || NM_IN_STRSET(ovs_iface_type, "patch", "dpdk"))
|
||||||
nmtst_assert_connection_verifies(con);
|
nmtst_assert_connection_verifies(con);
|
||||||
else {
|
else {
|
||||||
nmtst_assert_connection_unnormalizable(con,
|
nmtst_assert_connection_unnormalizable(con,
|
||||||
|
Reference in New Issue
Block a user