mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-01 08:00:25 +01:00
device: unify setting of bond options
Add a macro for the list of bond options we are going to set. By seeing
them side-by-side, it is hopefully simpler to see that all options are
specified correctly.
We see that:
- the *_SUBSET defines don't include the options that we are explicitly
setting, that is "mode", "active_slave" and "arp_ip_target".
- OPTIONS_REAPPLY_SUBSET contains 4 options less than OPTIONS_APPLY_SUBSET:
"ad_select", "ad_user_port_key", "lacp_rate" and "tlb_dynamic_lb".
These are the options that are marked as BOND_OPTFLAG_IFDOWN in
kernel.
(cherry picked from commit 5402943420)
This commit is contained in:
parent
a0ae53c8bb
commit
7030cd2c8b
1 changed files with 32 additions and 27 deletions
|
|
@ -22,6 +22,31 @@ _LOG_DECLARE_SELF(NMDeviceBond);
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
#define OPTIONS_APPLY_SUBSET \
|
||||
NM_SETTING_BOND_OPTION_MIIMON, \
|
||||
NM_SETTING_BOND_OPTION_UPDELAY, \
|
||||
NM_SETTING_BOND_OPTION_DOWNDELAY, \
|
||||
NM_SETTING_BOND_OPTION_ARP_INTERVAL, \
|
||||
NM_SETTING_BOND_OPTION_ARP_VALIDATE, \
|
||||
NM_SETTING_BOND_OPTION_PRIMARY, \
|
||||
NM_SETTING_BOND_OPTION_AD_ACTOR_SYSTEM, \
|
||||
NM_SETTING_BOND_OPTION_AD_ACTOR_SYS_PRIO, \
|
||||
NM_SETTING_BOND_OPTION_AD_SELECT, \
|
||||
NM_SETTING_BOND_OPTION_AD_USER_PORT_KEY, \
|
||||
NM_SETTING_BOND_OPTION_ALL_SLAVES_ACTIVE, \
|
||||
NM_SETTING_BOND_OPTION_ARP_ALL_TARGETS, \
|
||||
NM_SETTING_BOND_OPTION_FAIL_OVER_MAC, \
|
||||
NM_SETTING_BOND_OPTION_LACP_RATE, \
|
||||
NM_SETTING_BOND_OPTION_LP_INTERVAL, \
|
||||
NM_SETTING_BOND_OPTION_MIN_LINKS, \
|
||||
NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE, \
|
||||
NM_SETTING_BOND_OPTION_PRIMARY_RESELECT, \
|
||||
NM_SETTING_BOND_OPTION_RESEND_IGMP, \
|
||||
NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB, \
|
||||
NM_SETTING_BOND_OPTION_USE_CARRIER, \
|
||||
NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY, \
|
||||
NM_SETTING_BOND_OPTION_NUM_GRAT_ARP
|
||||
|
||||
#define OPTIONS_REAPPLY_SUBSET \
|
||||
NM_SETTING_BOND_OPTION_MIIMON, \
|
||||
NM_SETTING_BOND_OPTION_UPDELAY, \
|
||||
|
|
@ -43,6 +68,11 @@ _LOG_DECLARE_SELF(NMDeviceBond);
|
|||
NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY, \
|
||||
NM_SETTING_BOND_OPTION_NUM_GRAT_ARP
|
||||
|
||||
#define OPTIONS_REAPPLY_FULL \
|
||||
OPTIONS_REAPPLY_SUBSET, \
|
||||
NM_SETTING_BOND_OPTION_ACTIVE_SLAVE, \
|
||||
NM_SETTING_BOND_OPTION_ARP_IP_TARGET
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
struct _NMDeviceBond {
|
||||
|
|
@ -369,29 +399,7 @@ apply_bonding_config (NMDeviceBond *self)
|
|||
|
||||
set_bond_attrs_or_default (device,
|
||||
s_bond,
|
||||
NM_MAKE_STRV (NM_SETTING_BOND_OPTION_MIIMON,
|
||||
NM_SETTING_BOND_OPTION_UPDELAY,
|
||||
NM_SETTING_BOND_OPTION_DOWNDELAY,
|
||||
NM_SETTING_BOND_OPTION_ARP_INTERVAL,
|
||||
NM_SETTING_BOND_OPTION_ARP_VALIDATE,
|
||||
NM_SETTING_BOND_OPTION_PRIMARY,
|
||||
NM_SETTING_BOND_OPTION_AD_ACTOR_SYSTEM,
|
||||
NM_SETTING_BOND_OPTION_AD_ACTOR_SYS_PRIO,
|
||||
NM_SETTING_BOND_OPTION_AD_SELECT,
|
||||
NM_SETTING_BOND_OPTION_AD_USER_PORT_KEY,
|
||||
NM_SETTING_BOND_OPTION_ALL_SLAVES_ACTIVE,
|
||||
NM_SETTING_BOND_OPTION_ARP_ALL_TARGETS,
|
||||
NM_SETTING_BOND_OPTION_FAIL_OVER_MAC,
|
||||
NM_SETTING_BOND_OPTION_LACP_RATE,
|
||||
NM_SETTING_BOND_OPTION_LP_INTERVAL,
|
||||
NM_SETTING_BOND_OPTION_MIN_LINKS,
|
||||
NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE,
|
||||
NM_SETTING_BOND_OPTION_PRIMARY_RESELECT,
|
||||
NM_SETTING_BOND_OPTION_RESEND_IGMP,
|
||||
NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB,
|
||||
NM_SETTING_BOND_OPTION_USE_CARRIER,
|
||||
NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY,
|
||||
NM_SETTING_BOND_OPTION_NUM_GRAT_ARP));
|
||||
NM_MAKE_STRV (OPTIONS_APPLY_SUBSET));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -564,10 +572,7 @@ check_changed_options (NMSettingBond *s_a, NMSettingBond *s_b, GError **error)
|
|||
const char *name = *option_list;
|
||||
|
||||
/* We support changes to these */
|
||||
if (NM_IN_STRSET (name,
|
||||
OPTIONS_REAPPLY_SUBSET,
|
||||
NM_SETTING_BOND_OPTION_ACTIVE_SLAVE,
|
||||
NM_SETTING_BOND_OPTION_ARP_IP_TARGET))
|
||||
if (NM_IN_STRSET (name, OPTIONS_REAPPLY_FULL))
|
||||
continue;
|
||||
|
||||
/* Reject any other changes */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue