2020-11-09 05:23:58 +01:00
|
|
|
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
2020-05-17 06:14:49 +02:00
|
|
|
|
|
|
|
#include "bond-util.h"
|
|
|
|
#include "string-table.h"
|
|
|
|
|
|
|
|
static const char* const bond_mode_table[_NETDEV_BOND_MODE_MAX] = {
|
|
|
|
[NETDEV_BOND_MODE_BALANCE_RR] = "balance-rr",
|
|
|
|
[NETDEV_BOND_MODE_ACTIVE_BACKUP] = "active-backup",
|
|
|
|
[NETDEV_BOND_MODE_BALANCE_XOR] = "balance-xor",
|
|
|
|
[NETDEV_BOND_MODE_BROADCAST] = "broadcast",
|
|
|
|
[NETDEV_BOND_MODE_802_3AD] = "802.3ad",
|
|
|
|
[NETDEV_BOND_MODE_BALANCE_TLB] = "balance-tlb",
|
|
|
|
[NETDEV_BOND_MODE_BALANCE_ALB] = "balance-alb",
|
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(bond_mode, BondMode);
|
|
|
|
|
|
|
|
static const char* const bond_xmit_hash_policy_table[_NETDEV_BOND_XMIT_HASH_POLICY_MAX] = {
|
|
|
|
[NETDEV_BOND_XMIT_HASH_POLICY_LAYER2] = "layer2",
|
|
|
|
[NETDEV_BOND_XMIT_HASH_POLICY_LAYER34] = "layer3+4",
|
|
|
|
[NETDEV_BOND_XMIT_HASH_POLICY_LAYER23] = "layer2+3",
|
|
|
|
[NETDEV_BOND_XMIT_HASH_POLICY_ENCAP23] = "encap2+3",
|
|
|
|
[NETDEV_BOND_XMIT_HASH_POLICY_ENCAP34] = "encap3+4",
|
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(bond_xmit_hash_policy, BondXmitHashPolicy);
|
|
|
|
|
|
|
|
static const char* const bond_lacp_rate_table[_NETDEV_BOND_LACP_RATE_MAX] = {
|
|
|
|
[NETDEV_BOND_LACP_RATE_SLOW] = "slow",
|
|
|
|
[NETDEV_BOND_LACP_RATE_FAST] = "fast",
|
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(bond_lacp_rate, BondLacpRate);
|
|
|
|
|
|
|
|
static const char* const bond_ad_select_table[_NETDEV_BOND_AD_SELECT_MAX] = {
|
|
|
|
[NETDEV_BOND_AD_SELECT_STABLE] = "stable",
|
|
|
|
[NETDEV_BOND_AD_SELECT_BANDWIDTH] = "bandwidth",
|
|
|
|
[NETDEV_BOND_AD_SELECT_COUNT] = "count",
|
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(bond_ad_select, BondAdSelect);
|
|
|
|
|
|
|
|
static const char* const bond_fail_over_mac_table[_NETDEV_BOND_FAIL_OVER_MAC_MAX] = {
|
|
|
|
[NETDEV_BOND_FAIL_OVER_MAC_NONE] = "none",
|
|
|
|
[NETDEV_BOND_FAIL_OVER_MAC_ACTIVE] = "active",
|
|
|
|
[NETDEV_BOND_FAIL_OVER_MAC_FOLLOW] = "follow",
|
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(bond_fail_over_mac, BondFailOverMac);
|
|
|
|
|
|
|
|
static const char *const bond_arp_validate_table[_NETDEV_BOND_ARP_VALIDATE_MAX] = {
|
|
|
|
[NETDEV_BOND_ARP_VALIDATE_NONE] = "none",
|
|
|
|
[NETDEV_BOND_ARP_VALIDATE_ACTIVE]= "active",
|
|
|
|
[NETDEV_BOND_ARP_VALIDATE_BACKUP]= "backup",
|
|
|
|
[NETDEV_BOND_ARP_VALIDATE_ALL]= "all",
|
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(bond_arp_validate, BondArpValidate);
|
|
|
|
|
|
|
|
static const char *const bond_arp_all_targets_table[_NETDEV_BOND_ARP_ALL_TARGETS_MAX] = {
|
|
|
|
[NETDEV_BOND_ARP_ALL_TARGETS_ANY] = "any",
|
|
|
|
[NETDEV_BOND_ARP_ALL_TARGETS_ALL] = "all",
|
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(bond_arp_all_targets, BondArpAllTargets);
|
|
|
|
|
|
|
|
static const char *const bond_primary_reselect_table[_NETDEV_BOND_PRIMARY_RESELECT_MAX] = {
|
|
|
|
[NETDEV_BOND_PRIMARY_RESELECT_ALWAYS] = "always",
|
|
|
|
[NETDEV_BOND_PRIMARY_RESELECT_BETTER]= "better",
|
|
|
|
[NETDEV_BOND_PRIMARY_RESELECT_FAILURE]= "failure",
|
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_STRING_TABLE_LOOKUP(bond_primary_reselect, BondPrimaryReselect);
|