In diesem Artikel soll kurz die Konfiguration von LLDP auf einem Virtual-I/O-Server beschrieben werden. LLDP wird über den Daemon lldpd implementiert und kann über das Kommando lldpctl konfiguriert und kontrolliert werden.
Das Link Layer Discovery Protocol LLDP wird auf den Virtual-I/O-Servern über den Dienst lldpd implementiert. Beim Booten des Virtual-I/O-Servers wird über den inittab-Eintrag rcvnet das Skript /etc/rc.vnet gestartet:
padmin> oem_setup_env # lsitab rcvnet rcvnet:23456789:wait:/etc/rc.vnet> /dev/console 2>&1 # Start lldp/ecpvdp daemons #
Das Skript startet sowohl den lldpd (LLDP), als auch den ecpvdpd (ECP und VDP). Beim Booten werden die beiden folgenden Zeilen auf der Konsole ausgegeben:
0513-059 The lldpd Subsystem has been started. Subsystem PID is 20250872. 0513-059 The ecpvdpd Subsystem has been started. Subsystem PID is 16515160.
Das Skript aktiviert LLDP auf allen Shared Ethernet Adaptern, bei denen das Attribut lldpsvc auf yes gesetzt ist. Standardmäßig ist das Attribut allerdings auf no gesetzt.
Für Abfragen und Konfigurationsänderungen steht das Kommando lldpctl zur Verfügung. Mit diesem kann man sich beispielsweise die Ports anzeigen lassen auf denen LLDP gerade aktiv ist:
# lldpctl show portlist lldpctl: 0812-001 lldpd is currently not managing any ports #
Da bei allen Shared Ethernet Adaptern das Attribut lldpsvc per Default auf no gesetzt ist, gibt es keine Ports auf denen LLDP aktiv ist.
Auf unserem System gibt es die folgenden Shared Ethernet Adapter:
# lsdev -l ent\* | grep Shared ent15 Available Shared Ethernet Adapter #
Wir setzen das Attribut lldpsvc für diesen Shared Ethernet Adapter auf yes:
# chdev -l ent15 -a lldpsvc=yes ent15 changed #
Die Änderung muss nun an den lldpd weitergegeben werden, dies erfolgt am einfachsten durch das Kommando lldpsync (Shell-Skript):
# lldpsync #
LLDP sollte jetzt für diesen Shared Ethernet Adapter (ent15) aktiv sein:
# 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 #
Die Port-Statistik am Ende der Ausgabe zeigt das der lldpd schon 7 LLDP-Pakete über den Port ent15 gesendet und 6 LLDP-Pakete empfangen hat. Das Nachbar-System, physikalischer Switch, hat also seinerseits schon einige LLDP-Pakete gesendet und müsste daher nun auch schon bekannt sein. Wir schauen uns den Nachbarn kurz an:
# 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 #
Es handelt sich hier um einen Cisco Switch und unser Shared Ethernet Adapter ist an Port mit der ID Eth101/1/5 angebunden.
Hat man weitere Shared Ethernet Adapter und möchte auch bei diesen LLDP verwenden, dann setzt man entsprechend das Attribut lldpsvc=yes und aktualisiert anschließend den lldpd durch Verwendung des Kommandos lldpsync.