Simple Port Configurations GUI

A simple interface to configure ports on switches. With this interface, we can enable and disable interfaces, add and delete VLANs and change speed and duplex settings per interface. We make the configurations using RESTCONF. Altogether, it allows remote teams to make simple configurations to the network.

Workflow

Workflow

Interface

Screenshot_1
Screenshot_2
Screenshot_3

Contacts

Solution Components

  • Python
  • RESTCONF on device
  • IOS-XE

Prerequisites

Installation

  1. Clone the repository

     $ git clone (link)
    
  2. Open the credentials.yml file and add the following information:

     port_switches:
     - '' 
     port_switches_username: ''
     port_switches_password: ''
     vlans_to_exclude: []
    
  3. (Optional) Create a Python virtual environment and activate it (find instructions here).

  4. In a terminal, install the requirements with pip install -r requirements.txt.

  5. In a terminal, navigate to the root directory and start the Flask application by running python main.py.

  6. In a browser, go to localhost:5001 to open the application.

License

Provided under Cisco Sample Code License, for details see LICENSE.

Code of Conduct

Our code of conduct is available here.

Contributing

See our contributing guidelines here.

Use Case

GVE DevNet Simple Ports Configurations RESTCONF GUI

In this PoV, we created a GUI that can make simple ports configurations to IOS-XE devices using RESTCONF. Examples of configurations include adding and deleting VLANs, enabling and disabling interfaces, adjusting speed and duplex settings. Moreover, the GUI provides an overview of common show commands, e.g., show ip int brief, show vlan, etc., but also general interface information.

White Paper

Provide links to related white papers:

Provide a link to a related DevNet Sandbox:

Provide links to related Learning Labs or modules on DevNet:

Solutions on Ecosystem Exchange

Provide links to related solutions on DevNet Ecosystem Exchange:

View code on GitHub

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.