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 [thread overview]
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.
prev parent 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:
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=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 \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).