Commit d241b382 authored by Jarod Wilson's avatar Jarod Wilson Committed by Jakub Kicinski
Browse files

bonding: set xfrm feature flags more sanely



We can remove one of the ifdef blocks here, and instead of setting both
the xfrm hw_features and features flags, then unsetting the feature
flags if not in AB, wait to set the features flags if we're actually in AB
mode.

Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
Link: https://lore.kernel.org/r/20201205174003.578267-1-jarod@redhat.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 38bd5cec
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -4746,15 +4746,13 @@ void bond_setup(struct net_device *bond_dev)
				NETIF_F_HW_VLAN_CTAG_FILTER;

	bond_dev->hw_features |= NETIF_F_GSO_ENCAP_ALL;
#ifdef CONFIG_XFRM_OFFLOAD
	bond_dev->hw_features |= BOND_XFRM_FEATURES;
#endif /* CONFIG_XFRM_OFFLOAD */
	bond_dev->features |= bond_dev->hw_features;
	bond_dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_STAG_TX;
#ifdef CONFIG_XFRM_OFFLOAD
	/* Disable XFRM features if this isn't an active-backup config */
	if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP)
		bond_dev->features &= ~BOND_XFRM_FEATURES;
	bond_dev->hw_features |= BOND_XFRM_FEATURES;
	/* Only enable XFRM features if this is an active-backup config */
	if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP)
		bond_dev->features |= BOND_XFRM_FEATURES;
#endif /* CONFIG_XFRM_OFFLOAD */
}