Cascading bond devices: Use bond device as slave for another bond device

Issues related to configuring your network
Post Reply
SMarc
Posts: 3
Joined: 2017/01/09 14:13:21

Cascading bond devices: Use bond device as slave for another bond device

Post by SMarc » 2017/09/26 14:35:34

Hi,

is it possible to cascade bond devices?
I mean defining bond0 (802.3ad link aggregation of two gigabit nics) and use bond0 as one slave interface for bond1 (mode active-backup)?

If I try so, I get confusing results.

First, I define bond0 independently:

Code: Select all

$ cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
USERCTL=no
BONDING_OPTS="mode=802.3ad miimon=80"
NM_CONTROLLED=no
BOOTPROTO=none
ONBOOT=yes
#MASTER=bond1
#SLAVE=yes
I seems to work... So the switch seems to be configured ok:

Code: Select all

$ cat /proc/net/bonding/bond0 
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: up
MII Polling Interval (ms): 80
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
System MAC address: a0:36:9f:a2:45:64
Active Aggregator Info:
	Aggregator ID: 2
	Number of ports: 2
	Actor Key: 9
	Partner Key: 3472
	Partner Mac Address: 70:4f:57:04:75:cb

Slave Interface: enp1s0f0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: a0:36:9f:a2:45:64
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    system mac address: a0:36:9f:a2:45:64
    port key: 9
    port priority: 255
    port number: 1
    port state: 61
details partner lacp pdu:
    system priority: 32768
    system mac address: 70:4f:57:04:75:cb
    oper key: 3472
    port priority: 32768
    port number: 8
    port state: 60

Slave Interface: enp9s0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 20:cf:30:e4:16:1a
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
    system priority: 65535
    system mac address: a0:36:9f:a2:45:64
    port key: 9
    port priority: 255
    port number: 2
    port state: 61
details partner lacp pdu:
    system priority: 32768
    system mac address: 70:4f:57:04:75:cb
    oper key: 3472
    port priority: 32768
    port number: 7
    port state: 60

Now I reboot with bond0 config as slave for master bond1

Code: Select all

$ cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
USERCTL=no
BONDING_OPTS="mode=802.3ad miimon=80"
NM_CONTROLLED=no
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
Now bond0 is down and configured totally wrong:

Code: Select all

$ cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: down
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Booting with the first config (bond0 independent) and trying to set master manually leads to the follwing error:

Code: Select all

$ ip link set bond0 master bond1
RTNETLINK answers: Operation not permitted

So cascading bond devices is not possible?

I'm using CentOS 7.4 kernel 3.10.0-693.2.2.el7.x86_64.

Thank You,
Marc

User avatar
TrevorH
Site Admin
Posts: 33202
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Cascading bond devices: Use bond device as slave for another bond device

Post by TrevorH » 2017/09/26 14:58:52

It's not possible
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

Post Reply