All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jay Vosburgh <jay.vosburgh@canonical.com>
To: Aahil Awatramani <aahila@google.com>
Cc: David Dillow <dave@thedillows.org>,
	Mahesh Bandewar <maheshb@google.com>,
	Andy Gospodarek <andy@greyhouse.net>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Martin KaFai Lau <martin.lau@kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Daniel Borkmann <daniel@iogearbox.net>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2 net-next v2] bonding: Extending LACP MUX State Machine to include a Collecting State.
Date: Thu, 04 Jan 2024 17:38:52 -0800	[thread overview]
Message-ID: <11317.1704418732@famine> (raw)
In-Reply-To: <20240105000632.2484182-1-aahila@google.com>

Aahil Awatramani <aahila@google.com> wrote:

>Introduces two new states, AD_MUX_COLLECTING and AD_MUX_DISTRIBUTING in
>the LACP MUX state machine for separated handling of an initial
>Collecting state before the Collecting and Distributing state. This
>enables a port to be in a state where it can receive incoming packets
>while not still distributing. This is useful for reducing packet loss when
>a port begins distributing before its partner is able to collect.
>Additionally this also brings the 802.3ad bonding driver's implementation
>closer to the LACP specification which already predefined this behaviour,
>that is currently the implementation only supports coupled control.
>
>Added new functions such as bond_set_slave_tx_disabled_flags and
>bond_set_slave_rx_enabled_flags to precisely manage the port's collecting
>and distributing states. Previously, there was no dedicated method to
>disable TX while keeping RX enabled, which this patch addresses.
>
>Note that the regular flow process in the kernel's bonding driver remains
>unaffected by this patch. The extension requires explicit opt-in by the
>user (in order to ensure no disruptions for existing setups) via netlink
>support using the new bonding parameter coupled_control. The default value
>for coupled_control is set to 1 so as to preserve existing behaviour.
>
>Signed-off-by: Aahil Awatramani <aahila@google.com>
>---
> Documentation/networking/bonding.rst | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
>diff --git a/Documentation/networking/bonding.rst b/Documentation/networking/bonding.rst
>index f7a73421eb76..cb3e6013605d 100644
>--- a/Documentation/networking/bonding.rst
>+++ b/Documentation/networking/bonding.rst
>@@ -444,6 +444,14 @@ arp_missed_max
> 
> 	The default value is 2, and the allowable range is 1 - 255.
> 
>+coupled_control
>+
>+    Specifies whether the LACP state machine's MUX in the 802.3ad mode
>+    should have separate Collecting and Distributing states.
>+
>+    The default value is 1. This setting does not separate the Collecting
>+    and Distributing states, maintaining the bond in coupled control.
>+

	Please reference the standard in the description; this is
implementing the independent control state machine per IEEE 802.1AX-2008
5.4.15 in addition to the existing coupled control state machine.

	-J

> downdelay
> 
> 	Specifies the time, in milliseconds, to wait before disabling
>-- 
>2.43.0.472.g3155946c3a-goog
>
>

---
	-Jay Vosburgh, jay.vosburgh@canonical.com

  parent reply	other threads:[~2024-01-05  1:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-05  0:06 [PATCH 1/2 net-next v2] bonding: Extending LACP MUX State Machine to include a Collecting State Aahil Awatramani
2024-01-05  0:06 ` [PATCH 2/2 " Aahil Awatramani
2024-01-05  1:35   ` Jay Vosburgh
2024-01-11 20:32     ` Aahil Awatramani
2024-01-05  1:38 ` Jay Vosburgh [this message]
2024-01-08  3:46   ` [PATCH 1/2 " Hangbin Liu
2024-01-09 19:06     ` Aahil Awatramani
2024-01-09 19:53     ` Jay Vosburgh
2024-01-10  2:26       ` Hangbin Liu
2024-01-11 20:31       ` Aahil Awatramani

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=11317.1704418732@famine \
    --to=jay.vosburgh@canonical.com \
    --cc=aahila@google.com \
    --cc=andy@greyhouse.net \
    --cc=daniel@iogearbox.net \
    --cc=dave@thedillows.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maheshb@google.com \
    --cc=martin.lau@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.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.