Tutorial
Enhance baseboard management controller (BMC) network management through Link Layer Discovery Protocol (LLDP)
Analyze LLDP packets for network insightsIntroduction
Neighbor discovery is very essential for allowing any two devices to communicate with each other. One of the commonly used neighbor discovery protocol is Link Layer Discovery Protocol (LLDP) which helps in network diagnostics and is a key customer requirement for baseboard management controller (BMC). Configuring LLDP allows network devices to advertise and discover information about themselves to other devices on the network by sending and receiving LLDP messages. LLDP can be thought of as a way for network devices to introduce themselves and share useful information about their configurations and network attributes.
LLDP enables BMC to be more visible to the peer networks. It benefits network administrators to perform network diagnostics and to troubleshoot and manage data. If two devices cannot communicate as expected, LLDP helps identify the devices involved, identify where the breakdown occurred, and provide diagnosis.
This tutorial provides the steps to configure LLDP on BMC with supported Ethernet interface level using the GUI and Redfish API. The tutorial also provides information about the LLDP packet attributes.
LLDP packet attributes
Using the LLDP protocol on BMC enables you to store information in the form of LLDP data units (LLDPDUs). LLDPDUs contain small packets with critical details such as device identity, port information, and capabilities. This information is stored in the form of Management Information Bases (MIBs) and can be retrieved through Simple Network Management Protocol (SNMP).
Packets must contain the following set of attributes expressed in the Type/Length/Value (TLV) format. The mandatory TLVs are:
- Chassis ID
- Port ID
- Time to Live
- End of LLDPU
And the optional TLVs are:
- Port Description
- System Name
- System Description
- System Capabilities
Configure LLDP on BMC
Perform the following steps to enable LLDP using the BMC GUI on eth0/eth1.
- Sign in to the BMC GUI with the username and password.
In the navigation panel, click Settings > Network. Then click the eth0 or the eth1 tab as per your requirement.

Ensure that LLDP is set to Enabled.

Note: You can use the same toggle button to disable LLDP on eth0 and eth1.
- After enabling, you can capture the LLDP packets with a network packet analyzer.
Configure LLDP on BMC using the Redfish API
Perform the following steps to configure LLDP for BMC using Redfish API for the eth0 and eth1 interfaces:
- Run the following command to find the current LLDP enabled status on eth0.
curl -k -H "X-Auth-Token: <bmc_token>" -H "Content-Type: application/json" -X GET https://<BMC_IP>/redfish/v1/Managers/bmc/DedicatedNetworkPorts/eth0 Run the following command to set
LLDPEnabledtotrueon eth0.Note: Set the
LLDPEnabledproperty totrueto enable LLDP else, by default, the value is set tofalse.curl -k -H "X-Auth-Token: <bmc_token>" -H "Content-Type: application/json" -X PATCH https://<BMC_IP>/redfish/v1/Managers/bmc/DedicatedNetworkPorts/eth0 -d '{"Ethernet":{"LLDPEnabled":true}}'- Run the following command to find the current LLDPEnabled status on eth1.
curl -k -H "X-Auth-Token: <bmc_token>" -H "Content-Type: application/json" -X GET https://<BMC_IP>/redfish/v1/Managers/bmc/DedicatedNetworkPorts/eth1 Run the following command to set
LLDPEnabledtotrueon eth1.Note: Set the
LLDPEnabledproperty totrueto enable LLDP else, by default, the value is set tofalse.curl -k -H "X-Auth-Token: <bmc_token>" -H "Content-Type: application/json" -X PATCH https://<BMC_IP>/redfish/v1/Managers/bmc/DedicatedNetworkPorts/eth1 -d '{"Ethernet":{"LLDPEnabled":true}}'
Summary
By following the procedure mentioned in this tutorial user can enable LLDP on BMC and make BMC more discoverable. This helps user to understand the network better, ensure devices are properly connected, and keep things running smoothly, all while maintaining interoperability across a wide range of network devices.