Chapter 49. Using nmstate-autoconf to automatically configure the network state using LLDP
Chapter 49. Using nmstate-autoconf to automatically configure the network state using LLDP Network devices can use the Link Layer Discovery Protocol (LLDP) to advertise their identity, capabilities, and neighbors in a LAN. The nmstate-autoconf utility can use this information to automatically configure local network interfaces. Important The nmstate-autoconf utility is provided as a Technology Preview only. Technology Preview features are not supported with Red Hat production Service Level Agreements (SLAs), might not be functionally complete, and Red Hat does not recommend using them for production. These previews provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. See Technology Preview Features Support Scope on the Red Hat Customer Portal for information about the support scope for Technology Preview features. 49.1. Using nmstate-autoconf to automatically configure network interfaces The nmstate-autoconf utility uses LLDP to identify the VLAN settings of interfaces connected to a switch to configure local devices. This procedure assumes the following scenario and that the switch broadcasts the VLAN settings using LLDP: The enp1s0 and enp2s0 interfaces of the RHEL server are connected to switch ports that are configured with VLAN ID 100 and VLAN name prod-net . The enp3s0 interface of the RHEL server is connected to a switch port that is configured with VLAN ID 200 and VLAN name mgmt-net . The nmstate-autoconf utility then uses this information to create the following interfaces on the server: bond100 - A bond interface with enp1s0 and enp2s0 as ports. prod-net - A VLAN interface on top of bond100 with VLAN ID 100 . mgmt-net - A VLAN interface on top of enp3s0 with VLAN ID 200 If you connect multiple network interfaces to different switch ports for which LLDP broadcasts the same VLAN ID, nmstate-autoconf creates a bond with these interfaces and, additionally, configures the common VLAN ID on top of it. Prerequisites The nmstate package is installed. LLDP is enabled on the network switch. The Ethernet interfaces are up. Procedure Enable LLDP on the Ethernet interfaces: Create a YAML file, for example ~/enable-lldp.yml , with the following content: interfaces: - name: enp1s0 type: ethernet lldp: enabled: true - name: enp2s0 type: ethernet lldp: enabled: true - name: enp3s0 type: ethernet lldp: enabled: true Apply the settings to the system: Configure the network interfaces using LLDP: Optional, start a dry-run to display and verify the YAML configuration that nmstate-autoconf generates: Use nmstate-autoconf to generate the configuration based on information received from LLDP, and apply the settings to the system: steps If there is no DHCP server in your network that provides the IP settings to the interfaces, configure them manual. For details, see: Configuring an Ethernet connection Configuring a network bond Verification Display the settings of the individual interfaces: Additional resources nmstate-autoconf(8) man page on your system
interfaces: - name: enp1s0 type: ethernet lldp: enabled: true - name: enp2s0 type: ethernet lldp: enabled: true - name: enp3s0 type: ethernet lldp: enabled: true nmstatectl apply ~/enable-lldp.yml nmstate-autoconf -d enp1s0 , enp2s0 , enp3s0 --- interfaces: - name: prod-net type: vlan state: up vlan: base-iface: bond100 id: 100 - name: mgmt-net type: vlan state: up vlan: base-iface: enp3s0 id: 200 - name: bond100 type: bond state: up link-aggregation: mode: balance-rr port: - enp1s0 - enp2s0 nmstate-autoconf enp1s0 , enp2s0 , enp3s0 nmstatectl show <interface_name>