libnm: add _nm_setting_bond_mode_from_string() to nm-libnm-core-intern

(cherry picked from commit a0b22b5b40)
This commit is contained in:
Thomas Haller 2020-07-10 17:39:53 +02:00
parent 131794b57b
commit b3775325af
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
4 changed files with 37 additions and 36 deletions

View file

@ -567,21 +567,6 @@ NMConnectionMultiConnect _nm_connection_get_multi_connect (NMConnection *connect
/*****************************************************************************/
typedef enum {
NM_BOND_MODE_UNKNOWN = -1,
/* The numeric values correspond to kernel's numbering of the modes. */
NM_BOND_MODE_ROUNDROBIN = 0,
NM_BOND_MODE_ACTIVEBACKUP = 1,
NM_BOND_MODE_XOR = 2,
NM_BOND_MODE_BROADCAST = 3,
NM_BOND_MODE_8023AD = 4,
NM_BOND_MODE_TLB = 5,
NM_BOND_MODE_ALB = 6,
_NM_BOND_MODE_NUM,
} NMBondMode;
NMBondMode _nm_setting_bond_mode_from_string (const char *str);
gboolean _nm_setting_bond_option_supported (const char *option, NMBondMode mode);
/*****************************************************************************/

View file

@ -35,6 +35,27 @@ _nm_setting_bond_remove_options_arp_interval (NMSettingBond *s_bond)
nm_setting_bond_remove_option (s_bond, NM_SETTING_BOND_OPTION_ARP_IP_TARGET);
}
NM_UTILS_STRING_TABLE_LOOKUP_DEFINE (
_nm_setting_bond_mode_from_string,
NMBondMode,
{ g_return_val_if_fail (name, NM_BOND_MODE_UNKNOWN); },
{ return NM_BOND_MODE_UNKNOWN; },
{ "0", NM_BOND_MODE_ROUNDROBIN },
{ "1", NM_BOND_MODE_ACTIVEBACKUP },
{ "2", NM_BOND_MODE_XOR },
{ "3", NM_BOND_MODE_BROADCAST },
{ "4", NM_BOND_MODE_8023AD },
{ "5", NM_BOND_MODE_TLB },
{ "6", NM_BOND_MODE_ALB },
{ "802.3ad", NM_BOND_MODE_8023AD },
{ "active-backup", NM_BOND_MODE_ACTIVEBACKUP },
{ "balance-alb", NM_BOND_MODE_ALB },
{ "balance-rr", NM_BOND_MODE_ROUNDROBIN },
{ "balance-tlb", NM_BOND_MODE_TLB },
{ "balance-xor", NM_BOND_MODE_XOR },
{ "broadcast", NM_BOND_MODE_BROADCAST },
);
/*****************************************************************************/
gboolean

View file

@ -52,6 +52,22 @@ const char **nm_utils_bond_option_arp_ip_targets_split (const char *arp_ip_targe
void _nm_setting_bond_remove_options_miimon (NMSettingBond *s_bond);
void _nm_setting_bond_remove_options_arp_interval (NMSettingBond *s_bond);
typedef enum {
NM_BOND_MODE_UNKNOWN = -1,
/* The numeric values correspond to kernel's numbering of the modes. */
NM_BOND_MODE_ROUNDROBIN = 0,
NM_BOND_MODE_ACTIVEBACKUP = 1,
NM_BOND_MODE_XOR = 2,
NM_BOND_MODE_BROADCAST = 3,
NM_BOND_MODE_8023AD = 4,
NM_BOND_MODE_TLB = 5,
NM_BOND_MODE_ALB = 6,
_NM_BOND_MODE_NUM,
} NMBondMode;
NMBondMode _nm_setting_bond_mode_from_string (const char *str);
/*****************************************************************************/
static inline guint32

View file

@ -736,27 +736,6 @@ _nm_setting_bond_get_option_type (NMSettingBond *setting, const char *name)
return option_meta->opt_type;
}
NM_UTILS_STRING_TABLE_LOOKUP_DEFINE (
_nm_setting_bond_mode_from_string,
NMBondMode,
{ g_return_val_if_fail (name, NM_BOND_MODE_UNKNOWN); },
{ return NM_BOND_MODE_UNKNOWN; },
{ "0", NM_BOND_MODE_ROUNDROBIN },
{ "1", NM_BOND_MODE_ACTIVEBACKUP },
{ "2", NM_BOND_MODE_XOR },
{ "3", NM_BOND_MODE_BROADCAST },
{ "4", NM_BOND_MODE_8023AD },
{ "5", NM_BOND_MODE_TLB },
{ "6", NM_BOND_MODE_ALB },
{ "802.3ad", NM_BOND_MODE_8023AD },
{ "active-backup", NM_BOND_MODE_ACTIVEBACKUP },
{ "balance-alb", NM_BOND_MODE_ALB },
{ "balance-rr", NM_BOND_MODE_ROUNDROBIN },
{ "balance-tlb", NM_BOND_MODE_TLB },
{ "balance-xor", NM_BOND_MODE_XOR },
{ "broadcast", NM_BOND_MODE_BROADCAST },
);
/*****************************************************************************/
static gboolean