Download PDF
Home

1. Introduction to LLDP

Link Layer Discovery Protocol (LLDP) is a media-independent link layer protocol used by network devices for advertising their identity, capabilities to neighbors on a LAN segment. LLDP runs over the data-link layer only, allowing two systems running different network layer protocols to learn about each other.

LLDP supports a set of attributes that it uses to discover neighbor devices. These attributes contain type, length, and value descriptions and are referred to as TLVs. LLDP supported devices can use TLVs to receive and send information to their neighbors. Details such as configuration information, device capabilities, and device identity can be advertised using this protocol.

1.1. Guidelines

  • All LLDP packets are sent to the CPU for further processing.

  • LLDP packets will be lower priority packets when compared with the routing protocol packets. In case of a congestion, the LLDP packets may be policed.

1.2. Limitations

  • LLDP currently does not intend to work on bundle interfaces.

  • LLDP is disabled for the following interfaces on L2BSA L2X:

    • Physical interfaces on Q2C platform

    • LAG member interfaces on QAX platform

1.3. Interactions with other features

RBFS provides various daemons that run as background processes. LLDP interacts with these daemons for accessing necessary configurations.

lldp interaction

The table below shows the interactions of LLDP with the other daemons of RBFS.

Daemon Name Daemon Description Interaction Details

Confd

Configuration

Confd stores all the LLDP configuration information. LLDP subscribes for the following tables of Confd:

  • global.lldp.config

  • global.lldp.interface.config

IFMD

Interface Monitoring

LLDP is enabled on the physical interface. LLDP subscribes to the IFP table to find the status of the physical link. An LLDP message can be sent only to those interfaces whose link state is UP.

FIBD

Forwarding Information Base

FIBD subscribes for the LLDP interface table which has all the information required for enabling LLDP on the interface. This is used to program in VPP. Any neighbor detected, VPP will notify and this detection is stored in the FIBD table for tracking purpose. Each time a message is received from the neighbor, it will be updated in this table. Thus, the history of the messages received from the neighbor is tracked. This information is stored in one of the FIBD tables. LLDP subscribes to this table to find its neighbor.

1.3.1. LLDP Limitations with L2X

LLDP is disabled in the following scenario:

  1. The outgoing-interface is configured in the egress L2X.

  2. The outgoing-interface is configured in the ingress L2X with the match-type as "any" or "untagged".

  3. The outgoing-interface and incoming-interface are configured in the bi-directional L2X.

1.4. Supported Platforms

Not all features are necessarily supported on each hardware platform. Refer to the Platform Guide for the features and the sub-features that are or are not supported by each platform.

2. LLDP Configuration

2.1. Configuration Hierarchy

The diagram illustrates the LLDP configuration hierarchy.

LLDP Configuration Hierarchy

2.2. Configuration Syntax and Commands

The following sections describe the LLDP configuration syntax and commands.

2.2.1. LLDP Global Configuration

Syntax:

set lldp <attribute> <value>

Attribute Description

admin-status [disable|enable]

Enable or disable LLDP. LLDP is enabled, by default.

system-description <system description>

LLDP global system description to be sent to the neighbor

system-name <system name>

LLDP global system name to be sent to the neighbor. If the system name is not configured, it is fetched from BDS.

tx-hold <transmit hold time>

Specifies the amount of time (in seconds) a receiving device maintains the neighbor information before aging your device. If the timer expires and no LLPD packet was received, the neighbor will be marked as DOWN. Default value is 120 seconds. The hold-time range is 1 through 360000.

tx-interval <advertisement interval>

Interval (in seconds) at which LLDP packets are sent to neighbors. Default interval value is 30 seconds. The transmission interval range is 1 through 3600 seconds.

Example 1: Enable LLDP

{
    "rtbrick-config:lldp": {
      "admin-status": "enable",
      "system-name": "rtbrick",
      "system-description": "This is rtbrick system",
      "tx-interval": 40,
      "tx-hold": 150
    }
  }

2.2.2. LLDP Interface Configuration

Syntax:

set lldp interface <interface-name> <attribute> <value>

Attribute Description

interface <interface name>

Name of the interface on which you enable or disable LLDP. By default, the interface is enabled.
NOTE: Interface level configuration will override the global LLDP enable/disable functionality.

admin-status [disable or enable]

LLDP is enabled by default. The command set lldp admin-status disable is used to disable it. If you want to re-enable it, run the set lldp admin-status enable command.

port-desc <port description>

LLDP port description to be sent to the neighbor. If the port description is not configured, the description configured under interface from IFMD is taken as LLDP port description.

Example 1: LLDP on Interface Configuration

{
    "rtbrick-config:lldp": {
      "interface": [
        {
          "interface-name": "ifp-0/0/1",
          "port-description": "this is port ifp-0/0/1",
          "admin-status": "enable"
        }
      ]
    }
  }

3. LLDP Operational Commands

3.1. LLDP Show Commands

The LLDP show commands provide detailed information about the LLDP global summary, neighbors, and interfaces.

Syntax:

show lldp <option>

Option Description

interface

Displays information about interfaces where LLDP is enabled.

neighbor

Displays information about all the neighbors.

summary

Displays global summary details such as system name, frequency of transmissions, the hold-time for the packets sent, TLVs, and the disabled TLVs.

3.1.1. LLDP Interfaces

The command displays the information about interfaces where LLDP is enabled.

Syntax:

show lldp interface <attribute> <value>

Option Description

interface-name

Displays summary details such as status, MAC address and description.

Example 1: LLDP interface summary

root@rtbrick: op> show lldp interface
Interface name       Status  MAC address           Description
ifp-0/0/0                   Down    7a:77:6a:01:00:01   Physical interface #0 from node 0, chip 0
ifp-0/0/1                   Up         7a:77:6a:01:00:02   Physical interface #1 from node 0, chip 0
ifp-0/0/2                   Up          7a:77:6a:01:00:05   Physical interface #2 from node 0, chip 0

Example 2: For the interfaces where L2X is configured, LLDP is suppressed as shown in the following example.

root@rtbrick: op> show lldp interface
Interface name Status MAC address Description
ifp-0/0/0 Suppress 7a:3a:ce:60:00:00 Suppressed by L2X : L2X1
ifp-0/0/1 Suppress 7a:3a:ce:60:00:01 Suppressed by L2X : L2X2

3.1.2. LLDP Neighbors

This command displays the information of all neighbors.

Syntax:

show lldp neighbor <attribute> <value>

Option Description

detail

Displays the information in detail about a specific LLDP neighbor or all neighbors.

interface-name

Name of the interface on which neighbor is formed.

Example 1: LLDP neighbor summary

root@rtbrick: op> show lldp  neighbor
Neighbor name      Status  Remote port ID     Local port ID      Neighbor MAC address  Last received     Last sent
fwdd-r2                   Up         ifp-0/0/1                 ifp-0/0/1              7a:1a:c9:00:00:01            0:00:05 ago       0:00:05 ago
fwdd-r2                   Up         ifp-0/0/2                 ifp-0/0/2              7a:1a:c9:00:00:04            0:00:05 ago       0:00:05 ago

Example 2: LLDP all neighbor details

root@rtbrick: op> show lldp neighbor detail

Neighbor: fwdd-r2
  Neighbor MAC address: 7a:1a:c9:00:00:01
  Neighbor port ID: ifp-0/0/1
  Neighbor port description: Physical interface #1 from node 0, chip 0
  Neighbor TTL: 121
  Neighbor timeout: 121000
  Local interface: ifp-0/0/1
  Local MAC address: 7a:77:6a:01:00:02
  Local port description: Physical interface #1 from node 0, chip 0
  Packets sent: 35
  Packets received: 36
  Neighbor status: Up

Neighbor: fwdd-r2
  Neighbor MAC address: 7a:1a:c9:00:00:04
  Neighbor port ID: ifp-0/0/2
  Neighbor port description: Physical interface #2 from node 0, chip 0
  Neighbor TTL: 121
  Neighbor timeout: 121000
  Local interface: ifp-0/0/2
  Local MAC address: 7a:77:6a:01:00:05
  Local port description: Physical interface #2 from node 0, chip 0
  Packets sent: 35
  Packets received: 36
  Neighbor status: Up

Example 3: LLDP specific neighbor details

root@rtbrick: op> show lldp neighbor ifp-0/0/1
Neighbor: fwdd-r2
  Neighbor MAC address: 7a:1a:c9:00:00:01
  Neighbor port ID: ifp-0/0/1
  Neighbor port description: Physical interface #1 from node 0, chip 0
  Neighbor TTL: 121
  Neighbor timeout: 121000
  Local interface: ifp-0/0/1
  Local MAC address: 7a:77:6a:01:00:02
  Local port description: Physical interface #1 from node 0, chip 0
  Packets sent: 148
  Packets received: 149
  Neighbor status: Up

3.1.3. LLDP Summary

The command displays the LLDP global summary information.

Syntax:

show lldp summary

Option Description

-

Without any options, the command displays LLDP global summary details such as status, MAC address and description.

Example 1: LLDP System Summary

root@rtbrick: op> show lldp summary
Mode: global
  System hostname: fwdd-r1
  Transmit interval: 30 sec
  Transmit holdtime: 120 sec

3.2. LLDP Clear Commands

Clear commands allow to reset operational states.

3.2.1. LLDP Neighbor

This commands resets LLDP neighbor.

Syntax:

clear lldp neighbor <option>

Option Description

all

Clears all the LLDP neighbors.

<ifp-0/0/1>

Clears a specific neighbor on an interface.

Example: The example below shows how to clear all the LLDP neighbors.

supervisor@rtbrick: op> clear lldp neighbor all

©Copyright 2022 RtBrick, Inc. All rights reserved. The information contained herein is subject to change without notice. The trademarks, logos and service marks ("Marks") displayed in this documentation are the property of RtBrick in the United States and other countries. Use of the Marks are subject to RtBrickā€™s Term of Use Policy, available at https://www.rtbrick.com/privacy. Use of marks belonging to other parties is for informational purposes only.