Bonding interface (LACP)
It is possible to combine multiple mbox physical interfaces into one logical interface to achieve higher throughput and interface/link redundancy. Typically we call this link aggregation or link bonding.
mbox supports various bonding mode depending on objectives. The default parameter is balance-rr. The most commonly used is 802.3ad/LACP, which is compatible with other upstream/downstream switches running the same protocol, such as Cisco/HP/Huawei etc. It is known as EtherChannel by Cisco.
Round-robin (balance-rr) Transmit network packets in sequential order from the first available network interface (NIC) slave through the last. This mode provides load balancing and fault tolerance.
Active-backup (active-backup) Only one NIC slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. The single logical bonded interface's MAC address is externally visible on only one NIC (port) to avoid distortion in the network switch. This mode provides fault tolerance.
IEEE 802.3ad Dynamic link aggregation (802.3ad/LACP) Creates aggregation groups that share the same speed and duplex settings. Utilizes all slave network interfaces in the active aggregator group according to the 802.3ad specification.
When configuring bonding interfaces, following conditions apply:
all interfaces belonging to the same switching domain must be assigned to the same bonding instance (bond-group)
All bonded interfaces will have the same MAC address (don’t do this on eth0!)
No IP on bonded interfaces, only assign IP address on the logical bond interface.
Connected peer (eg. switch ports) must support and be enabled with bonding (802.3ad)
All links assigned to the same bonding group must have exactly same performance and quality, eg. same speed and same latency. Any variation/difference from one of the link can drastically affect the overall bonding results.
configure a logical bonding interface
assign individual physical interfaces into a bonding group
enableconfigureinterface bond bond_group_numberip address ip_address/prefix (no ip address ip_address/prefix)mode bond_modeinterface ethnumberbond-group bond_group_number
CONFIGURATION EXAMPLESmbox> enablembox#mbox# configurembox(config)# interface bond 0mbox(config-if)# enablembox(config-if)# ip address 10.1.1.1/24mbox(config-if)# mode 8023admbox(config-if)# exitmbox(config)#mbox(config-if)# interface eth1mbox(config-if)# enablembox(config-if)# bond-group 0mbox(config-if)# exitmbox(config)#mbox(config-if)# interface eth2mbox(config-if)# enablembox(config-if)# bond-group 0mbox(config-if)# endmbox# show interface bond 0Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: IEEE 802.3ad Dynamic link aggregationTransmit Hash Policy: layer2 (0)MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0 802.3ad infoLACP rate: fastMin links: 0Aggregator selection policy (ad_select): stableActive Aggregator Info: Aggregator ID: 1 Number of ports: 2 Actor Key: 17 Partner Key: 30 Partner Mac Address: 00:1c:f6:03:d9:00 Slave Interface: eth1MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:90:0b:34:54:3aAggregator ID: 1Slave queue ID: 0 Slave Interface: eth2MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: 00:90:0b:34:54:3bAggregator ID: 1 Slave queue ID: 0