I've configured Channel-bonding (on RHEL/CentOS) with with balance-alb (mode=6) option:
BONDING_OPTS="mode=balance-alb miimon=100 updelay=200 downdelay=200"
which is working fine and according to the /proc/net/bonding/bond0
, the active-slave is eth1
.
[root@baba ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 200
Down Delay (ms): 200
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:19:00:00:00:fb
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:06:11:11:11:3b
(I've replaced the middle bits of the MAC by 00 and 11 intentionally)
Now, according to the ifconfig
, the MAC address allocation for eth0 and eth1 are different (from the above output) - they are switched.
[root@baba ~]# ifconfig | sed -n '/^[a-z]*[0-9]/p'
bond0 Link encap:Ethernet HWaddr 00:19:00:00:00:FB
eth0 Link encap:Ethernet HWaddr 00:06:11:11:11:3B
eth1 Link encap:Ethernet HWaddr 00:19:00:00:00:FB
Does any one know why I'm seeing this or how does it work? Thanks in advance. Cheers!!