DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: "Wei Hu (Xavier)" <xavier.huwei@huawei.com>,
	Weifeng Li <liweifeng96@126.com>
Cc: dev@dpdk.org, liyunqi@huawei.com, linuxarm@huawei.com,
	Chas Williams <chas3@att.com>
Subject: Re: [dpdk-dev] [PATCH v4] net/bonding: change the state machine to defaulted
Date: Tue, 21 Jul 2020 00:28:30 +0100
Message-ID: <d7cf8137-3672-4787-574a-c14e9d243e33@intel.com> (raw)
In-Reply-To: <4da342e4-431b-d0ee-0f6c-13d1f6080eab@huawei.com>

On 7/18/2020 8:08 AM, Wei Hu (Xavier) wrote:
> Hi, Weifeng Li
> On 2020/7/18 12:35, Weifeng Li wrote:
>> A dpdk bonding 802.3ad network as follows:
>> +----------+                        +-----------+
>> |dpdk lacp |bond1.1 <------> bond2.1|switch lacp|
>> |          |bond1.2 <------> bond2.2|           |
>> +----------+                        +-----------+
>> If a fiber optic go wrong about single pass during normal running like
>> this:
>> bond1.2 -----> bond2.2 ok
>> bond1.2 <--x-- bond2.2 error: bond1.2 receive no LACPDU Some packets from
>>                                switch to dpdk will choose bond2.2 and lost.
>> DPDK lacp state machine will transits to the expired state if no LACPDU
>> is received before the current_while_timer expires. But if no LACPDU is
>> received before the current_while_timer expires again, DPDK lacp state
>> machine has no change. Bond2.2 can not change to inactive depend on the
>> received LACPDU.
>> According to IEEE 802.3ad, if no lacpdu is received before the
>> current_while_timer expires again, the state machine should transits from
>> expired to defaulted. Bond2.2 will change to inactive depend on the LACPDU
>> with defaulted state.
>> This patch adds a state machine change from expired to defaulted when no
>> lacpdu is received before the current_while_timer expires again according
>> to IEEE 802.3ad:
>> If no LACPDU is received before the current_while timer expires again,
>> the state machine transits to the DEFAULTED state. The record Default
>> function overwrites the current operational parameters for the Partner
>> with administratively configured values. This allows configuration of
>> aggregations and individual links when no protocol partner is present,
>> while still permitting an active partner to override default settings.
>> The update_Default_Selected function sets the Selected variable FALSE
>> if the Link Aggregation Group has changed. Since all operational parameters
>> are now set to locally administered values there can be no disagreement as
>> to the Link Aggregation Group, so the Matched variable is set TRUE.
>> The relevant description is in the chapter 43.4.12 of the link below:
>> https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=850426
> Fixes: 46fb43683679 ("bond: add mode 4")
> Cc: stable@dpdk.org
>> Signed-off-by: Weifeng Li <liweifeng96@126.com>
> Acked-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>

Applied to dpdk-next-net/master, thanks.

      reply	other threads:[~2020-07-20 23:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-07 14:38 [dpdk-dev] [PATCH v2] " Weifeng Li
2020-07-08  9:13 ` Wei Hu (Xavier)
2020-07-18  4:05 ` [dpdk-dev] [PATCH v3] " Weifeng Li
2020-07-18  4:35   ` [dpdk-dev] [PATCH v4] " Weifeng Li
2020-07-18  7:08     ` Wei Hu (Xavier)
2020-07-20 23:28       ` Ferruh Yigit [this message]

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d7cf8137-3672-4787-574a-c14e9d243e33@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=chas3@att.com \
    --cc=dev@dpdk.org \
    --cc=linuxarm@huawei.com \
    --cc=liweifeng96@126.com \
    --cc=liyunqi@huawei.com \
    --cc=xavier.huwei@huawei.com \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git