7.3. Network Bonding Using the NetworkManager Command Line Tool, nmcli
7.3. Network Bonding Using the NetworkManager Command Line Tool, nmcli Note See Section 3.3, "Configuring IP Networking with nmcli" for an introduction to nmcli . To create a bond connection with the nmcli tool, issue the following command: Note that as no con-name was given for the bond, the connection name was derived from the interface name by prepending the type. NetworkManager supports most of the bonding options provided by the kernel. For example: To add a port interface: Create a new connection, see Section 3.3.5, "Creating and Modifying a Connection Profile with nmcli" for details. Set the controller property to the bond interface name, or to the name of the controller connection: To add a new port interface, repeat the command with the new interface. For example: To activate the ports, issue a command as follows: When you activate a port, the controller connection also starts. You can see Section 7.1, "Understanding the Default Behavior of Controller and Port Interfaces" for more information. In this case, it is not necessary to manually activate the controller connection. It is possible to change the active_slave option and the primary option of the bond at runtime, without deactivating the connection. For example to change the active_slave option, issue the following command: or to change the primary option: Note The active_slave option sets the currently active port whereas the primary option of the bond specifies the active port to be automatically selected by kernel when a new port is added or a failure of the active port occurs.
~]USD nmcli con add type bond ifname mybond0 Connection 'bond-mybond0' (5f739690-47e8-444b-9620-1895316a28ba) successfully added. ~]USD nmcli con add type bond ifname mybond0 bond.options "mode=balance-rr,miimon=100" Connection 'bond-mybond0' (5f739690-47e8-444b-9620-1895316a28ba) successfully added. ~]USD nmcli con add type ethernet ifname ens3 master mybond0 Connection 'bond-slave-ens3' (220f99c6-ee0a-42a1-820e-454cbabc2618) successfully added. ~]USD nmcli con add type ethernet ifname ens7 master mybond0 Connection 'bond-slave-ens7' (ecc24c75-1c89-401f-90c8-9706531e0231) successfully added. ~]USD nmcli con up bond-slave- ens7 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/14) ~]USD nmcli con up bond-slave- ens3 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/15) ~]USD nmcli dev mod bond0 +bond.options "active_slave= ens7 " Connection successfully reapplied to device 'bond0'. ~]USD nmcli dev mod bond0 +bond.options "primary= ens3 " Connection successfully reapplied to device 'bond0'.