From: Tobias Waldekranz <tobias@waldekranz.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>, netdev@vger.kernel.org
Cc: Jakub Kicinski <kuba@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Florian Fainelli <f.fainelli@gmail.com>,
Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
UNGLinuxDriver@microchip.com, Paolo Abeni <pabeni@redhat.com>,
Roopa Prabhu <roopa@nvidia.com>,
Nikolay Aleksandrov <nikolay@nvidia.com>,
Jiri Pirko <jiri@nvidia.com>, Ido Schimmel <idosch@nvidia.com>,
Mattias Forsblad <mattias.forsblad@gmail.com>,
Joachim Wiberg <troglobit@gmail.com>
Subject: Re: [PATCH net-next 0/6] Disable host flooding for DSA ports under a bridge
Date: Sat, 09 Apr 2022 21:46:54 +0200 [thread overview]
Message-ID: <877d7yhwep.fsf@waldekranz.com> (raw)
In-Reply-To: <20220408200337.718067-1-vladimir.oltean@nxp.com>
On Fri, Apr 08, 2022 at 23:03, Vladimir Oltean <vladimir.oltean@nxp.com> wrote:
> For this patch series to make more sense, it should be reviewed from the
> last patch to the first. Changes were made in the order that they were
> just to preserve patch-with-patch functionality.
>
> A little while ago, some DSA switch drivers gained support for
> IFF_UNICAST_FLT, a mechanism through which they are notified of the
> MAC addresses required for local standalone termination.
> A bit longer ago, DSA also gained support for offloading BR_FDB_LOCAL
> bridge FDB entries, which are the MAC addresses required for local
> termination when under a bridge.
>
> So we have come one step closer to removing the CPU from the list of
> destinations for packets with unknown MAC DA.What remains is to check
> whether any software L2 forwarding is enabled, and that is accomplished
> by monitoring the neighbor bridge ports that DSA switches have.
>
> With these changes, DSA drivers that fulfill the requirements for
> dsa_switch_supports_uc_filtering() and dsa_switch_supports_mc_filtering()
> will keep flooding towards the CPU disabled for as long as no port is
> promiscuous. The bridge won't attempt to make its ports promiscuous
> anymore either if said ports are offloaded by switchdev (this series
> changes that behavior). Instead, DSA will fall back by its own will to
> promiscuous mode on bridge ports when the bridge itself becomes
> promiscuous, or a foreign interface is detected under the same bridge.
Hi Vladimir,
Great stuff! I've added Joachim to Cc. He has been working on a series
to add support for configuring the equivalent of BR_FLOOD,
BR_MCAST_FLOOD, and BR_BCAST_FLOOD on the bridge itself. I.e. allowing
the user to specify how local_rcv is managed in br_handle_frame_finish.
For switchdev drivers, being able to query whether a bridge will ingress
unknown unicast to the host or not seems like the missing piece that
makes this bullet proof. I.e. if you have...
- No foreign interfaces
- No promisc
_and_
- No BR_FLOOD on the bridge itself
..._then_ you can safely disable unicast flooding towards the CPU
port. The same would hold for multicast and BR_MCAST_FLOOD of course.
Not sure how close Joachim is to publishing his work. But I just thought
you two should know about the other one's work :)
next prev parent reply other threads:[~2022-04-09 19:47 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-08 20:03 [PATCH net-next 0/6] Disable host flooding for DSA ports under a bridge Vladimir Oltean
2022-04-08 20:03 ` [PATCH net-next 1/6] net: refactor all NETDEV_CHANGE notifier calls to a single function Vladimir Oltean
2022-04-08 20:03 ` [PATCH net-next 2/6] net: emit NETDEV_CHANGE for changes to IFF_PROMISC | IFF_ALLMULTI Vladimir Oltean
2022-04-08 20:03 ` [PATCH net-next 3/6] net: dsa: walk through all changeupper notifier functions Vladimir Oltean
2022-04-08 20:03 ` [PATCH net-next 4/6] net: dsa: track whether bridges have foreign interfaces in them Vladimir Oltean
2022-04-08 20:03 ` [PATCH net-next 5/6] net: dsa: monitor changes to bridge promiscuity Vladimir Oltean
2022-04-08 20:03 ` [PATCH net-next 6/6] net: bridge: avoid uselessly making offloaded ports promiscuous Vladimir Oltean
2022-04-09 10:17 ` kernel test robot
2022-04-09 11:04 ` Vladimir Oltean
2022-04-09 11:04 ` Vladimir Oltean
2022-04-14 13:53 ` kernel test robot
2022-04-08 20:14 ` [PATCH net-next 0/6] Disable host flooding for DSA ports under a bridge Vladimir Oltean
2022-04-08 20:52 ` Nikolay Aleksandrov
2022-04-09 19:46 ` Tobias Waldekranz [this message]
2022-04-09 20:45 ` Vladimir Oltean
2022-04-10 18:02 ` Tobias Waldekranz
2022-04-10 22:03 ` Vladimir Oltean
2022-04-11 9:33 ` Tobias Waldekranz
2022-04-11 10:55 ` Vladimir Oltean
2022-04-11 13:14 ` Tobias Waldekranz
2022-04-11 13:55 ` Vladimir Oltean
2022-04-11 14:24 ` Vladimir Oltean
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877d7yhwep.fsf@waldekranz.com \
--to=tobias@waldekranz.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=idosch@nvidia.com \
--cc=jiri@nvidia.com \
--cc=kuba@kernel.org \
--cc=mattias.forsblad@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=nikolay@nvidia.com \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=roopa@nvidia.com \
--cc=troglobit@gmail.com \
--cc=vivien.didelot@gmail.com \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.