From: Ido Schimmel <idosch@idosch.org>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: netdev@vger.kernel.org, andrew@lunn.ch,
vivien.didelot@savoirfairelinux.com, jiri@resnulli.us,
idosch@mellanox.com, Woojung.Huh@microchip.com, john@phrozen.org,
sean.wang@mediatek.com
Subject: Re: [RFC net-next 0/5] net: dsa: LAG support
Date: Mon, 2 Oct 2017 09:50:23 +0300 [thread overview]
Message-ID: <20171002065023.GA11832@shredder.mtl.com> (raw)
In-Reply-To: <20171001194639.8647-1-f.fainelli@gmail.com>
Hi Florian,
On Sun, Oct 01, 2017 at 12:46:34PM -0700, Florian Fainelli wrote:
> Hi all,
>
> This patch series is sent as RFC since I have only been able to test LAG
> with dsa-loop and not with real HW yet (that should be tomorrow). I also
> looked at how the Marvell DSDT API is defined for adding ports to "trunk"
> groups and the API proposed here should work there too. Can't speak about
> QCA, Mediatek or KSZ switches though.
Thanks for working on this. I've yet to look at the patches, but I
thought I'll mention a few issues we bumped into with LAG devices:
1) It is possible for users to stack devices on top of the LAG and only
then enslave your port. This means that the underlying driver might not
be aware of all the necessary configuration. It's quite a complicated
problem to solve properly, so we currently forbid enslavements to
devices that already have uppers.
There's also an issue with IP addresses and routes configured on top of
the LAG, but I hope to fix that soon. I don't think you support L3 in
DSA yet, so it shouldn't be a problem for you.
2) Similarly, you're no longer guaranteed to have the bridge do proper
clean up in case you pull a port out of a bridged LAG, so you'll need to
handle that. Any context you store for the bridge port needs to be
destroyed upon the removal of the last port from the LAG.
> Few open questions that may need solving now or later:
>
> - on Broadcom switches, we should allow enslaving a port as a LAG group
> member if its speed does not match that of the other members of the group
>
> - not sure what to do with a switch fabric, naively, if adding two ports
> of two distinct switches as a LAG group, we may have to propagate that
> to "dsa" cross-chip interfaces as well
At least in mlxsw case, enslaving switch and non-switch ports to the
same LAG doesn't make sense. Any traffic routed by the switch will only
be load-balanced between the switch ports. One way to solve that is to
forbid such enslavements during NETDEV_PRECHANGEUPPER in case the lower
devices in the adjacency list of the LAG don't belong to the same
switch.
Note that such configurations are bound to fail anyway, as the
non-switch ports will not have `switchdev_ops` configured and thus fail
during __switchdev_port_obj_add() / __switchdev_port_attr_set().
next prev parent reply other threads:[~2017-10-02 6:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-01 19:46 [RFC net-next 0/5] net: dsa: LAG support Florian Fainelli
2017-10-01 19:46 ` [RFC net-next 1/5] net: dsa: Add infrastructure to support LAG Florian Fainelli
2017-10-02 2:03 ` Andrew Lunn
2017-10-02 7:05 ` Ido Schimmel
2017-10-02 18:19 ` Florian Fainelli
2017-10-01 19:46 ` [RFC net-next 2/5] net: dsa: b53: Define MAC trunking/bonding registers Florian Fainelli
2017-10-01 19:46 ` [RFC net-next 3/5] net: dsa: b53: Add support for LAG Florian Fainelli
2017-10-01 19:46 ` [RFC net-next 4/5] net: dsa: bcm_sf2: " Florian Fainelli
2017-10-01 19:46 ` [RFC net-next 5/5] net: dsa: loop: " Florian Fainelli
2017-10-02 6:50 ` Ido Schimmel [this message]
2017-10-02 12:59 ` [RFC net-next 0/5] net: dsa: LAG support Andrew Lunn
2017-10-02 13:05 ` Ido Schimmel
2017-10-02 12:51 ` Andrew Lunn
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=20171002065023.GA11832@shredder.mtl.com \
--to=idosch@idosch.org \
--cc=Woojung.Huh@microchip.com \
--cc=andrew@lunn.ch \
--cc=f.fainelli@gmail.com \
--cc=idosch@mellanox.com \
--cc=jiri@resnulli.us \
--cc=john@phrozen.org \
--cc=netdev@vger.kernel.org \
--cc=sean.wang@mediatek.com \
--cc=vivien.didelot@savoirfairelinux.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.