Enable LLDP on VAST Nodes

Prev Next

Summary

Enabling LLDP (Link Layer Discovery Protocol) allows devices on the VAST Internal network to discover each other. This is specifically useful for network visibility and troubleshooting, as well as for finding which node is connected to which switch and which port.

What is LLDP

LLDP is an open standard (IEEE 802.1AB) protocol, which means it works with equipment from virtually all network vendors (NVIDIA, Arista, Cisco, Juniper, HPE, etc.), making it ideal for any mixed-vendor environment

It allows VAST Cluster nodes to automatically discover and advertise their information to the network switch they are directly connected to. This is incredibly useful in larger clusters.

What does VAST use LLDP for?

Automated Network Mapping & Documentation

What Information is Exchanged?

When enabled, your server will periodically send LLDP packets to its neighbor (the switch) containing information like:

  • System Name: The server's hostname (e.g., web-server-01).

  • Port ID: The name of the network interface (e.g., eth0 or enp1s0).

  • System Description:

    • Vendor: The manufacturer of the device (VAST Data).

    • Software Version: The operating system and version number (VAST-OS 12.15.3).

    • Hardware Model: The specific model of the device.

  • System Capabilities: It's a server (as opposed to a switch or router).

  • Management Address: The server's IP address.

In return, the switch sends the VAST Cluster:

  • Chassis ID: The switch's unique identifier (often its MAC address).14

  • System Name: The switch's configured hostname (e.g., core-switch-A).

  • Port ID: The name of the switch port (e.g., Gi1/0/12).15

  • Port Description: The human-readable description of the port (e.g., U14-Rack-Server-web-server-01).16

  • VLAN Information: The VLAN ID assigned to the port.17

In short, enabling LLDP is a best practice that costs very little in resources but provides immense value for managing, documenting, and troubleshooting your network connections.

⚠️ Warning

Warning!  Do not use LLDPAD

Using LLDPAD with Arista or Cisco switches where LLDP may not be running will result in LLDPAD removing PFC config from VAST C or D nodes.

sudo systemctl stop lldpad
sudo systemctl disable lldpad
sudo python3 /usr/bin/vast_pfc.py 

The new VAST OS (12.15.3+) is installed with LLDPD, we can just enable it so it is ready to go.

sudo systemctl status lldpd
### if not running, enable it
sudo systemctl enable --now lldpd

If the VAST OS only has lldpad installed, disable it and install lldpd.  This steps are tested on VAST OS 12.14.25.

sudo systemctl disable --now lldpad
sudo yum install lldpd
sudo systemctl enable --now lldpd

You can then use lldpctl to query port connectivity on the VAST node. You can use grep command to limit to only certain interfaces, for example.

vast3012-var vastdata@v3012cn2 ~:$ sudo lldpctl | grep -A24 "Interface:    enp129s0f1, via: LLDP, RID: 4"
Interface:    enp129s0f1, via: LLDP, RID: 4, Time: 0 day, 00:10:40
  Chassis:
    ChassisID:    mac c4:70:bd:fb:f4:90
    SysName:      rack34-1
    SysDescr:     Cumulus Linux version 5.12.1 running on Mellanox Technologies Ltd. MSN3700
    MgmtIP:       10.10.11.1
    MgmtIP:       fe80::c670:bdff:fefb:f490
    Capability:   Bridge, on
    Capability:   Router, on
  Port:
    PortID:       ifname swp6
    PortDescr:    swp6
    TTL:          120
    MFS:          9216
    PMD autoneg:  supported: yes, enabled: yes
      MAU oper type: unknown
  LLDP-MED:
    Device Type:  Network Connectivity Device
    Capability:   Capabilities, yes
    Capability:   Policy, yes
    Capability:   Location, yes
    Capability:   MDI/PSE, yes
    Capability:   MDI/PD, yes
    Capability:   Inventory, yes
-------------------------------------------------------------------------------
### or a more condense output:
vast3012-var vastdata@v3012cn2 ~:$ sudo lldpctl | grep -A24 "Interface:    enp129s0f1, via: LLDP, RID: 4" | egrep 'SysName|MgmtIP|PortDescr' | awk '{print $NF}' | grep -v : | paste -s -d' '
rack34-1 10.10.11.1 swp6
### Or if you prefer JSON
vast3012-var vastdata@v3012cn2 ~:$ sudo lldpctl -f json | jq -r '.[][][]."enp129s0f1"|select(.rid!="1").chassis' | grep -v ^null
{
  "rack34-1": {
    "id": {
      "type": "mac",
      "value": "c4:70:bd:fb:f4:90"
    },
    "descr": "Cumulus Linux version 5.12.1 running on Mellanox Technologies Ltd. MSN3700",
    "mgmt-ip": [
      "10.10.11.1",
      "fe80::c670:bdff:fefb:f490"
    ],
    "capability": [
      {
        "type": "Bridge",
        "enabled": true
      },
      {
        "type": "Router",
        "enabled": true
      }
    ]
  }
}

On the switch side, we can list the VAST node connections.

cumulus@rack34-1:mgmt:~$ nv show interface lldp
Interface  Speed  Type  Remote Host   Remote Port
---------  -----  ----  ------------  -----------------
eth0       1G     eth   AV-VAR-TOR34  c4:18:fc:70:ab:ce
swp6       200G   swp   v3012cn2      c4:70:bd:fb:3c:cf
swp7       200G   swp   v3012cn1      c4:70:bd:cd:8a:3b
swp29      100G   swp   bb-3          Eth1/13
swp31      100G   swp   rack34-2      swp31
swp32      100G   swp   rack34-2      swp32