[PATCH v7 net-next 3/9] net: switchdev: add support for offloading of the FDB locked flag

netdev at kapio-technology.com netdev at kapio-technology.com
Tue Oct 18 07:29:05 PDT 2022


On 2022-10-13 16:06, Ido Schimmel wrote:
> On Sun, Oct 09, 2022 at 07:40:46PM +0200, Hans J. Schultz wrote:
>> Add support for offloading of the MAB/MacAuth feature flag and the FDB
>> locked flag which is used by the Mac-Auth/MAB feature.
>> 
>> Signed-off-by: Hans J. Schultz <netdev at kapio-technology.com>
>> ---
>>  include/net/dsa.h         |  2 ++
>>  include/net/switchdev.h   |  1 +
>>  net/bridge/br.c           |  4 ++--
>>  net/bridge/br_fdb.c       | 12 ++++++++++--
>>  net/bridge/br_private.h   |  2 +-
>>  net/bridge/br_switchdev.c |  3 ++-
>>  net/dsa/dsa_priv.h        |  6 ++++--
>>  net/dsa/port.c            | 10 ++++++----
>>  net/dsa/slave.c           | 10 ++++++++--
>>  net/dsa/switch.c          | 16 ++++++++--------
>>  10 files changed, 44 insertions(+), 22 deletions(-)
> 
> There is more than one logical change here. I suggest splitting it to
> make review easier:
> 
> 1. A patch allowing the bridge driver to install locked entries 
> notified
> from device drivers. These changes:
> 
> include/net/switchdev.h   |  1 +
> net/bridge/br.c           |  4 ++--
> net/bridge/br_fdb.c       | 12 ++++++++++--
> net/bridge/br_private.h   |  2 +-
> 
> And the br_switchdev_fdb_populate() hunk
> 
> 2. A patch allowing DSA core to report locked entries to the bridge
> driver

2. This requires no code in the DSA layer as the bridge listens directly 
to the
kernel switchdev notifications.

> 
> 3. A patch adding the new MAB flag to BR_PORT_FLAGS_HW_OFFLOAD
> 
> 4. A patch allowing DSA core to propagate the MAB flag to device 
> drivers
> 
> [...]
> 
>> diff --git a/net/dsa/port.c b/net/dsa/port.c
>> index e4a0513816bb..eab32b7a945a 100644
>> --- a/net/dsa/port.c
>> +++ b/net/dsa/port.c
>> @@ -304,7 +304,7 @@ static int dsa_port_inherit_brport_flags(struct 
>> dsa_port *dp,
>>  					 struct netlink_ext_ack *extack)
>>  {
>>  	const unsigned long mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
>> -				   BR_BCAST_FLOOD | BR_PORT_LOCKED;
>> +				   BR_BCAST_FLOOD;
> 
> Not sure how this is related to the patchset.
> 
>>  	struct net_device *brport_dev = dsa_port_to_bridge_port(dp);
>>  	int flag, err;



More information about the Linux-mediatek mailing list