linux-next/drivers/net/bonding
Daniel Borkmann d064ea7fe2 bonding: Fix initial {vlan,mpls}_feature set in bond_compute_features
If a bonding device has slave devices, then the current logic to derive
the feature set for the master bond device is limited in that flags which
are fully supported by the underlying slave devices cannot be propagated
up to vlan devices which sit on top of bond devices. Instead, these get
blindly masked out via current NETIF_F_ALL_FOR_ALL logic.

vlan_features and mpls_features should reuse netdev_base_features() in
order derive the set in the same way as ndo_fix_features before iterating
through the slave devices to refine the feature set.

Fixes: a9b3ace44c ("bonding: fix vlan_features computing")
Fixes: 2e770b507c ("net: bonding: Inherit MPLS features from slave devices")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Nikolay Aleksandrov <razor@blackwall.org>
Cc: Ido Schimmel <idosch@idosch.org>
Cc: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>
Link: https://patch.msgid.link/20241210141245.327886-2-daniel@iogearbox.net
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-12-12 11:59:18 +01:00
..
bond_3ad.c bonding: 802.3ad replace MAC_ADDRESS_EQUAL with __agg_has_partner 2024-02-27 18:18:31 -08:00
bond_alb.c bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk 2023-11-21 12:06:50 +01:00
bond_debugfs.c bonding: remove redundant NULL check in debugfs function 2023-08-11 11:10:55 +01:00
bond_main.c bonding: Fix initial {vlan,mpls}_feature set in bond_compute_features 2024-12-12 11:59:18 +01:00
bond_netlink.c bonding: no longer use RTNL in bonding_show_queue_id() 2024-04-09 17:31:45 -07:00
bond_options.c bonding: add ns target multicast address to slave device 2024-11-14 11:16:28 +01:00
bond_procfs.c bonding: no longer use RTNL in bonding_show_queue_id() 2024-04-09 17:31:45 -07:00
bond_sysfs_slave.c bonding: no longer use RTNL in bonding_show_queue_id() 2024-04-09 17:31:45 -07:00
bond_sysfs.c bonding: no longer use RTNL in bonding_show_queue_id() 2024-04-09 17:31:45 -07:00
bonding_priv.h net: bonding: Add SPDX identifier to remaining files 2023-05-16 15:38:06 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00