Skip to content

Network initialization

Network Initialization Management is performed by network-initd. This daemon periodically scans for physical network interfaces and adds them to the Linux bonding device bond0.

Physical interfaces are selected by reading the list of interfaces from the kernel (via /proc) and then excluding interfaces that are not of type Ethernet or match known names for virtual interfaces (vnet*, u-*, i-*, tap*, etc.).

Once the list of physical interfaces that have been added since the last scan are determined, network-initd listens for LACP datagrams on each interface to determine if LACP should be enabled for the bond0 interface. If not, one of the other Linux bonding modes is used. For nodes where LACP is not used and where the interface will be added to a Linux bridge to participate in a virtual switch environment the bonding mode selected is Transmit Load Balancing (TLB), otherwise (again, unless LACP is available) the bonding mode selected is Adaptive Load Balancing (ALB).

ALB mode cannot be used with bonding interfaces that are part of Linux bridges because they modify the source MAC address in order to control the remote (switch) sides transmission back to the source, which means rewriting MAC address for bridged Ethernet frames, which prevents the frames from being returned to the correct interface in the bridge upon reply.