From 517099b8bf6ee6ef801ef7ca9a3d32e80935b71a Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 19 Feb 2020 10:10:27 +0100 Subject: [PATCH 1/1] device: allow setting "arp_validate" with supported bond modes arp_validate is allowed for several bonding modes, at least since commit [1]. The validation was too strict. Just use set_bond_attr() directly, that already correctly encodes whether to set the value or not. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=13ac34a8866e31b31db6237c73aa558aff84d765 (cherry picked from commit d9d51dd42d288501bb1af5ef69736dd8f1687e3b) (cherry picked from commit 02ba767496302f516492357a3bd4dc6cee3bd343) --- src/devices/nm-device-bond.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/devices/nm-device-bond.c b/src/devices/nm-device-bond.c index c6ecb2e85fb8..36d003283977 100644 --- a/src/devices/nm-device-bond.c +++ b/src/devices/nm-device-bond.c @@ -214,7 +214,7 @@ apply_bonding_config (NMDeviceBond *self) * * arp_interval conflicts miimon > 0 * arp_interval conflicts [ alb, tlb ] - * arp_validate needs [ active-backup ] + * arp_validate does not work with [ BOND_MODE_8023AD, BOND_MODE_TLB, BOND_MODE_ALB ] * downdelay needs miimon * updelay needs miimon * primary needs [ active-backup, tlb, alb ] @@ -266,15 +266,8 @@ apply_bonding_config (NMDeviceBond *self) */ } - /* ARP validate: value > 0 only valid in active-backup mode */ value = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_ARP_VALIDATE); - if ( value - && !nm_streq (value, "0") - && !nm_streq (value, "none") - && mode == NM_BOND_MODE_ACTIVEBACKUP) - set_bond_attr (device, mode, NM_SETTING_BOND_OPTION_ARP_VALIDATE, value); - else - set_bond_attr (device, mode, NM_SETTING_BOND_OPTION_ARP_VALIDATE, "0"); + set_bond_attr (device, mode, NM_SETTING_BOND_OPTION_ARP_VALIDATE, value ?: "0"); /* Primary */ value = nm_setting_bond_get_option_by_name (s_bond, NM_SETTING_BOND_OPTION_PRIMARY); -- 2.24.1