From beeff19f6c210b09e0312a3aaac4419a890a93cc Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 25 Aug 2021 08:18:36 +0200 Subject: [PATCH] libnm: cleanup nm_utils_check_virtual_device_compatibility() --- src/libnm-core-impl/nm-utils.c | 52 ++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/src/libnm-core-impl/nm-utils.c b/src/libnm-core-impl/nm-utils.c index 91aeacad3b..aece39a5c9 100644 --- a/src/libnm-core-impl/nm-utils.c +++ b/src/libnm-core-impl/nm-utils.c @@ -4602,25 +4602,41 @@ nm_utils_check_virtual_device_compatibility(GType virtual_type, GType other_type FALSE); if (virtual_type == NM_TYPE_SETTING_BOND) { - return (other_type == NM_TYPE_SETTING_INFINIBAND || other_type == NM_TYPE_SETTING_WIRED - || other_type == NM_TYPE_SETTING_WIRELESS || other_type == NM_TYPE_SETTING_BRIDGE - || other_type == NM_TYPE_SETTING_BOND || other_type == NM_TYPE_SETTING_TEAM - || other_type == NM_TYPE_SETTING_VLAN); - } else if (virtual_type == NM_TYPE_SETTING_BRIDGE) { - return (other_type == NM_TYPE_SETTING_WIRED || other_type == NM_TYPE_SETTING_BOND - || other_type == NM_TYPE_SETTING_TEAM || other_type == NM_TYPE_SETTING_VLAN); - } else if (virtual_type == NM_TYPE_SETTING_TEAM) { - return (other_type == NM_TYPE_SETTING_WIRED || other_type == NM_TYPE_SETTING_BRIDGE - || other_type == NM_TYPE_SETTING_BOND || other_type == NM_TYPE_SETTING_TEAM - || other_type == NM_TYPE_SETTING_VLAN); - } else if (virtual_type == NM_TYPE_SETTING_VLAN) { - return (other_type == NM_TYPE_SETTING_WIRED || other_type == NM_TYPE_SETTING_WIRELESS - || other_type == NM_TYPE_SETTING_BRIDGE || other_type == NM_TYPE_SETTING_BOND - || other_type == NM_TYPE_SETTING_TEAM || other_type == NM_TYPE_SETTING_VLAN); - } else { - g_warn_if_reached(); - return FALSE; + return NM_IN_SET(other_type, + NM_TYPE_SETTING_BOND, + NM_TYPE_SETTING_BRIDGE, + NM_TYPE_SETTING_INFINIBAND, + NM_TYPE_SETTING_TEAM, + NM_TYPE_SETTING_VLAN, + NM_TYPE_SETTING_WIRED, + NM_TYPE_SETTING_WIRELESS); } + if (virtual_type == NM_TYPE_SETTING_BRIDGE) { + return NM_IN_SET(other_type, + NM_TYPE_SETTING_BOND, + NM_TYPE_SETTING_TEAM, + NM_TYPE_SETTING_VLAN, + NM_TYPE_SETTING_WIRED); + } + if (virtual_type == NM_TYPE_SETTING_TEAM) { + return NM_IN_SET(other_type, + NM_TYPE_SETTING_BOND, + NM_TYPE_SETTING_BRIDGE, + NM_TYPE_SETTING_TEAM, + NM_TYPE_SETTING_VLAN, + NM_TYPE_SETTING_WIRED); + } + if (virtual_type == NM_TYPE_SETTING_VLAN) { + return NM_IN_SET(other_type, + NM_TYPE_SETTING_BOND, + NM_TYPE_SETTING_BRIDGE, + NM_TYPE_SETTING_TEAM, + NM_TYPE_SETTING_VLAN, + NM_TYPE_SETTING_WIRED, + NM_TYPE_SETTING_WIRELESS); + } + + return FALSE; } /*****************************************************************************/