Skip to content

Commit

Permalink
Rename 'netsim-tools' to 'netlab'
Browse files Browse the repository at this point in the history
  • Loading branch information
ipspace committed Sep 9, 2022
1 parent 88de3f5 commit 249a2ec
Show file tree
Hide file tree
Showing 27 changed files with 48 additions and 77 deletions.
6 changes: 2 additions & 4 deletions Ansible/XML/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ This directory contains test Ansible playbooks that interact with Junos and Nexu
To test these examples on your own:

* Clone the repository.
* [Install *netsim-tools*](https://netsim-tools.readthedocs.io/en/latest/install.html)
* Within the `Ansible/XML` directory execute `netlab create` to create *Vagrantfile*, Ansible inventory, and *ansible.cfg*
* [Install *netlab*](https://netsim-tools.readthedocs.io/en/latest/install.html)
* Within the `Ansible/XML` directory execute `netlab up` to start the lab
* Have fun

**Note:** The *Vagrantfile* created by the **netlab create** tool will be usable on a Linux system with *vagrant-libvirt* plugin. Please feel free to [add support for VirtualBox Vagrant boxes](https://netsim-tools.readthedocs.io/en/latest/contribute.html) to *[netsim-tools](https://github.com/ipspace/netsim-tools)* and submit a pull request.
6 changes: 2 additions & 4 deletions BGP/DMZ-BW/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@ This lab setup was used to produce printouts in the _[Unequal-Cost Multipath wit

The final router configurations are in the [config](config) directory. To recreate the lab:

* [Install *netsim-tools*](https://netsim-tools.readthedocs.io/en/latest/install.html) and [create your lab environment](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* [Install *netlab*](https://netsim-tools.readthedocs.io/en/latest/install.html) and [create your lab environment](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* Copy [lab.yml](lab.yml) and Jinja2 templates into an empty directory (or clone this repository)
* Create the configuration files with **netlab create lab.yml**
* Start the lab with **vagrant up**
* Configure the lab with **netlab initial**
* Start the lab with **netlab up lab.yml**
* Configure BGP DMZ Bandwidth on the edge devices with

```
Expand Down
8 changes: 2 additions & 6 deletions BGP/IGP-metric/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,11 @@ This directory contains topology files, Vagrantfile, Ansible inventory, and rout

You could use router configurations from the `config` directory (EIGRP + OSPF combo) or follow this recipe that works out-of-the box with *vagrant-libvirt* (some assembly required for other environments):

* [Install *netsim-tools*](https://netsim-tools.readthedocs.io/en/latest/install.html) and add the top directory to your path.
* Create Ansible and Vagrant configuration files with **netlab create _filename_**
* Create virtual lab with **vagrant up**
* Deploy device configurations with **netlab initial**
* [Install *netlab*](https://netsim-tools.readthedocs.io/en/latest/install.html).
* Start the lab with **netlab up _topology-file_**

**Notes:**

* EIGRP is supported in *netsim-tools* in release 0.7.
* **netlab** CLI was introduced in *netsim-tools* release 0.8.
* To run your tests with a different virtualization provider, add **provider: virtualbox** or **provider: clab** to the topology file(s).

Sample topology files:
Expand Down
20 changes: 7 additions & 13 deletions BGP/Multipath_sros/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,23 @@ This example is a variation on this [BGP Add Path example](../Multipath), using
a pair of SR OS nodes (RR and M) and a set of SR Linux devices instead.

# Prerequisites
* [NetSim PR](https://github.com/ipspace/netsim-tools/pull/57) to add SROS/SRLinux support
* License file for the SR OS vSR VMs

# Instructions
```
netsim up
netlab up
```

# Deep dive
This example uses the Initial, [OSPF](https://netsim-tools.readthedocs.io/en/latest/module/ospf.html)
and [BGP](https://netsim-tools.readthedocs.io/en/latest/module/bgp.html) modules to
provision a topology consisting of 7 nodes, 6 of which represent a network peering with an external network (Y).
This example uses the Initial, [OSPF](https://netsim-tools.readthedocs.io/en/latest/module/ospf.html) and [BGP](https://netsim-tools.readthedocs.io/en/latest/module/bgp.html) modules to provision a topology consisting of 7 nodes, 6 of which represent a network peering with an external network (Y).

The 6 internal nodes use a BGP Route Reflector (RR) for iBGP peering, and the use case
revolves around providing optimal paths for each node in this asymmetric case. Specifically,
node M could use multiple ECMP paths to reach external node Y - using BGP Add Path.
The 6 internal nodes use a BGP Route Reflector (RR) for iBGP peering, and the use case revolves around providing optimal paths for each node in this asymmetric case. Specifically, node M could use multiple ECMP paths to reach external node Y - using BGP Add Path.

In terms of capabilities, Nokia SR OS supports BGP Add Path ([RFC7911](https://datatracker.ietf.org/doc/html/rfc7911))
but SR Linux does not. That is why nodes RR and M are implemented using SR OS, while the rest can use SRLinux.
In terms of capabilities, Nokia SR OS supports BGP Add Path ([RFC7911](https://datatracker.ietf.org/doc/html/rfc7911)) but SR Linux does not. That is why nodes RR and M are implemented using SR OS, while the rest can use SRLinux.

## Base state without BGP Add Path
After commenting out the 'bgp-addpath.js' custom config template, the initial state is as follows:

After commenting out the 'bgp-addpath.j2' custom config template, the initial state is as follows:

Every node is fully connected to OSPF neighbors:
```
Expand All @@ -47,8 +42,7 @@ No. of Neighbors: 2
===============================================================================
```

The Route Reflector (RR) receives the external prefix 10.42.42.0/24 from both C and D,
picking D because of the lower IGP cost from its perspective, 1 (via D) versus 17 via D(10.0.0.5) and then C(10.0.0.4):
The Route Reflector (RR) receives the external prefix 10.42.42.0/24 from both C and D, picking D because of the lower IGP cost from its perspective, 1 (via D) versus 17 via D(10.0.0.5) and then C(10.0.0.4):
```
A:admin@rr# show router bgp neighbor "10.0.0.4" received-routes | match 10.42.42.0 post-lines 2
*? 10.42.42.0/24 100 None
Expand Down
2 changes: 1 addition & 1 deletion BGP/RR-cluster-id/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ You can use this lab to investigate the impact of BGP RR Cluster ID on BGP updat

To set up this lab:

* [Install netsim-tools](https://netsim-tools.readthedocs.io/en/latest/install.html) and a [virtualization environment of your choice](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* [Install netlab](https://netsim-tools.readthedocs.io/en/latest/install.html) and a [virtualization environment of your choice](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* Copy topology.yml into an empty directory
* Execute **netlab up**

Expand Down
2 changes: 1 addition & 1 deletion BGP/RR-next-hop-self/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This lab tests the behavior of BGP route reflectors configured with **next-hop-s

If the BGP route reflector changes the next hop of a reflected route, the route originated by E2 will have RR as the next hop when observed on E1.

The lab topology uses Arista EOS devices with *libvirt* provider. Use *[netsim-tools](https://netsim-tools.readthedocs.io/en/latest/)* release 1.1 or later to create the lab.
The lab topology uses Arista EOS devices with *libvirt* provider. Use *[netlab](https://netsim-tools.readthedocs.io/en/latest/)* release 1.1 or later to create the lab.

To start the lab with a different default device (for example, Cisco IOSv), use `-d` argument of **netlab up** command:

Expand Down
4 changes: 2 additions & 2 deletions BGP/RR-sessions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This lab illustrates the need for IBGP sessions between BGP route reflectors. Th

To set up this lab:

* [Install netsim-tools](https://netsim-tools.readthedocs.io/en/latest/install.html) on a Ubuntu machine with **pip3 install --upgrade netsim-tools**
* [Install netlab](https://netsim-tools.readthedocs.io/en/latest/install.html) on a Ubuntu machine with **pip3 install --upgrade networklab**
* Install Docker and Containerlab on the same machine with **netlab install containerlab**
* Copy topology.yml into an empty directory
* Execute **netlab up**
* Execute **netlab up**
2 changes: 1 addition & 1 deletion ISIS/unnumbered/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This 3-router topology tests IS-IS running over unnumbered IPv4 and IPv6 interfa

To repeat the experiment:

* [Install netsim-tools](https://netsim-tools.readthedocs.io/en/latest/install.html), the [virtualization environment of your choice](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment), and Vagrant boxes
* [Install netlab](https://netsim-tools.readthedocs.io/en/latest/install.html), the [virtualization environment of your choice](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment), and Vagrant boxes
* Copy **topology.yml** file from this repository into an empty directory
* Start the lab with **netlab up**
* Enjoy the ride
2 changes: 1 addition & 1 deletion MPLS/ldp-bgp-lu/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The central autonomous system has a route reflector and a P-router that is not r

We're using LDP with OSPF to establish end-to-end MPLS paths across the central autonomous system.

The lab topology uses Arista EOS devices with *libvirt* provider. Use *[netsim-tools](https://netsim-tools.readthedocs.io/en/latest/)* release 1.2 or later to create the lab.
The lab topology uses Arista EOS devices with *libvirt* provider. Use *[netlab](https://netsim-tools.readthedocs.io/en/latest/)* release 1.2 or later to create the lab.

To start the lab with a different default device (for example, Cisco IOSv), use `-d` argument of **netlab up** command:

Expand Down
6 changes: 3 additions & 3 deletions MPLS/vpn-simple/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# MPLS/VPN Network with Simple VRFs

This directory contains *netsim-tools* topology file describing a simple MPLS/VPN network with two PE-routers and two VRFs.
This directory contains *netlab* topology file describing a simple MPLS/VPN network with two PE-routers and two VRFs.

![Lab topology](mpls-vpn-simple.png)

To test the topology, install *netsim-tools* and Arista EOS boxes or containers, and execute **netlab up**
To test the topology, install *netlab* and Arista EOS boxes or containers, and execute **netlab up**

## Changing Device Types and Virtualization Providers

The test cases can be used with all network devices supporting VRF and MPLS configuration modules and all virtualization providers supported by *netsim-tools*:
The test cases can be used with all network devices supporting VRF and MPLS configuration modules and all virtualization providers supported by *netlab*:

* To change the router device type, use `-d` CLI argument
* To change the virtualization provider, use `-p` CLI argument.
Expand Down
2 changes: 1 addition & 1 deletion OSPF/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This 3-router topology tests OSPF running over unnumbered point-to-point and mul

To repeat the experiment:

* [Install netsim-tools](https://netsim-tools.readthedocs.io/en/latest/install.html), the [virtualization environment of your choice](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment), and Vagrant boxes
* [Install netlab](https://netsim-tools.readthedocs.io/en/latest/install.html), the [virtualization environment of your choice](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment), and Vagrant boxes
* Copy **topology.yml** file from this repository into an empty directory
* Start the lab with **netlab up**
* Enjoy the ride
4 changes: 2 additions & 2 deletions VLAN/vlan-access-stretch/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Single VLAN Stretched Across Two Switches

This directory contains *netsim-tools* topology file for a simple VLAN scenario with a single VLAN stretched across two switches.
This directory contains *netlab* topology file for a simple VLAN scenario with a single VLAN stretched across two switches.

![Single VLAN topology](vlan-simple.png)

After starting the lab, h1 and h2 should be able to ping each other and the VLAN interfaces of s1 and s2, but they should not be able to ping s1 *and* s2 loopback interfaces as the lab is not using dynamic routing.

## Changing Device Types

This topology can be used with all network devices supporting VLAN configuration module and all virtualization providers supported by *netsim-tools*:
This topology can be used with all network devices supporting VLAN configuration module and all virtualization providers supported by *netlab*:

* To change the switch device type, use `-s groups.switches.device=xxx` CLI argument
* To change the virtualization provider, use `-p` CLI argument.
Expand Down
4 changes: 2 additions & 2 deletions VLAN/vlan-trunk-vrf/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Combining VLANs with VRFs

This directory contains *netsim-tools* topology file for a VLAN trunk combined with VRFs: *red* VLAN is in *red* VRF, *blue* VLAN is in *blue* VRF
This directory contains *netlab* topology file for a VLAN trunk combined with VRFs: *red* VLAN is in *red* VRF, *blue* VLAN is in *blue* VRF

![VLAN+VRF topology](vlan-vrf.png)

After starting the lab, h1 should be able to ping h2, but not h3 or h4 (they are in different VRF).

## Changing Device Types

This topology can be used with all network devices supporting VLAN configuration module and all virtualization providers supported by *netsim-tools*:
This topology can be used with all network devices supporting VLAN configuration module and all virtualization providers supported by *netlab*:

* To change the switch device type, use `-s groups.switches.device=xxx` CLI argument
* To change the virtualization provider, use `-p` CLI argument.
Expand Down
4 changes: 2 additions & 2 deletions VLAN/vlan-trunk/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# VLAN Trunk

This directory contains *netsim-tools* topology file for a simple VLAN trunk scenario with a two VLANs stretched across two switches.
This directory contains *netlab* topology file for a simple VLAN trunk scenario with a two VLANs stretched across two switches.

![VLAN trunk topology](vlan-trunk.png)

After starting the lab, all hosts should be able to ping each other and the VLAN interfaces of s1 and s2, but they should not be able to ping s1 *and* s2 loopback interfaces as the lab is not using dynamic routing.

## Changing Device Types

This topology can be used with all network devices supporting VLAN configuration module and all virtualization providers supported by *netsim-tools*:
This topology can be used with all network devices supporting VLAN configuration module and all virtualization providers supported by *netlab*:

* To change the switch device type, use `-s groups.switches.device=xxx` CLI argument
* To change the virtualization provider, use `-p` CLI argument.
Expand Down
4 changes: 2 additions & 2 deletions VRF/vrf-lite-hosts/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# VRF Lite with Hosts Test Cases

This directory contains *netsim-tools* topology files describing several simple VRF Lite test cases containing a set of hosts attached to a single router.
This directory contains *netlab* topology files describing several simple VRF Lite test cases containing a set of hosts attached to a single router.

The test cases can be used with all network devices supporting VRF configuration module and all virtualization providers supported by *netsim-tools*:
The test cases can be used with all network devices supporting VRF configuration module and all virtualization providers supported by *netlab*:

* To change the router device type, use `-s nodes.rtr.device=xxx` CLI argument
* To change the virtualization provider, use `-p` CLI argument.
Expand Down
4 changes: 2 additions & 2 deletions VRF/vrf-lite-routers/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# VRF Lite with CE Routers Test Cases

This directory contains *netsim-tools* topology files describing several simple VRF Lite test cases containing a set of CE routers attached to a pair of PE routers running VRF Lite.
This directory contains *netlab* topology files describing several simple VRF Lite test cases containing a set of CE routers attached to a pair of PE routers running VRF Lite.

The test cases can be used with all network devices supporting VRF configuration module and all virtualization providers supported by *netsim-tools*:
The test cases can be used with all network devices supporting VRF configuration module and all virtualization providers supported by *netlab*:

* To change the router device type for **pe1**, use `-s nodes.pe1.device=xxx` CLI argument
* To change the router device type for **pe2**, use `-s nodes.pe2.device=xxx` CLI argument
Expand Down
2 changes: 1 addition & 1 deletion multi-platform/bgp-anycast/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Multi-Platform BGP Anycast Lab

This lab illustrates the *netsim-tools* multi-platform custom configuration templates.
This lab illustrates the *netlab* multi-platform custom configuration templates.

![Lab topology](multi-platform-bgp-anycast.png)

Expand Down
2 changes: 1 addition & 1 deletion routing/anycast-mpls-ospf/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This lab was used to [debunk the _anycast doesn't work with MPLS/LDP_ claim](htt

To start the lab:

* [Install the prerequisite software](https://netsim-tools.readthedocs.io/en/latest/install.html#creating-the-lab-environment) (netsim-tools, Ansible, Docker, containerlab) on a Ubuntu server.
* [Install the prerequisite software](https://netsim-tools.readthedocs.io/en/latest/install.html#creating-the-lab-environment) (netlab, Ansible, Docker, containerlab) on a Ubuntu server.
* Download and install Arista cEOS image
* Execute **netlab up**

Expand Down
9 changes: 3 additions & 6 deletions routing/failover/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,8 @@ Challenge: what exactly happens when one of the primary links fails?
## Try it out

* Clone the repository.
* [Install *netsim-tools*](https://netsim-tools.readthedocs.io/en/latest/contribute.html)
* [Install *netlab*](https://netsim-tools.readthedocs.io/en/latest/contribute.html)
* Get Cisco IOS boxes for your Vagrant environment. For more extensive modifications [read this first](https://netsim-tools.readthedocs.io/en/latest/).
* It should be trivial to replace IOS devices with other network devices -- *netsim-tools* supports OSPF on all supported platforms.
* Execute **netlab create** to create Vagrantfile, Ansible inventory, and Ansible configuration file.
* Start the topology with **vagrant up**
* Deploy initial IP configuration with **netlab initial**
* Deploy OSPF configuration with **netlab config routing-ospf**
* It should be trivial to replace IOS devices with other network devices -- *netlab* supports OSPF on all supported platforms.
* Start the lab with **netlab up**
* Enjoy!
2 changes: 1 addition & 1 deletion routing/failover/topology.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ defaults:
nodes:
- name: pe1
as: 65000
device: csr
device: eos
- p1
- p2
- name: pe2
Expand Down
8 changes: 2 additions & 6 deletions routing/lan-unnumbered/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,9 @@ The final router configurations used to produce the printouts in the blog posts

To recreate the lab:

* [Install *netsim-tools*](https://netsim-tools.readthedocs.io/en/latest/install.html) and [create your lab environment](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* [Install *netlab*](https://netsim-tools.readthedocs.io/en/latest/install.html) and [create your lab environment](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* Clone this repository (or download the contents of this directory)
* Create the configuration files with **netlab create _filename_**. Use *topology.yml* for static routes lab, and _dhcp.yml_ for the DHCP lab.
* Start the lab with **vagrant up**
* Configure the lab with **netlab initial**
* Start the lab with **netlab up _filename_**. Use *topology.yml* for static routes lab, and _dhcp.yml_ for the DHCP lab.

## Configuring DHCP Lab

Expand All @@ -31,5 +29,3 @@ netlab config dhcp-server.j2 -l rtr
```

There are no corresponding configuration templates for the *unnumbered interfaces with static routes* lab; use the final router configurations as a guidance.


2 changes: 1 addition & 1 deletion routing/rsvp-mpls-vsrx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ This lab creates a network topology with:

## To recreate the lab

* [Install *netsim-tools*](https://netsim-tools.readthedocs.io/en/latest/install.html) and [create your lab environment](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* [Install *netlab*](https://netsim-tools.readthedocs.io/en/latest/install.html) and [create your lab environment](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* Clone this repository (or download the contents of this directory)
* Create the configuration files and start the simulation with `netlab up vsrx_rsvp.yml`
2 changes: 1 addition & 1 deletion routing/sr-isis-te-vsrx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This lab creates a network topology with:

## To recreate the lab

* [Install *netsim-tools*](https://netsim-tools.readthedocs.io/en/latest/install.html) and [create your lab environment](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* [Install *netlab*](https://netsim-tools.readthedocs.io/en/latest/install.html) and [create your lab environment](https://netsim-tools.readthedocs.io/en/latest/install.html#building-the-lab-environment)
* Clone this repository (or download the contents of this directory)
* Create the configuration files and start the simulation with `netlab up vsrx_sr.yml`

Expand Down
Loading

0 comments on commit 249a2ec

Please sign in to comment.