From: Tobias Waldekranz <tobias@waldekranz.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: George McCollister <george.mccollister@gmail.com>,
Jakub Kicinski <kuba@kernel.org>, Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Jonathan Corbet <corbet@lwn.net>,
netdev@vger.kernel.org
Subject: Re: [PATCH net-next v2 0/4] add HSR offloading support for DSA switches
Date: Sat, 13 Feb 2021 00:52:36 +0100 [thread overview]
Message-ID: <878s7s4zej.fsf@waldekranz.com> (raw)
In-Reply-To: <20210210215524.m4vnztszcnsr6pxa@skbuf>
On Wed, Feb 10, 2021 at 23:55, Vladimir Oltean <olteanv@gmail.com> wrote:
> On Wed, Feb 10, 2021 at 10:10:14PM +0100, Tobias Waldekranz wrote:
>> On Tue, Feb 09, 2021 at 11:04, George McCollister <george.mccollister@gmail.com> wrote:
>> >> > It also doesn't implement a ProxyNodeTable (though that actually
>> >> > wouldn't matter if you were offloading to the xrs700x I think). Try
>> >> > commenting out the ether_addr_copy() line in hsr_xmit and see if it
>> >> > makes your use case work.
>> >>
>> >> So what is missing is basically to expand the current facility for
>> >> generating sequence numbers to maintain a table of such associations,
>> >> keyed by the SA?
>> >
>> > For the software implementation it would also need to use the
>> > ProxyNodeTable to prevent forwarding matching frames on the ring and
>> > delivering them to the hsr master port. It's also supposed to drop
>> > frames coming in on a redundant port if the source address is in the
>> > ProxyNodeTable.
>>
>> This whole thing sounds an awful lot like an FDB. I suppose an option
>> would be to implement the RedBox/QuadBox roles in the bridge, perhaps by
>> building on the work done for MRP? Feel free to tell me I'm crazy :)
>
> As far as I understand, the VDAN needs to generate supervision frames on
> behalf of all nodes that it proxies. Therefore, implementing the
> RedBox/QuadBox in the bridge is probably not practical. What I was
> discussing with George though is that maybe we can make hsr a consumer
> of SWITCHDEV_FDB_ADD_TO_DEVICE events, similar to DSA with its
> assisted_learning_on_cpu_port functionality, and that would be how it
> populates its proxy node table.
Is it not easier to just implement learning in the HSR layer? Seeing as
you need to look up the table for each packet anyway, you might as well
add a new entry on a miss. Otherwise you run the risk of filling up your
proxy table with entries that never egress the HSR device. Perhaps not
likely on this particular device, but on a 48-port switch with HSR
offloading it might be.
This should also work for more exotic configs with multiple macvlans for
example:
macvlan0 macvlan1
\ /
hsr0
/ \
swp1 swp2
> A RedBox becomes a bridge with one HSR
> interface and one or more standalone interfaces, and a QuadBox becomes a
> bridge with two HSR interfaces. How does that sound?
Yeah that is the straight forward solution, and what I tried to describe
earlier in the thread with this illustration:
>> >> br0
>> >> / \
>> >> hsr0 \
>> >> / \ \
>> >> swp1 swp2 swp3
I just wanted to double check that we had not overlooked a better
solution outside of the existing HSR code.
next prev parent reply other threads:[~2021-02-12 23:53 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-04 21:59 [PATCH net-next v2 0/4] add HSR offloading support for DSA switches George McCollister
2021-02-04 21:59 ` [PATCH net-next v2 1/4] net: hsr: generate supervision frame without HSR/PRP tag George McCollister
2021-02-07 1:26 ` Vladimir Oltean
2021-02-08 17:31 ` George McCollister
2021-02-04 21:59 ` [PATCH net-next v2 2/4] net: hsr: add offloading support George McCollister
2021-02-04 21:59 ` [PATCH net-next v2 3/4] net: dsa: add support for offloading HSR George McCollister
2021-02-06 23:29 ` Vladimir Oltean
2021-02-08 17:21 ` George McCollister
2021-02-09 17:20 ` Vladimir Oltean
2021-02-09 18:37 ` George McCollister
2021-02-09 18:51 ` Vladimir Oltean
2021-02-09 19:09 ` George McCollister
2021-02-04 21:59 ` [PATCH net-next v2 4/4] net: dsa: xrs700x: add HSR offloading support George McCollister
2021-02-06 23:53 ` Vladimir Oltean
2021-02-08 14:46 ` George McCollister
2021-02-08 20:16 ` [PATCH net-next v2 0/4] add HSR offloading support for DSA switches Tobias Waldekranz
2021-02-08 21:09 ` George McCollister
2021-02-09 14:38 ` Tobias Waldekranz
2021-02-09 17:04 ` George McCollister
2021-02-09 17:14 ` Vladimir Oltean
2021-02-10 21:10 ` Tobias Waldekranz
2021-02-10 21:55 ` Vladimir Oltean
2021-02-12 23:52 ` Tobias Waldekranz [this message]
2021-02-13 0:43 ` 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=878s7s4zej.fsf@waldekranz.com \
--to=tobias@waldekranz.com \
--cc=andrew@lunn.ch \
--cc=corbet@lwn.net \
--cc=f.fainelli@gmail.com \
--cc=george.mccollister@gmail.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=vivien.didelot@gmail.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.