From: Tobias Waldekranz <tobias@waldekranz.com>
To: Jay Vosburgh <jay.vosburgh@canonical.com>
Cc: davem@davemloft.net, kuba@kernel.org, andrew@lunn.ch,
vivien.didelot@gmail.com, f.fainelli@gmail.com,
olteanv@gmail.com, vfalico@gmail.com, andy@greyhouse.net,
netdev@vger.kernel.org
Subject: Re: [PATCH v3 net-next 1/4] net: bonding: Notify ports about their initial state
Date: Wed, 02 Dec 2020 22:52:50 +0100 [thread overview]
Message-ID: <87h7p37u4t.fsf@waldekranz.com> (raw)
In-Reply-To: <17902.1606936179@famine>
On Wed, Dec 02, 2020 at 11:09, Jay Vosburgh <jay.vosburgh@canonical.com> wrote:
> Tobias Waldekranz <tobias@waldekranz.com> wrote:
>
>>When creating a static bond (e.g. balance-xor), all ports will always
>>be enabled. This is set, and the corresponding notification is sent
>>out, before the port is linked to the bond upper.
>>
>>In the offloaded case, this ordering is hard to deal with.
>>
>>The lower will first see a notification that it can not associate with
>>any bond. Then the bond is joined. After that point no more
>>notifications are sent, so all ports remain disabled.
>>
>>This change simply sends an extra notification once the port has been
>>linked to the upper to synchronize the initial state.
>
> I'm not objecting to this per se, but looking at team and
> net_failover (failover_slave_register), those drivers do not send the
> same first notification that bonding does (the "can not associate" one),
> but only send a notification after netdev_master_upper_dev_link is
> complete.
>
> Does it therefore make more sense to move the existing
> notification within bonding to take place after the upper_dev_link
> (where you're adding this new call to bond_lower_state_changed)? If the
> existing notification is effectively useless, this would make the
> sequence of notifications consistent across drivers.
From my point of view that makes more sense. I just assumed that the
current implementation was done this way for a reason. Therefore I opted
for a simple extension instead.
I could look at hoisting up the linking op before the first
notification. My main concern is that this is a new subsystem to me, so
I am not sure how to determine the adequate test coverage for a change
like this.
Another option would be to drop this change from this series and do it
separately. It would be nice to have both team and bond working though.
Not sure why I am the first to run into this. Presumably the mlxsw LAG
offloading would be affected in the same way. Maybe their main use-case
is LACP.
next prev parent reply other threads:[~2020-12-02 21:53 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-02 9:13 [PATCH v3 net-next 0/4] net: dsa: Link aggregation support Tobias Waldekranz
2020-12-02 9:13 ` [PATCH v3 net-next 1/4] net: bonding: Notify ports about their initial state Tobias Waldekranz
2020-12-02 19:09 ` Jay Vosburgh
2020-12-02 21:52 ` Tobias Waldekranz [this message]
2020-12-03 0:39 ` Jay Vosburgh
2020-12-03 8:16 ` Tobias Waldekranz
2020-12-02 9:13 ` [PATCH v3 net-next 2/4] net: dsa: Link aggregation support Tobias Waldekranz
2020-12-02 10:07 ` Vladimir Oltean
2020-12-02 10:51 ` Tobias Waldekranz
2020-12-02 18:58 ` Jakub Kicinski
2020-12-02 21:29 ` Tobias Waldekranz
2020-12-02 21:32 ` Vladimir Oltean
2020-12-03 16:24 ` Vladimir Oltean
2020-12-03 20:53 ` Tobias Waldekranz
2020-12-03 21:09 ` Andrew Lunn
2020-12-03 21:35 ` Tobias Waldekranz
2020-12-04 0:35 ` Vladimir Oltean
2020-12-03 21:57 ` Vladimir Oltean
2020-12-03 23:12 ` Tobias Waldekranz
2020-12-04 0:56 ` Vladimir Oltean
2020-12-07 21:49 ` Tobias Waldekranz
2020-12-04 1:33 ` Andrew Lunn
2020-12-04 4:18 ` Florian Fainelli
2020-12-07 21:56 ` Tobias Waldekranz
2020-12-03 20:48 ` Vladimir Oltean
2020-12-04 2:20 ` Andrew Lunn
2020-12-07 21:19 ` Tobias Waldekranz
2020-12-07 23:26 ` Andrew Lunn
2020-12-09 8:57 ` Tobias Waldekranz
2020-12-09 14:27 ` Andrew Lunn
2020-12-09 15:21 ` Tobias Waldekranz
2020-12-09 23:03 ` Andrew Lunn
2020-12-04 4:04 ` Florian Fainelli
2020-12-08 11:23 ` Vladimir Oltean
2020-12-08 15:33 ` Tobias Waldekranz
2020-12-08 16:37 ` Vladimir Oltean
2020-12-09 8:37 ` Tobias Waldekranz
2020-12-09 10:53 ` Vladimir Oltean
2020-12-09 14:11 ` Tobias Waldekranz
2020-12-09 16:04 ` Vladimir Oltean
2020-12-09 22:01 ` Tobias Waldekranz
2020-12-09 22:21 ` Vladimir Oltean
2020-12-10 10:18 ` Tobias Waldekranz
2020-12-09 22:59 ` Andrew Lunn
2020-12-10 1:05 ` Vladimir Oltean
2020-12-09 14:23 ` Andrew Lunn
2020-12-09 23:17 ` Vladimir Oltean
2020-12-08 17:26 ` Andrew Lunn
2020-12-11 20:50 ` Tobias Waldekranz
2020-12-12 14:26 ` Vladimir Oltean
2020-12-13 21:18 ` Tobias Waldekranz
2020-12-14 0:12 ` Vladimir Oltean
2020-12-14 11:42 ` Ido Schimmel
2020-12-16 15:15 ` Tobias Waldekranz
2020-12-16 18:48 ` Ido Schimmel
2020-12-14 9:41 ` Tobias Waldekranz
2020-12-02 9:13 ` [PATCH v3 net-next 3/4] net: dsa: mv88e6xxx: " Tobias Waldekranz
2020-12-02 9:13 ` [PATCH v3 net-next 4/4] net: dsa: tag_dsa: Support reception of packets from LAG devices Tobias Waldekranz
2020-12-04 3:58 ` Florian Fainelli
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=87h7p37u4t.fsf@waldekranz.com \
--to=tobias@waldekranz.com \
--cc=andrew@lunn.ch \
--cc=andy@greyhouse.net \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=jay.vosburgh@canonical.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=vfalico@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.