[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8d17d946-07fb-4335-b8e8-9ee256f75c12@cogentembedded.com>
Date: Fri, 4 Jul 2025 11:02:55 +0200
From: Nikita Yushchenko <nikita.yoush@...entembedded.com>
To: Andrew Lunn <andrew@...n.ch>, Michael Dege <michael.dege@...esas.com>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>,
Niklas Söderlund <niklas.soderlund@...natech.se>,
Paul Barker <paul@...rker.dev>, Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
netdev@...r.kernel.org, linux-renesas-soc@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] net: renesas: rswitch: add offloading for L2
switching
>> struct phy *serdes;
>> +
>> + struct net_device *brdev; /* master bridge device */
>
> How many ports does this device have? If it is just two, this might
> work. But for a multi-port device, you need to keep this in the port
> structure.
Having per-device (not per port) brdev was designed by me. Reasoning is that hw L2 forwarding support
lacks any sort of source port based filtering, which makes it unusable to offload more than one bridge
device. Either you allow hardware to forward destination MAC to a port, or you have to send it to CPU.
You can't make it forward only if src and dst ports are in the same brdev.
There are 3 ports in the S4 SoC, but the rswitch IP is parametrized so any number of ports could be
possible. And, we have been implementing virtual ports (not yet in the patchset by Michael) which opened
possibility to have netdevs of the same rswitch to be in multiple brdevs even on S4. But still had to
limit to one brdev due to that hw limitation.
There could be a theoretical possibility to use hw L3 forwarding features for better L2 forwarding, but
that is tricky and creating such a design did not succeed so far.
Nikita
Powered by blists - more mailing lists