[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ea877ec26ab6d552b8e54966446a7cf4d8698d86.camel@nvidia.com>
Date: Tue, 15 Sep 2020 07:20:14 +0000
From: Nikolay Aleksandrov <nikolay@...dia.com>
To: "davem@...emloft.net" <davem@...emloft.net>,
"jwi@...ux.ibm.com" <jwi@...ux.ibm.com>,
"kuba@...nel.org" <kuba@...nel.org>
CC: "kgraul@...ux.ibm.com" <kgraul@...ux.ibm.com>,
"hca@...ux.ibm.com" <hca@...ux.ibm.com>,
"linux-s390@...r.kernel.org" <linux-s390@...r.kernel.org>,
"wintera@...ux.ibm.com" <wintera@...ux.ibm.com>,
"ubraun@...ux.ibm.com" <ubraun@...ux.ibm.com>,
"jiri@...nulli.us" <jiri@...nulli.us>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Roopa Prabhu <roopa@...dia.com>,
"ivecera@...hat.com" <ivecera@...hat.com>
Subject: Re: [PATCH net-next 5/8] bridge: Add SWITCHDEV_FDB_FLUSH_TO_BRIDGE
notifier
On Thu, 2020-09-10 at 19:23 +0200, Julian Wiedmann wrote:
> From: Alexandra Winter <wintera@...ux.ibm.com>
>
> so the switchdev can notifiy the bridge to flush non-permanent fdb entries
> for this port. This is useful whenever the hardware fdb of the switchdev
> is reset, but the netdev and the bridgeport are not deleted.
>
> Note that this has the same effect as the IFLA_BRPORT_FLUSH attribute.
>
> CC: Jiri Pirko <jiri@...nulli.us>
> CC: Ivan Vecera <ivecera@...hat.com>
> CC: Roopa Prabhu <roopa@...dia.com>
> CC: Nikolay Aleksandrov <nikolay@...dia.com>
> Signed-off-by: Alexandra Winter <wintera@...ux.ibm.com>
> Signed-off-by: Julian Wiedmann <jwi@...ux.ibm.com>
> ---
> include/net/switchdev.h | 1 +
> net/bridge/br.c | 5 +++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/include/net/switchdev.h b/include/net/switchdev.h
> index ff2246914301..53e8b4994296 100644
> --- a/include/net/switchdev.h
> +++ b/include/net/switchdev.h
> @@ -203,6 +203,7 @@ enum switchdev_notifier_type {
> SWITCHDEV_FDB_ADD_TO_DEVICE,
> SWITCHDEV_FDB_DEL_TO_DEVICE,
> SWITCHDEV_FDB_OFFLOADED,
> + SWITCHDEV_FDB_FLUSH_TO_BRIDGE,
>
> SWITCHDEV_PORT_OBJ_ADD, /* Blocking. */
> SWITCHDEV_PORT_OBJ_DEL, /* Blocking. */
> diff --git a/net/bridge/br.c b/net/bridge/br.c
> index b6fe30e3768f..401eeb9142eb 100644
> --- a/net/bridge/br.c
> +++ b/net/bridge/br.c
> @@ -183,6 +183,11 @@ static int br_switchdev_event(struct notifier_block *unused,
> br_fdb_offloaded_set(br, p, fdb_info->addr,
> fdb_info->vid, fdb_info->offloaded);
> break;
> + case SWITCHDEV_FDB_FLUSH_TO_BRIDGE:
> + fdb_info = ptr;
> + /* Don't delete static entries */
> + br_fdb_delete_by_port(br, p, fdb_info->vid, 0);
> + break;
> }
>
> out:
Acked-by: Nikolay Aleksandrov <nikolay@...dia.com>
Powered by blists - more mailing lists