From: Tobias Waldekranz <tobias@waldekranz.com> To: davem@davemloft.net, kuba@kernel.org Cc: andrew@lunn.ch, vivien.didelot@gmail.com, f.fainelli@gmail.com, olteanv@gmail.com, roopa@nvidia.com, nikolay@nvidia.com, netdev@vger.kernel.org Subject: [RFC net-next 6/7] net: dsa: Sync static FDB entries on foreign interfaces to hardware Date: Sat, 16 Jan 2021 02:25:14 +0100 [thread overview] Message-ID: <20210116012515.3152-7-tobias@waldekranz.com> (raw) In-Reply-To: <20210116012515.3152-1-tobias@waldekranz.com> Reuse the "assisted_learning_on_cpu_port" functionality to always add entries for user-configured entries on foreign interfaces, even if assisted_learning_on_cpu_port is not enabled. E.g. in this situation: br0 / \ swp0 dummy0 $ bridge fdb add 02:00:de:ad:00:01 dev dummy0 vlan 1 master Results in DSA adding an entry in the hardware FDB, pointing this address towards the CPU port. The same is true for entries added to the bridge itself, e.g: $ bridge fdb add 02:00:de:ad:00:01 dev br0 vlan 1 self Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> --- net/dsa/slave.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 1ac46ad4a846..f89b5eb4d2d6 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -2181,9 +2181,12 @@ static int dsa_slave_switchdev_event(struct notifier_block *unused, else if (!fdb_info->added_by_user) return NOTIFY_OK; } else { - /* Snoop addresses learnt on foreign interfaces - * bridged with us, for switches that don't - * automatically learn SA from CPU-injected traffic + /* Snoop addresses added to foreign interfaces + * bridged with us, or the bridge + * itself. Dynamically learned addresses can + * also be added for switches that don't + * automatically learn SA from CPU-injected + * traffic. */ struct net_device *br_dev; struct dsa_slave_priv *p; @@ -2205,7 +2208,8 @@ static int dsa_slave_switchdev_event(struct notifier_block *unused, dp = p->dp->cpu_dp; - if (!dp->ds->assisted_learning_on_cpu_port) + if (!fdb_info->added_by_user && + !dp->ds->assisted_learning_on_cpu_port) return NOTIFY_DONE; } -- 2.17.1
next prev parent reply other threads:[~2021-01-16 1:27 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-16 1:25 [RFC net-next 0/7] net: dsa: Sync local bridge FDB addresses " Tobias Waldekranz 2021-01-16 1:25 ` [RFC net-next 1/7] net: bridge: switchdev: Refactor br_switchdev_fdb_notify Tobias Waldekranz 2021-01-17 17:24 ` Vladimir Oltean 2021-01-16 1:25 ` [RFC net-next 2/7] net: bridge: switchdev: Include local flag in FDB notifications Tobias Waldekranz 2021-01-17 19:30 ` Vladimir Oltean 2021-01-18 18:58 ` Tobias Waldekranz 2021-01-18 19:27 ` Vladimir Oltean 2021-01-18 20:19 ` Tobias Waldekranz 2021-01-18 21:03 ` Vladimir Oltean 2021-01-18 21:17 ` Nikolay Aleksandrov 2021-01-18 21:22 ` Nikolay Aleksandrov 2021-01-18 21:39 ` Nikolay Aleksandrov 2021-01-18 21:50 ` Vladimir Oltean 2021-01-18 21:53 ` Nikolay Aleksandrov 2021-01-18 22:06 ` Vladimir Oltean 2021-01-18 22:09 ` Vladimir Oltean 2021-01-18 22:42 ` Nikolay Aleksandrov 2021-01-19 0:42 ` Vladimir Oltean 2021-01-19 10:14 ` Nikolay Aleksandrov 2021-01-18 19:28 ` Ido Schimmel 2021-01-16 1:25 ` [RFC net-next 3/7] net: bridge: switchdev: Send FDB notifications for host addresses Tobias Waldekranz 2021-01-18 11:28 ` Vladimir Oltean 2021-01-16 1:25 ` [RFC net-next 4/7] net: dsa: Include local addresses in assisted CPU port learning Tobias Waldekranz 2021-01-16 1:25 ` [RFC net-next 5/7] net: dsa: Include bridge " Tobias Waldekranz 2021-01-16 1:25 ` Tobias Waldekranz [this message] 2021-01-16 1:25 ` [RFC net-next 7/7] net: dsa: mv88e6xxx: Request assisted learning on CPU port Tobias Waldekranz 2021-02-01 6:24 ` DENG Qingfang 2021-02-03 9:27 ` Tobias Waldekranz 2021-02-03 10:14 ` Vladimir Oltean 2021-02-03 10:42 ` Tobias Waldekranz
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=20210116012515.3152-7-tobias@waldekranz.com \ --to=tobias@waldekranz.com \ --cc=andrew@lunn.ch \ --cc=davem@davemloft.net \ --cc=f.fainelli@gmail.com \ --cc=kuba@kernel.org \ --cc=netdev@vger.kernel.org \ --cc=nikolay@nvidia.com \ --cc=olteanv@gmail.com \ --cc=roopa@nvidia.com \ --cc=vivien.didelot@gmail.com \ --subject='Re: [RFC net-next 6/7] net: dsa: Sync static FDB entries on foreign interfaces to hardware' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).