Provisioning Link Layer Discovery Protocol

The Cisco Discovery Protocol (CDP) is a device discovery protocol that runs over Layer 2 (the data link layer) on all Cisco-manufactured devices (routers, bridges, access servers, and switches). CDP allows network management applications to automatically discover and learn about other Cisco devices connected to the network.

To support non-Cisco devices and to allow for interoperability between other devices, the switch supports the IEEE 802.1AB Link Layer Discovery Protocol (LLDP). LLDP is a neighbor discovery protocol that is used for network devices to advertise information about themselves to other devices on the network. This protocol runs over the data link layer, which allows 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.

By default, LLDP is disabled globally and on interfaces.

The switch supports these basic management TLVs. These are mandatory LLDP TLVs.

  • Port description TLV

  • System name TLV

  • System description

  • System capabilities TLV

  • Management address TLV

These organizationally-specific LLDP TLVs are also advertised to support LLDP-MED.

  • Port VLAN ID TLV (IEEE 802.1 organizationally specific TLVs)

  • MAC/PHY configuration/status TLV (IEEE 802.3 organizationally specific TLVs)

How To Configure LLDP

Setting LLDP Global Configuration

     Command or ActionPurpose
    Step 1Configure NID


    Example:
    UCS# Configure NID 1
     
    Opens a new session for NID 1.  
    Step 2ProvisionLldpPortType


    Example:
    UCS# ProvisionLldpPortType
     
    Enters the ProvisionLldpPortType mode.  
    Step 3setLldpConfig lldpGlobalConfiguration {global_state {enable | disable} |hold_timelldp_hold_time |lldp_transmission_delay value |reinit_delay tx_reinit_value timertx_value |tlv_select {mgmt_address | port_description | system_capabilities | system_description | system_name}


    Example:
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration global_state enable
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration hold_time 5
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration lldp_transmission_delay 10
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration timer 10
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration reinit_delay 10
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration tlv_select system_description enable
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration tlv_select port_description enable
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration tlv_select management_address enable
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration tlv_select system_capabilities enable
    UCS(ProvisionLldpPortType)# setLldpConfig lldpGlobalConfiguration tlv_select system_name enable
     

    Sets the LLDP global configuration.

    • global_state—LLDP global state. This state is either enabled or disabled.
    • hold_time—LLDP hold time before discarding the configuration. The valid values are from 2 to 10 seconds. The default value is 4 seconds.
    • lldp_transmission_delay—LLD Transmission delay value. The valid values are from 1 to 8192. The default value is 2 seconds.
    • reinit_delay—LLDP transmission re-initialization delay. The valid values are from 1 to 10 seconds. The default value is 2 seconds.
    • timer—Time between each LLDP frame transmitted in seconds. The valid values are from 5 to 32768. The default value is 30 seconds.
    • tlv_select—Transmission TLV.
     
    Step 4setLldpConfig review


    Example:
    UCS(ProvisionLldpPortType)# setLldpConfig review
     
    Reviews the setLldpConfig.  
    Step 5setLldpConfig commit


    Example:
    UCS(ProvisionLldpPortType)# setLldpConfig commit
     
    Sends the setLldpConfig configuration to the Cisco ME 1200 NID.  
    Step 6exit


    Example:
    UCS(ProvisionLldpPortType)# exit
    UCS(ProvisionLldpPortType)# 
     
    Exits from the provisionLldpPortType mode.  
    What to Do Next

    After the configuration is sent to the Cisco ME 1200 NID, use the following get command to view the setLldpConfig configuration.

    UCS(ProvisionLldpPortType)# getLldpConfig getLldpConfigRequest
    UCS(ProvisionLldpPortType)# getLldpConfig review
    
    Commands in queue:
                    getLldpConfig getLldpConfigRequest
    UCS(ProvisionLldpPortType)# getLldpConfig commit
    GetLldpConfig_Output.lldpGlobalConfiguration.global_state = true
    GetLldpConfig_Output.lldpGlobalConfiguration.hold_time = 5
    GetLldpConfig_Output.lldpGlobalConfiguration.timer = 10
    GetLldpConfig_Output.lldpGlobalConfiguration.tlv_select.system_name = true
    GetLldpConfig_Output.lldpGlobalConfiguration.tlv_select.system_description = true
    GetLldpConfig_Output.lldpGlobalConfiguration.tlv_select.port_description = true
    GetLldpConfig_Output.lldpGlobalConfiguration.tlv_select.management_address = true
    GetLldpConfig_Output.lldpGlobalConfiguration.tlv_select.system_capabilities = true
    GetLldpConfig_Output.lldpGlobalConfiguration.reinit_delay = 10
    GetLldpConfig_Output.lldpGlobalConfiguration.lldp_transmission_delay = 10
     
    GetLldpConfig Commit Success!!!

    Setting LLDP Configuration to Default

       Command or ActionPurpose
      Step 1Configure NID


      Example:
      UCS# Configure NID 1
       
      Opens a new session for NID 1.  
      Step 2ProvisionLldpPortType


      Example:
      UCS# ProvisionLldpPortType
       
      Enters the ProvisionLldpPortType mode.  
      Step 3setLldpDefaults setLldpDefaultsRequest


      Example:
      UCS(ProvisionLldpPortType)# setLldpDefaults setLldpDefaultsRequest
      
       

      Sets the LLDP configuration to default values.

       
      Step 4setLldpDefaults commit


      Example:
      UCS(ProvisionLldpPortType)# setLldpDefaults commit
       
      Sends the setLldpDefaults configuration to the Cisco ME 1200 NID.  
      Step 5exit


      Example:
      UCS(ProvisionLldpPortType)# exit
      UCS(ProvisionLldpPortType)# 
       
      Exits from the ProvisionLldpPortType mode.  
      What to Do Next

      After the configuration is sent to the Cisco ME 1200 NID, use the following get command to view the setLldpDefaults configuration.

      UCS(ProvisionLldpPortType)# getLldpDefaults getLldpDefaultsRequest
      UCS(ProvisionLldpPortType)# getLldpDefaults review
      
      Commands in queue:
                      getLldpDefaults getLldpDefaultsRequest
      UCS(ProvisionLldpPortType)# getLldpDefaults commit
      GetLldpDefaults_Output.lldpGlobalConfiguration.global_state = true
      GetLldpDefaults_Output.lldpGlobalConfiguration.hold_time = 5
      GetLldpDefaults_Output.lldpGlobalConfiguration.timer = 30
      GetLldpDefaults_Output.lldpGlobalConfiguration.tlv_select.system_name = true
      GetLldpDefaults_Output.lldpGlobalConfiguration.tlv_select.system_description = true
      GetLldpDefaults_Output.lldpGlobalConfiguration.tlv_select.port_description = true
      GetLldpDefaults_Output.lldpGlobalConfiguration.tlv_select.management_address = true
      GetLldpDefaults_Output.lldpGlobalConfiguration.tlv_select.system_capabilities = true
      GetLldpDefaults_Output.lldpGlobalConfiguration.reinit_delay = 2
      GetLldpDefaults_Output.lldpGlobalConfiguration.lldp_transmission_delay = 10
       
      GetLldpDefaults Commit Success!!!

      Setting LLDP Port Configuration

         Command or ActionPurpose
        Step 1Configure NID


        Example:
        UCS# Configure NID 1
         
        Opens a new session for NID 1.  
        Step 2ProvisionLldpPortType


        Example:
        UCS# ProvisionLldpPortType
         
        Enters the ProvisionLldpPortType mode.  
        Step 3setLldpportconfig lldpPortConfiguration {lldp_receive_enable {disable | enable} |lldp_transmit_enable {disable | enable} | port_numberport_number}


        Example:
        UCS(ProvisionLldpPortType)# setLldpPortConfig lldpPortConfiguration port_number 3
        UCS(ProvisionLldpPortType)# setLldpPortConfig lldpPortConfiguration lldp_receive_enable disable
        UCS(ProvisionLldpPortType)# setLldpPortConfig lldpPortConfiguration lldp_transmit_enable disable
         

        Sets the LLDP port configuration.

        • lldp_receive_enable—Whether LLDP receive is enabled or disabled.

        • lldp_transmit_enable—Whether LLDP transmit is enabled or disabled.
        • port_number—The target interface number. The valid values are from 1 to 6.
         
        Step 4setLldpPortConfig review


        Example:
        UCS(ProvisionLldpPortType)# setLldpPortConfig review
         
        Reviews the setLldpPortConfig.  
        Step 5setLldpPortConfig commit


        Example:
        UCS(ProvisionLldpPortType)# setLldpConfig commit
         
        Sends the setLldpConfig configuration to the Cisco ME 1200 NID.  
        Step 6exit


        Example:
        UCS(ProvisionLldpPortType)# exit
         
        Exits from the ProvisionLldpPortType mode.  
        What to Do Next

        After the configuration is sent to the Cisco ME 1200 NID, use the following get command to view the setLldpPortConfig configuration.

        UCS(ProvisionLldpPortType)# getLldpportConfig physicalPortNum 3
        UCS(ProvisionLldpPortType)# getLldpportConfig review
        
        Commands in queue:
                        getLldpConfig physicalPortNum 3
        UCS(ProvisionLldpPortType)# getLldpportConfig commit
        GetLldpPortConfig_Output.lldpPortConfiguration.port_number = 3
        GetLldpPortConfig_Output.lldpPortConfiguration.lldp_transmit_enable = false
        GetLldpPortConfig_Output.lldpPortConfiguration.lldp_receive_enable = false
         
        GetLldpPortConfig Commit Success!!!

        Setting LLDP Port Configuration to Default

           Command or ActionPurpose
          Step 1Configure NID


          Example:
          UCS# Configure NID 1
           
          Opens a new session for NID 1.  
          Step 2ProvisionLldpPortType


          Example:
          UCS# ProvisionLldpPortType
           
          Enters the ProvisionLldpPortType mode.  
          Step 3setlldpportdefaults physicalPortNumport_number


          Example:
          UCS(ProvisionLldpPortType)# setlldpportdefaults physicalPortNum 3
          
           

          Sets the LLDP port configuration to default values.

          • physicalPortNum—Port number for which the LLDP configuration is set to default. The valid values are from 1 to 6.
           
          Step 4setlldpportdefaults commit


          Example:
          UCS(ProvisionLldpPortType)# setlldpportdefaults commit
           
          Sends the setlldpportdefaults configuration to the Cisco ME 1200 NID.  
          Step 5exit


          Example:
          UCS(ProvisionLldpPortType)# exit
           
          Exits from the ProvisionLldpPortType mode.  
          What to Do Next

          After the configuration is sent to the Cisco ME 1200 NID, use the following get command to view the setlldpportdefaults configuration.

          UCS(ProvisionLldpPortType)# getLldpportdefaults physicalPortNum 3
          UCS(ProvisionLldpPortType)# getLldpportdefaults review
          
          Commands in queue:
                          getLldpportdefaults physicalPortNum 3
          UCS(ProvisionLldpPortType)# getLldpportdefaults commit
          GetLldpPortDefaults_Output.lldpPortConfiguration.port_number = 3
          GetLldpPortDefaults_Output.lldpPortConfiguration.lldp_transmit_enable = true
          GetLldpPortDefaults_Output.lldpPortConfiguration.lldp_receive_enable = true
           
          GetLldpPortDefaults Commit Success!!!

          Other Commands For LLDP Configuration

          Clearing LLDP Counters

          clearLldpCounters
          UCS(ProvisionLldpPortType)# clearLldpCounters physicalPortNum 3

          Displaying LLDP Neighbors

          showlldpneighbors physicalPortNumphysical_port_number
          UCS(ProvisionLldpPortType)# showlldpneighbors physicalPortNum 3
          UCS(ProvisionLldpPortType)# showlldpneighbors commit
          ShowLldpNeighbors_Output.lldpNeighborInformation.local_port_id = 3
          ShowLldpNeighbors_Output.lldpNeighborInformation.chassis_id = '18-9C-5D-A7-F4-1C'
          ShowLldpNeighbors_Output.lldpNeighborInformation.remote_port_id = 'Gi0/3'
          ShowLldpNeighbors_Output.lldpNeighborInformation.remote_port_description = 'GigabitEthernet0/3'
          ShowLldpNeighbors_Output.lldpNeighborInformation.remote_system_name = 'IRF-Whales-1'
          ShowLldpNeighbors_Output.lldpNeighborInformation.remote_system_capabilities = 'Bridge(+), Router(+)'
          ShowLldpNeighbors_Output.lldpNeighborInformation.remote_system_description = 'Cisco IOS Software, ME360x Software (ME360x-UNIVERSAL-M), Version 15.4(2)SN, RELEASE SOFTWARE (fc1)
          Technical Support: http://www.cisco.com/techsupport
          Copyright (c) 1986-2014 by Cisco Systems, Inc.
          Compiled Fri 21-Mar-14 09:12 by prod_rel_team'
          ShowLldpNeighbors_Output.lldpNeighborInformation.remote_management_IP = '7.3.9.13 (IPv4)'
          ShowLldpNeighbors_Output.lldpNeighborInformation.remote_management_IPv6 = ''
           
          ShowLldpNeighbors Commit Success!!!

          Displaying LLDP Statistics

          showlldpstatistics physicalPortNumphysical_port_number
          UCS(ProvisionLldpPortType)# showlldpstatistics physicalPortNum 3
          UCS(ProvisionLldpPortType)# showlldpstatistics commit
          ShowLldpStatistics_Output.lldpPortStatistics.global_counters.total_neighbor_entries_added = 1
          ShowLldpStatistics_Output.lldpPortStatistics.local_counters.Tx_Frames = 17
          ShowLldpStatistics_Output.lldpPortStatistics.local_counters.Rx_Frames = 0
          ShowLldpStatistics_Output.lldpPortStatistics.local_counters.Rx_Errors = 0
          ShowLldpStatistics_Output.lldpPortStatistics.local_counters.Rx_Frames_Discarded = 0
          ShowLldpStatistics_Output.lldpPortStatistics.local_counters.TLVs_Discarded = 0
          ShowLldpStatistics_Output.lldpPortStatistics.local_counters.TLVs_Unrecognized = 0
          ShowLldpStatistics_Output.lldpPortStatistics.local_counters.Org_Discarded = 0
          ShowLldpStatistics_Output.lldpPortStatistics.local_counters.Age_Outs = 0
           
          ShowLldpStatistics Commit Success!!!