bonding: set xfrm feature flags more sanely
authorJarod Wilson <jarod@redhat.com>
Sat, 5 Dec 2020 17:40:03 +0000 (12:40 -0500)
committerJakub Kicinski <kuba@kernel.org>
Tue, 8 Dec 2020 02:21:29 +0000 (18:21 -0800)
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: Jarod Wilson <jarod@redhat.com>
Link: https://lore.kernel.org/r/20201205174003.578267-1-jarod@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/bonding/bond_main.c

index e0880a3..5fe5232 100644 (file)
@@ -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 */
 }