public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Nikolay Aleksandrov <nikolay@cumulusnetworks•com>
To: Arjun Pandey <apandepublic@gmail•com>
Cc: netdev@vger•kernel.org
Subject: Re: 802.3 ad bonding mode min-links doesn't work correctly once slave port link status is up again
Date: Tue, 27 Oct 2015 14:16:48 +0100	[thread overview]
Message-ID: <562F7940.3020800@cumulusnetworks.com> (raw)
In-Reply-To: <CAKpWUYmg8JhZyNecPAe0wA8MQLNXpzmzf4dO=yoXOhDNAdvc8w@mail.gmail.com>

On 10/27/2015 01:55 PM, Arjun Pandey wrote:
> Hi Nikolay
> 
> But based on this output i think they are part of same aggregator.
> cat  /sys/class/net/bond/bonding/slaves
> eth2 eth1
> I am adding slave ports via ifenslave bond eth1 eth2
> 
Hi again,
Please don't top post. You've shown that they're part of 1 bond
interface but that doesn't mean they're part of a single aggregator.
Look below,

> Each individual slave port seems to be getting a different aggr id. I
> confirmed this by adding an additional port
> [root@foo /]# cat /proc/net/bonding/bond
> Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
> 
> Bonding Mode: IEEE 802.3ad Dynamic link aggregation
> Transmit Hash Policy: layer2 (0)
> MII Status: down
> MII Polling Interval (ms): 100
> Up Delay (ms): 0
> Down Delay (ms): 0
> 
> 802.3ad info
> LACP rate: fast
> Min links: 2
> Aggregator selection policy (ad_select): stable
> Active Aggregator Info:
> Aggregator ID: 1
^^^
Bond active aggregator id is 1

> Number of ports: 1
^^^
_1 port_

> Actor Key: 17
> Partner Key: 1
> Partner Mac Address: 00:00:00:00:00:00
> 
> Slave Interface: eth1
> MII Status: up
> Speed: 1000 Mbps
> Duplex: full
> Link Failure Count: 0
> Permanent HW addr: 08:00:27:0a:cd:2c
> Aggregator ID: 1
^^^
This port is part of aggregator id 1 (this is the port of
the active aggregator)

> Slave queue ID: 0
> 
> Slave Interface: eth2
> MII Status: up
> Speed: 1000 Mbps
> Duplex: full
> Link Failure Count: 0
> Permanent HW addr: 08:00:27:b0:4d:7e
> Aggregator ID: 2
^^^
This port is a part of a different aggregator (id 2)

> Slave queue ID: 0
> 
> Slave Interface: eth3
> MII Status: down
> Speed: Unknown
> Duplex: Unknown
> Link Failure Count: 0
> Permanent HW addr: 08:00:27:e7:dd:6b
> Aggregator ID: 3
> Slave queue ID: 0
> 
> Regards
> Arjun
> 
> On Tue, Oct 27, 2015 at 6:02 PM, Nikolay Aleksandrov
> <nikolay@cumulusnetworks•com> wrote:
>> On 10/27/2015 01:17 PM, Arjun Pandey wrote:
>>> Hi
>>>
>>> I have configured a bond with 2 slave bond ports in 802.3 ad mode.
>>> I have also set min-links=2 and miimon=100
>>>
>>>
>>> root@foo bonding]# cat /proc/net/bonding/bond
>>> Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
>>>
>>> Bonding Mode: IEEE 802.3ad Dynamic link aggregation
>>> Transmit Hash Policy: layer2 (0)
>>> MII Status: down
>>> MII Polling Interval (ms): 100
>>> Up Delay (ms): 0
>>> Down Delay (ms): 0
>>>
>>> 802.3ad info
>>> LACP rate: fast
>>> Min links: 2
>>> Aggregator selection policy (ad_select): stable
>>> Active Aggregator Info:
>>> Aggregator ID: 2
>>> Number of ports: 1
>>> Actor Key: 17
>>> Partner Key: 1
>>> Partner Mac Address: 00:00:00:00:00:00
>>>
>>> Slave Interface: eth1
>>> MII Status: up
>>> Speed: 1000 Mbps
>>> Duplex: full
>>> Link Failure Count: 7
>>> Permanent HW addr: 08:00:27:0a:cd:2c
>>> Aggregator ID: 1
>>> Slave queue ID: 0
>>>
>>> Slave Interface: eth2
>>> MII Status: up
>>> Speed: 1000 Mbps
>>> Duplex: full
>>> Link Failure Count: 4
>>> Permanent HW addr: 08:00:27:b0:4d:7e
>>> Aggregator ID: 2
>>> Slave queue ID: 0
>>>
>>> I tried the following steps :
>>> 1. Bring up bond with slaves as eth1 and eth2
>>> 2. Bring down eth1 down via ip link set down eth1
>>> 3. Check bond link status which now shows up as down
>>> 4. Restore eth1 link status up.
>>> 5. Bond link status is still set as down.
>>>
>>> I can't get bond link status up unless i make min-links 0/1 and bring
>>> bond status manually up via ip link set bond down and ip link set bond
>>> up
>>> [root@foo /]# ip link show
>>> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
>>>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>>> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
>>> state UP qlen 1000
>>>     link/ether 08:00:27:f8:38:ad brd ff:ff:ff:ff:ff:ff
>>> 3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc
>>> pfifo_fast master bond state UP qlen 1000
>>>     link/ether 08:00:27:0a:cd:2c brd ff:ff:ff:ff:ff:ff
>>> 4: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc
>>> pfifo_fast master bond state UP qlen 1000
>>>     link/ether 08:00:27:0a:cd:2c brd ff:ff:ff:ff:ff:ff
>>> 23: bond: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc
>>> noqueue state DOWN
>>>     link/ether 08:00:27:0a:cd:2c brd ff:ff:ff:ff:ff:ff
>>>
>>> Am i missing something ?
>>>
>>>
>>> This is on Centos 6.5 and kernel 3.10.27.1
>>>
>>> Regards
>>> Arjun
>>
>> Hi Arjun,
>> I think your slaves are in different aggregators (judging by their agg ids) and min_links
>> checks if there're min_links number of active ports in the active aggregator (in your case
>> that's agg id 2 which has 1 slave in it).
>>
>> Cheers,
>>  Nik
>>
>>

  reply	other threads:[~2015-10-27 13:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-27 12:17 802.3 ad bonding mode min-links doesn't work correctly once slave port link status is up again Arjun Pandey
2015-10-27 12:32 ` Nikolay Aleksandrov
2015-10-27 12:55   ` Arjun Pandey
2015-10-27 13:16     ` Nikolay Aleksandrov [this message]
2015-10-27 13:24       ` Nikolay Aleksandrov

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=562F7940.3020800@cumulusnetworks.com \
    --to=nikolay@cumulusnetworks$(echo .)com \
    --cc=apandepublic@gmail$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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