[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221027231039.2rqn7yeomk5nsx76@skbuf>
Date: Thu, 27 Oct 2022 23:10:41 +0000
From: Vladimir Oltean <vladimir.oltean@....com>
To: Ido Schimmel <idosch@...dia.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"bridge@...ts.linux-foundation.org"
<bridge@...ts.linux-foundation.org>,
"davem@...emloft.net" <davem@...emloft.net>,
"kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>,
"edumazet@...gle.com" <edumazet@...gle.com>,
"jiri@...dia.com" <jiri@...dia.com>,
"petrm@...dia.com" <petrm@...dia.com>,
"ivecera@...hat.com" <ivecera@...hat.com>,
"roopa@...dia.com" <roopa@...dia.com>,
"razor@...ckwall.org" <razor@...ckwall.org>,
"netdev@...io-technology.com" <netdev@...io-technology.com>,
"mlxsw@...dia.com" <mlxsw@...dia.com>
Subject: Re: [RFC PATCH net-next 03/16] bridge: switchdev: Let device drivers
determine FDB offload indication
On Tue, Oct 25, 2022 at 01:00:11PM +0300, Ido Schimmel wrote:
> Currently, FDB entries that are notified to the bridge via
> 'SWITCHDEV_FDB_ADD_TO_BRIDGE' are always marked as offloaded. With MAB
> enabled, this will no longer be universally true. Device drivers will
> report locked FDB entries to the bridge to let it know that the
> corresponding hosts required authorization, but it does not mean that
> these entries are necessarily programmed in the underlying hardware.
>
> Solve this by determining the offload indication based of the
> 'offloaded' bit in the FDB notification.
>
> Signed-off-by: Ido Schimmel <idosch@...dia.com>
> ---
>
> Notes:
> Needs auditing to see which device drivers are not setting this bit.
>
> net/bridge/br.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/bridge/br.c b/net/bridge/br.c
> index 96e91d69a9a8..145999b8c355 100644
> --- a/net/bridge/br.c
> +++ b/net/bridge/br.c
> @@ -172,7 +172,7 @@ static int br_switchdev_event(struct notifier_block *unused,
> break;
> }
> br_fdb_offloaded_set(br, p, fdb_info->addr,
> - fdb_info->vid, true);
> + fdb_info->vid, fdb_info->offloaded);
ofdpa_port_fdb_learn_work() doesn't set info->offloaded on
SWITCHDEV_FDB_ADD_TO_BRIDGE, the rest do.
> break;
> case SWITCHDEV_FDB_DEL_TO_BRIDGE:
> fdb_info = ptr;
> --
> 2.37.3
>
Powered by blists - more mailing lists