This article briefly describes how to configure LLDP on a virtual I/O server. LLDP is implemented by the lldpd daemon and can be configured and controlled using the lldpctl command.
The Link Layer Discovery Protocol LLDP is implemented on virtual I/O servers by the lldpd service. When booting the virtual I/O server, the inittab entry rcvnet starts the script /etc/rc.vnet:
padmin> oem_setup_env # lsitab rcvnet rcvnet:23456789:wait:/etc/rc.vnet> /dev/console 2>&1 # Start lldp/ecpvdp daemons #
The script starts both, lldpd (LLDP) and ecpvdpd (ECP and VDP). When booting, the following two lines are displayed on the console:
0513-059 The lldpd Subsystem has been started. Subsystem PID is 20250872. 0513-059 The ecpvdpd Subsystem has been started. Subsystem PID is 16515160.
The script enables LLDP on all shared ethernet adapters where the lldpsvc attribute is set to yes. By default, the attribute is set to no.
For queries and configuration changes the command lldpctl is available. We can use the command to show the ports on which LLDP is currently active:
# lldpctl show portlist lldpctl: 0812-001 lldpd is currently not managing any ports #
Since the attribute lldpsvc is set to no by default for all shared ethernet adapters, there are no ports where LLDP is active.
On our system there are the following shared ethernet adapters:
# lsdev -l ent\* | grep Shared ent15 Available Shared Ethernet Adapter #
We set the attribute lldpsvc for this shared ethernet adapter to yes:
# chdev -l ent15 -a lldpsvc=yes ent15 changed #
The change must now be signaled to the lldpd. This is most easily done by the command lldpsync (shell script):
# lldpsync #
LLDP should now be active for our shared ethernet adapter (ent15):
# lldpctl show portlist ent15 # lldpctl show port ent15 Port: ent15 TLVs: Chassis ID: XX:XX:XX:XX:XX:XX (MAC address) Port ID: ent15 (interface name) TTL: 120 Port Description: ent15 System Name: ms2-vio1 System Description: AIX ms2-vio1 1 6 00XXXXXXXX00 System Capabilities: Capabilities: Station Only Enabled: Station Only Management Address: Address Subtype: 6 (802) Management Address: XX:XX:XX:XX:XX:XX Interface Subtype: ifIndex Interface Number: 15 OID: not provided (EVB) EVB Configuration: Capabilities: Standard 802.1Q Retransmission Exponent ECP VDP Current Config: Standard 802.1Q Retransmission Exponent VSIs supported: 0 VSIs configured: 0 RTE: 16 Port Statistics: FramesOutTotal 7 AgeoutsTotal 0 FramesDiscardedTotal 0 FramesInErrorsTotal 0 FramesInTotal 6 TLVsDiscardedTotal 0 TLVsUnrecognizedTotal 0 #
The port statistics at the end of the output shows that the lldpd has already sent 7 LLDP packets over the port ent15 and has also received 6 LLDP packets. The neighboring system, a physical switch, has therefore already sent some LLDP packets and should therefore already be known. We take a quick look at the neighbor:
# lldpctl show neighbor ent15 MSAP: XX:XX:XX:XX:XX:XX Eth101/1/5 Received on port: ent15 TLVs: Chassis ID: XX:XX:XX:XX:XX:XX (MAC address) Port ID: Eth101/1/5 (locally assigned) TTL: 120 Port Description: Ethernet101/1/5 System Name: sw10 System Description: Cisco Nexus Operating System (NX-OS) Software 9.2(2) TAC support: http://www.cisco.com/tac Copyright (c) 2002-2018, Cisco Systems, Inc. All rights reserved. System Capabilities: Capabilities: Bridge Router Enabled: Bridge Management Address: Address Subtype: 1 (IPv4) Management Address: X.X.X.X Interface Subtype: ifIndex Interface Number: 83886080 OID: not provided Unrecongized TLV type 127 (802.1) Port VLAN ID: 1 #
This is a Cisco switch and our shared ethernet adapter is connected to the port with ID Eth101/1/5.
If you have other shared ethernet adapters and you also want to use LLDP on these adapters, then set the attribute lldpsvc=yes and then update the lldpd by using the command lldpsync.