From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-1.mimecast.com ([207.211.31.81]:20975 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726362AbgIOIUA (ORCPT ); Tue, 15 Sep 2020 04:20:00 -0400 Date: Tue, 15 Sep 2020 10:19:41 +0200 From: Ivan Vecera Subject: Re: [PATCH net-next 5/8] bridge: Add SWITCHDEV_FDB_FLUSH_TO_BRIDGE notifier Message-ID: <20200915101941.7c18be01@ceranb> In-Reply-To: <20200910172351.5622-6-jwi@linux.ibm.com> References: <20200910172351.5622-1-jwi@linux.ibm.com> <20200910172351.5622-6-jwi@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-s390-owner@vger.kernel.org List-ID: To: Julian Wiedmann Cc: David Miller , Jakub Kicinski , netdev , linux-s390 , Heiko Carstens , Ursula Braun , Karsten Graul , Alexandra Winter , Roopa Prabhu , Nikolay Aleksandrov , Jiri Pirko On Thu, 10 Sep 2020 19:23:48 +0200 Julian Wiedmann wrote: > From: Alexandra Winter > > 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 > CC: Ivan Vecera > CC: Roopa Prabhu > CC: Nikolay Aleksandrov > Signed-off-by: Alexandra Winter > Signed-off-by: Julian Wiedmann > --- > 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: Ivan Vecera