No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>Search

Reminder

To have a better experience, please upgrade your IE browser.

upgrade

Configuration Guide - Device Management

S2720, S5700, and S6720 V200R013C00

This document describes the configurations of Device Management, including device status query, hardware management, Stack, SVF, cloud-based management, PoE, monitoring interface, OPS, energy-saving management, information center, fault management, NTP, synchronous ethernet, PTP.
Rate and give feedback:
Huawei uses machine translation combined with human proofreading to translate this document to different languages in order to help you better understand the content of this document. Note: Even the most advanced machine translation cannot match the quality of professional translators. Huawei shall not bear any responsibility for translation accuracy and it is recommended that you refer to the English document (a link for which has been provided).
Example for Configuring an Interface Description Based on LLDP Neighbor Status

Example for Configuring an Interface Description Based on LLDP Neighbor Status

Networking Requirements

In Figure 8-7, interface descriptions need to be automatically configured using scripts based on LLDP neighbor status when LLDP neighbors are added or deleted on SwitchA.

Figure 8-7  Configuring an interface description based on LLDP neighbor status

Configuration Roadmap

  1. Make a Python script port_description_lldp.py to implement automatic configuration of interface descriptions based on LLDP neighbor status.

  2. Log in to SwitchA remotely, upload the Python script to SwitchA, and install the script.

  3. Configure a Python script assistant.

Procedure

  1. Make a Python script.

    # Make a Python script port_description_lldp.py to provide the following functions:
    • Subscribe to LLDP neighbor addition and deletion events.

    • Use environment variables to obtain the port of which an LLDP neighbor change, LLDP neighbor device name and neighbor port name of this port.

    • Configure the combination of the LLDP neighbor device name and neighbor port name as the description of a local port.

  2. Upload and install the Python script.

    1. # Log in to SwitchA remotely, and upload the Python script from a PC to SwitchA. For details on how to upload a file, see "File Management" in the S2720, S5700, and S6720 V200R013C00 Configuration Guide - Basic Configuration.

    2. # Install the Python script on SwitchA.
      <SwitchA> ops install file port_description_lldp.py

  3. Configure a Python script assistant.

    # Configure a Python script assistant and register the command line event in the script port_description_lldp.py to wait for the event to be triggered.

    <SwitchA> system-view
    [SwitchA] ops
    [SwitchA-ops] script-assistant python port_description_lldp.py
    [SwitchA-ops] quit
    

  4. Verify the configuration.

    # After the preceding configuration is complete, for example, after neighbor information is added to GE0/0/1, the description of GE0/0/1 is configured as follows:

    [SwitchA-GigabitEthernet0/0/1] display this                                                                                          
    #                                                                                                                                   
    interface GigabitEthernet0/0/1                                                                                                     
     description To-SwitchB-GigabitEthernet0/0/1                                                                                    
    #                                                                                                                                   
    return
    # After LLDP is disabled on GE0/0/1 using the undo lldp enable command, the description of GE0/0/1 is deleted:
    [SwitchA-GigabitEthernet0/0/1] undo lldp enable                                                                                          
    [SwitchA-GigabitEthernet0/0/1] display this                                                                                          
    #                                                                                                                                   
    interface GigabitEthernet0/0/1                                                                                                     
     undo lldp enable                                                                                      
    #                                                                                                                                   
    return

Configuration File and Script Example

  • SwitchA configuration file

    #
    sysname SwitchA
    #
    ops
     script-assistant python port_description_lldp.py
    #
    return
  • Example of the script port_description_lldp.py

    # -*- coding: utf-8 -*-
    import ops         # Import the OPS module.
    import sys         # Import the SYS module.
    import os          # Import the OS module.
    import re          # Import the RE module, a regular expression.
    # Subscription processing function
    def ops_condition (ops):
    	# Detect a neighbor addition event. In this type of event, neighbors can only be switches or routers. To subscribe to events of another type, use the following format.
    	value1, err_str1 = ops.lldp.subscribe("add1", ops.lldp.LLDP_NEIGHBOR_EVENT_ADD, "INTERFACE_ALL", ops.lldp.LLDP_NEIGHBOR_TYPE_SWITCH)
    	value11, err_str11 = ops.lldp.subscribe("add2", ops.lldp.LLDP_NEIGHBOR_EVENT_ADD, "INTERFACE_ALL", ops.lldp.LLDP_NEIGHBOR_TYPE_ROUTER)
        
    	# Detect a neighbor deletion event.
    	value2, err_str2 = ops.lldp.subscribe("delete1", ops.lldp.LLDP_NEIGHBOR_EVENT_DEL, "INTERFACE_ALL", ops.lldp.LLDP_NEIGHBOR_TYPE_SWITCH)
    	value22, err_str21 = ops.lldp.subscribe("delete2", ops.lldp.LLDP_NEIGHBOR_EVENT_DEL, "INTERFACE_ALL", ops.lldp.LLDP_NEIGHBOR_TYPE_ROUTER)
        
    	# Combination of neighbor addition and deletion events. The combination of a maximum of eight events is supported.
    	value10, err_str10 = ops.correlate("add1 or add2 or delete1 or delete2")
    	return 0
    
    # Working processing function
    def ops_execute (ops):
    	# Obtain the system environment variable _lldp_event, which indicates an event trigger type.
    	key, value = ops.environment.get("_lldp_event")
    	inter, value = ops.environment.get("_lldp_interface")
        
    	if key == "OPR_TYPE_ADD":
    	
    		# Open the CLI channel.
    		handle, err_desp = ops.cli.open() 
    		neighbor, n11, n21 = ops.cli.execute(handle,"display lldp neighbor interface " + inter)
    		
    		resultsys = re.search(r'System[\s]+name[\s:]*\S*', neighbor).group()
    		sysname = re.split(':', resultsys)		
    
    		resultport = re.search(r'Port\s+ID\s{2,}:*\S*', neighbor).group()
    		port = re.split(':', resultport)
    
    		# Enter the system view.
    		result, n11, n21 = ops.cli.execute(handle,"system-view")
            
    		# Enter the interface view.
    		result, n11, n21 = ops.cli.execute(handle,"interface " + inter)
            
    		# Configure an interface description.
    		result, n11, n21 = ops.cli.execute(handle,"description " + "To-" + sysname[1] + "-" + port[1])
    
    		# Close the CLI channel.
    		result = ops.cli.close(handle)
    		
    	elif key == "OPR_TYPE_DEL":
    		handle, err_desp = ops.cli.open() 
            
    		# Enter the system view.
    		result, n11, n21 = ops.cli.execute(handle,"system-view")
            
    		# Enter the interface view.
    		result, n11, n21 = ops.cli.execute(handle,"interface " + inter)
            
    		# Configure an interface description.
    		result, n11, n21 = ops.cli.execute(handle,"undo description")
            
    		# Close the CLI channel.
    		result = ops.cli.close(handle)
    
    	else:
    		return 1
    	return 0
Translation
Download
Updated: 2019-04-20

Document ID: EDOC1100065674

Views: 34465

Downloads: 289

Average rating:
This Document Applies to these Products
Related Documents
Related Version
Share
Previous Next