Saving Virtual Link Extension Topology Configurations



In lab automation deployments in which Pluribus Networks switches are used with the vLE feature, users require easy repeatability when the same topology is to be deployed. For example, there is a need to be able to configure different vLE connections and then save them to be re-created when required.


Before Netvisor ONE release 7.0.0, the software only supported saving and replaying individual configurations by using the switch-config-export and switch-config-import commands. However, this process is not optimal and convenient for vLE setups because it saves entire switch configurations and restarts the devices.


Starting from release 7.0.0, a new vLE topology feature can be used to automate the creation of vLEs, their associated transparent VLANs and the associated VXLAN IDs on the tunnels, in a convenient and user-friendly fashion. This new functionality introduces the topology-vle-add/-remove/-modify/-show commands to store and create the vLEs so that users can easily save and replay their topologies without having to restart the devices.


The feature’s logic checks for the presence of the static VXLAN tunnel(s) that is/are needed between the vLE nodes: a warning is displayed in case they are not active, and the automation does not proceed. On the other hand, if the tunnel(s) required for vLE creation is/are present, then the automation process adds the required VXLAN ID to each tunnel and the vLE setup is created.


The feature’s logic uses automatic assignment for parameters that are not specified and uses a dry run process to verify potential conflicts. The software checks:


  1. Ports for conflicts during vLE creation
  2. VLAN and VXLAN IDs to see if they are already in use
  3. The tunnels required for the vLE functionality


Note: Auto-tunnels are not supported. Only static ones are.


Note: Only single fabric deployments are supported.


The feature includes the following commands:


  • topology-create name <name> is used to create a named topology entity.


Example:


CLI (network-admin@switch) > topology-create name topo1


  • topology-delete name <name> deletes the topology configuration.


Example:


CLI (network-admin@switch) > topology-delete name topo1


  • topology-show displays all the configured topologies and their enabled state.


Example:


CLI (network-admin@switch) > topology-show

name  enable

----- ------

topo1 yes

topo2 no


  • topology-modify enable | disable creates or deletes the vLEs.


enable creates the vLEs and the associated VLANs between the node ports

disable deletes the vLEs and the associated VLANs between the node ports


Example:


CLI (network-admin@leaf-1) > topology-modify name topo1 enable


CLI (network-admin@leaf-1) > vlan-show format switch,id,vxlan,auto-vxlan,vxlanmode,description,active,ports,untagged-ports,active-edge-ports


switch id   vxlan  auto-vxlan vxlan-mode  description           active ports untagged-ports active-edge-ports

------ ---- ------ ---------- ----------- -------------------- ------ ----- -------------- -----------------

leaf-1 3001 300100 no         transparent topo-topo1-vlan-2750 yes    14    14             none

leaf-5 3001 300100 no         transparent topo-topo1-vlan-2750 yes    12    12             none


CLI (network-admin@leaf-1) > tunnel-vxlan-show


switch name         vxlan

------ ------------ ------

leaf-1 VLE_L5_to_L1 300100

leaf-5 VLE_L1_to_L5 300100


CLI (network-admin@leaf-1) > vle-show format name,node-1,node-2,node-1-port,node-2-port,status,tracking,ports-state,topology


name      node-1 node-2 node-1-port node-2-port status tracking ports-state topology

--------- ------ ------ ----------- ----------- ------ -------- ----------- --------

topo1-vle leaf-1 leaf-5 10          17           up    enabled  override    topo1


  • topology-import imports existing vLEs into a topology and stores the endpoints’ information (switch name and port).


Note: After importing an existing vLE connection into a topology, you must delete it before enabling the topology, because the topology setup process needs to recreate the vLE connection from scratch.


Example of successful imports:


CLI (network-admin@leaf-1) > vle-show format name,node-1,node-2,node-1-port,node-2-

port,status,tracking,ports-state,topology


name         node-1 node-2 node-1-port node-2-port status tracking ports-state topology

------------ ------ ------ ----------- ----------- ------ -------- ----------- --------

DUT2-to-DUT3 leaf2  leaf3  11          19          up     enabled  override


CLI (network-admin@leaf-1) > topology-import name topo1 vle_name DUT2-to-DUT3


CLI (network-admin@leaf-1) > topology-vle-show


name  vle-name     node1 node2 node-1-port node-2-port vlan-id vxlan

----- ------------ ----- ----- ----------- ----------- ------- ---------

topo1 DUT2-to-DUT3 leaf2 leaf3 11          19          100     100000


Example of import with conflict when the topology is enabled:


CLI (network-admin@leaf-1) > topology-import name topo2 type vle vle_name vle1


CLI (network-admin@leaf-1) > topology-vle-show


name  vle-name node1 node2   node-1-port node-2-port vlan vxlan

----- -------- ------ ------ ----------- ----------- ---- --------

topo1 vle4     leaf-0 leaf-1 13          16          2752 12500003

topo1 vle2     leaf-0 leaf-1 12          15          2753 12500004

topo2 vle1     leaf-0 leaf-0 13          14          2754 12500005


CLI (network-admin@leaf-1) > topology-modify name topo2 enable

topology-modify: vle conflict, please delete vle vle1 or modify node-1-port of topology vle vle1


  • topology-vle-add specifies the vLE name to be added, the node and the node ports between which the vLE needs to be set up. VLAN ID and VXLAN ID are optional. IDs are taken from the auto VXLAN range when not specified.


Example:


CLI (network-admin@leaf-1)> tunnel-create name VLE_L1_to_L5 scope local local-ip 10.21.1.1 remote-ip 10.21.7.1 vrouter-name vr1


CLI (network-admin@leaf-5)> tunnel-create name VLE_L5_to_L1 scope local local-ip 10.21.7.1 remote-ip 10.21.1.1 vrouter-name vr2


CLI (network-admin@leaf-1) > tunnel-show local-ip 10.21.1.1 format switch,scope,name,type,vrouter-name,local-ip,remote-ip


switch scope name         type  vrouter-name local-ip  remote-ip

------ ----- ------------ ----- ------------ --------- ---------

leaf-1 local VLE_L1_to_L5 vxlan Leaf-1       10.21.1.1 10.21.7.1


CLI (network-admin@leaf-5) > tunnel-show local-ip 10.21.7.1 format switch,scope,name,type,vrouter-name,local-ip,remote-ip


switch scope name         type  vrouter-name local-ip  remote-ip

------ ----- ------------ ----- ------------ --------- ---------

leaf-5 local VLE_L5_to_L1 vxlan Leaf-5       10.21.7.1 10.21.1.1


CLI (network-admin@leaf-1) > topology-vle-add name topo1 vle-name DUT1-to-DUT5 node-1 leaf-1 node-1-port 10 node-2 leaf-5 node-2-port 17 [vlan 3001] [vxlan 300100]


  • topology-vle-remove removes a VLE from a topology. To succeed, it requires the topology to be disabled first.


Example of successful removal:


CLI (network-admin@leaf-1) > topology-vle-show


name  vle-name node1 node2   node-1-port node-2-port vlan vxlan

----- -------- ------ ------ ----------- ----------- ---- --------

topo1 vle1     leaf-0 leaf-1 12          14          2750 12500000

topo1 vle4     leaf-0 leaf-1 13          16          2752 12500003


CLI (network-admin@leaf-1) > topology-vle-remove name topo1 vle-name vle1


CLI (network-admin@leaf-1) > topology-vle-show


name  vle-name node1 node2  node-1-port node-2-port vlan vxlan

----- -------- ----- ------ ----------- ----------- ---- --------

topo1 vle4     leaf-0 leaf-1 13         16          2752 12500003


Example of unsuccessful removal:


CLI (network-admin@leaf-1) > topology-show


name enable

----- ------

topo1 yes


CLI (network-admin@leaf-1) > topology-vle-remove name topo1 vle-name vle2 topology-vle-remove: topology topo1 is enabled, please disable it before removing a vle connection


  • topology-vle-show displays the list of vLEs that have been added, the corresponding node names and ports, as well as the VLAN IDs and VXLAN IDs.


Example:


CLI (network-admin@leaf-1) > topology-vle-show


name  vle-name     node1 node2 node-1-port node-2-port vlan vxlan

----- ------------ ----- ----- ----------- ----------- ---- ------

topo1 DUT1-to-DUT5 leaf1 leaf5 10          17          3001 300100


  • topology-vle-modify modifies a vLE’s parameters.


Example of node port modification:


CLI (network-admin@leaf-1) > topology-vle-show


name vle-name  node1 node2   node-1-port node-2-port vlan vxlan

----- -------- ------ ------ ----------- ----------- ---- --------

topo1 vle4     leaf-0 leaf-1 13          16          2752 12500003

topo1 vle2     leaf-0 leaf-1 12          15          2753 12500004


CLI (network-admin@leaf-1) > topology-vle-modify name topo1 vle-name vle2 node-2-port 17


CLI (network-admin@leaf-1) > topology-vle-show


name  vle-name node1  node2  node-1-port node-2-port vlan vxlan

----- -------- ------ ------ ----------- ----------- ---- --------

topo1 vle4     leaf-0 leaf-1 13          17          2752 12500003

topo1 vle2     leaf-0 leaf-1 12          15          2753 12500004


Example of VLAN modification:


CLI (network-admin@leaf-1) > topology-vle-show


name  vle-name node1  node2 node-1-port node-2-port  vlan vxlan

----- -------- ------ ------ ----------- ----------- ---- --------

topo1 vle4     leaf-0 leaf-1 13          16          2752 12500003

topo1 vle2     leaf-0 leaf-1 12          15          2753 12500004


CLI (network-admin@leaf-1) > topology-vle-modify name topo1 vle-name vle2 vlan 1234


CLI (network-admin@leaf-1) > topology-vle-show

   

name  vle-name node1  node2 node-1-port node-2-port  vlan vxlan

----- -------- ------ ------ ----------- ----------- ---- --------

topo1 vle4     leaf-0 leaf-1 13          17          2752 12500003

topo1 vle2     leaf-0 leaf-1 12          15          1234 12500004


The feature’s dry run logic can catch conflicts when they occur and notify the user, as shown in the examples below:


CLI (network-admin@leaf-1) > topology-modify name topo2 enable

topology-modify: vle conflict, please disable topology topo1 or modify node-1-port of topology vle vle1


In this case, when topo2 is applied, it conflicts with the vLE of another topology.


CLI (network-admin@leaf-1) > topology-modify name topo2 enable

topology-modify: vle conflict, please delete vle vle1 or modify node-1-port of topology vle vle1


In the case above there is a conflict with an existing vLE, which needs to be deleted first.


CLI (network-admin@leaf-1) > tunnel-delete name VLE_L5_to_L1


CLI (network-admin@leaf-1) > topology-modify name topo1 enable

topology-modify: tunnels do not exist between the switches leaf-0 and leaf-1 for vle vle1 creation or tunnels between these switches have vxlan of standard mode.Please create new tunnels as per vle config docs


In the case above the required static VXLAN tunnels don’t exist.


CLI (network-admin@leaf3*) > vlan-show ports 12 format id,vxlan,autovxlan, scope,description,active,ports


id  vxlan    auto-vxlan scope description  active ports

--- -------- ---------- ------ ----------- ------ --------------------------

100 12500000 yes        fabric vlan-100    yes    0-12,14-48,50-52,54-72,397


CLI (network-admin@leaf3) > topology-vle-show


name  vle-name node1 node2 node-1-port node-2-port vlan vxlan

----- -------- ----- ----- ----------- ----------- ---- -----

topo1 vle1     leaf3 leaf4 12          13          2625 12345


CLI (network-admin@leaf3*) > topology-modify name topo1 enable

topology-modify: node_1_port 12 of topology vle vle1 has vlan 100 already created, please delete it or use a different port using topology-vle-modify


In the case above a VLAN ID is already present on a port when the vLE creation takes place.


CLI (network-admin@leaf3*) > vlan-show vxlan 12345


id   type   vxlan auto-vxlan vxlan-hybrid-mode replicators scope description active

---- ------ ----- ---------- ----------------- ----------- ----- ----------- ------

1234 public 12345 no         standard          none        local vlan-1234   yes


CLI (network-admin@leaf3*) > topology-modify name topo1 enable

topology-modify: vxlan 12345 is in use, please use a different vxlan for vle vle1 using topology-vle-modify


In the case above a VXLAN ID to be added to a tunnel is already active.


CLI (network-admin@leaf3*) > vpg-show


scope  name type  ports

------ ---- ----- -----

fabric vpg2 source 12


CLI (network-admin@leaf3*) > topology-vle-show


name  vle-name node1 node2 node-1-port node-2-port vlan vxlan

----- -------- ----- ----- ----------- ----------- ---- -----

topo1 vle1     leaf3 leaf4 12          13          2625 12345


CLI (network-admin@leaf3*) > topology-modify name topo1 enable

topology-modify: vle vle1 of topology has port conflict. Port 12 is already configured for vpg


In this case, a port that is needed for vLE creation is already in use by a vPG.


north
    keyboard_arrow_up
    keyboard_arrow_down
    description
    print
    feedback
    support
    business
    rss_feed
    south