mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-08 02:30:18 +01:00
device: allow "active_slave" and "arp_ip_target" bond option for reapply
I guess the idea was to only accept options that can be changed without
taking the interface !IFF_UP. "active_slave" is wrongly omitted from
that list.
Also, "active_slave" option doesn't really make sense for NetworkManager
to configure. Instead "primary" should be used. In the future, we should
re-map the properties and deprecate "active_slave" for "primary" ([1]).
Fixes: 746dc119a6 ('bond: let 'reapply()' reapply all supported options')
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1856640#c19
https://bugzilla.redhat.com/show_bug.cgi?id=1876577
This commit is contained in:
parent
0f4221da42
commit
2eea22ae95
1 changed files with 28 additions and 41 deletions
|
|
@ -22,6 +22,30 @@ _LOG_DECLARE_SELF(NMDeviceBond);
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
#define OPTIONS_REAPPLY_SUBSET \
|
||||
NM_SETTING_BOND_OPTION_PRIMARY, \
|
||||
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_ALL_SLAVES_ACTIVE, \
|
||||
NM_SETTING_BOND_OPTION_ARP_ALL_TARGETS, \
|
||||
NM_SETTING_BOND_OPTION_FAIL_OVER_MAC, \
|
||||
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_USE_CARRIER, \
|
||||
NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY, \
|
||||
NM_SETTING_BOND_OPTION_NUM_GRAT_ARP
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
struct _NMDeviceBond {
|
||||
NMDevice parent;
|
||||
};
|
||||
|
|
@ -542,28 +566,10 @@ check_changed_options (NMSettingBond *s_a, NMSettingBond *s_b, GError **error)
|
|||
|
||||
/* We support changes to these */
|
||||
if (NM_IN_STRSET (name,
|
||||
NM_SETTING_BOND_OPTION_PRIMARY,
|
||||
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_ALL_SLAVES_ACTIVE,
|
||||
NM_SETTING_BOND_OPTION_ARP_ALL_TARGETS,
|
||||
NM_SETTING_BOND_OPTION_FAIL_OVER_MAC,
|
||||
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_USE_CARRIER,
|
||||
NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY,
|
||||
NM_SETTING_BOND_OPTION_NUM_GRAT_ARP)) {
|
||||
OPTIONS_REAPPLY_SUBSET,
|
||||
NM_SETTING_BOND_OPTION_ACTIVE_SLAVE,
|
||||
NM_SETTING_BOND_OPTION_ARP_IP_TARGET))
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Reject any other changes */
|
||||
if (!nm_streq0 (nm_setting_bond_get_option_normalized (s_a, name),
|
||||
|
|
@ -638,26 +644,7 @@ reapply_connection (NMDevice *device, NMConnection *con_old, NMConnection *con_n
|
|||
|
||||
set_bond_attrs_or_default (device,
|
||||
s_bond,
|
||||
NM_MAKE_STRV (NM_SETTING_BOND_OPTION_PRIMARY,
|
||||
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_ALL_SLAVES_ACTIVE,
|
||||
NM_SETTING_BOND_OPTION_ARP_ALL_TARGETS,
|
||||
NM_SETTING_BOND_OPTION_FAIL_OVER_MAC,
|
||||
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_USE_CARRIER,
|
||||
NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY,
|
||||
NM_SETTING_BOND_OPTION_NUM_GRAT_ARP));
|
||||
NM_MAKE_STRV (OPTIONS_REAPPLY_SUBSET));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue