-
Notifications
You must be signed in to change notification settings - Fork 243
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #238 from srl-wim/vr-xrv
added Cisco XRv kind
- Loading branch information
Showing
9 changed files
with
145 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
| | | | ||
| ----------------------------- | -------------------------------------------------------------------------------- | | ||
| **Description** | A Nokia SR Linux connected back-to-back with Cisco XRv | | ||
| **Components** | [Nokia SR Linux][srl], Cisco XRv | | ||
| **Resource requirements**[^1] | :fontawesome-solid-microchip: 1 <br/>:fontawesome-solid-memory: 3 GB | | ||
| **Topology file** | [vr03.yml][topofile] | | ||
| **Name** | vr03 | | ||
| **Version information**[^2] | `containerlab:0.9.0`, `srlinux:20.6.3-145`, `vr-xrv:6.1.2`, `docker-ce:19.03.13` | | ||
|
||
## Description | ||
A lab consists of an SR Linux node connected with Cisco XRv via a point-to-point ethernet link. Both nodes are also connected with their management interfaces to the `clab` docker network. | ||
|
||
Cisco XRv VM is launched as a container, using [vrnetlab integration](../manual/vrnetlab.md). | ||
|
||
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;margin:0 auto; display:block;" data-mxgraph="{"page":0,"zoom":1.5,"highlight":"#0000ff","nav":true,"check-visible-state":true,"resize":true,"url":"https://raw.githubusercontent.com/srl-wim/container-lab/diagrams/vr03.drawio"}"></div> | ||
|
||
## Use cases | ||
This lab allows users to launch basic interoperability scenarios between Nokia SR Linux and Cisco XRv network operating systems. | ||
|
||
The lab directory [contains](https://github.com/srl-wim/container-lab/tree/master/lab-examples/vr03) files with essential configurations which can be used to jumpstart the interop demonstration. | ||
|
||
[srl]: https://www.nokia.com/networks/products/service-router-linux-NOS/ | ||
[topofile]: https://github.com/srl-wim/container-lab/tree/master/lab-examples/vr03/vr03.yml | ||
|
||
[^1]: Resource requirements are provisional. Consult with the installation guides for additional information. | ||
[^2]: The lab has been validated using these versions of the required tools/components. Using versions other than stated might lead to a non-operational setup process. | ||
|
||
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/hellt/drawio-js@main/embed2.js" async></script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
# Cisco XRv | ||
|
||
[Cisco XRv](https://www.juniper.net/us/en/products-services/routing/mx-series/XRv/) virtualized router is identified with `vr-xrv` kind in the [topology file](../topo-def-file.md). It is built using [vrnetlab](../vrnetlab.md) project and essentially is a Qemu VM packaged in a docker container format. | ||
|
||
vr-xrv nodes launched with containerlab comes up pre-provisioned with SSH, SNMP, NETCONF and gNMI (if available) services enabled. | ||
|
||
## Managing vr-xrv nodes | ||
|
||
!!!note | ||
Containers with XRv inside will take ~5min to fully boot. | ||
You can monitor the progress with `docker logs -f <container-name>`. | ||
|
||
Cisco XRv node launched with containerlab can be managed via the following interfaces: | ||
|
||
=== "bash" | ||
to connect to a `bash` shell of a running vr-xrv container: | ||
```bash | ||
docker exec -it <container-name/id> bash | ||
``` | ||
=== "CLI via SSH" | ||
to connect to the XRv CLI | ||
```bash | ||
ssh admin@<container-name/id> | ||
``` | ||
=== "NETCONF" | ||
NETCONF server is running over port 830 | ||
```bash | ||
ssh admin@<container-name> -p 830 -s netconf | ||
``` | ||
=== "gNMI" | ||
using the best in class [gnmic](https://gnmic.kmrd.dev) gNMI client as an example: | ||
```bash | ||
gnmic -a <container-name/node-mgmt-address> --insecure \ | ||
-u clab -p clab@123 \ | ||
capabilities | ||
``` | ||
|
||
!!!info | ||
Default user credentials: `clab:clab@123` | ||
|
||
## Interfaces mapping | ||
vr-xrv container can have up to 90 interfaces and uses the following mapping rules: | ||
|
||
* `eth0` - management interface connected to the containerlab management network | ||
* `eth1` - first data interface, mapped to first data port of XRv line card | ||
* `eth2+` - second and subsequent data interface | ||
|
||
When containerlab launches vr-xrv node, it will assign IPv4/6 address to the `eth0` interface. These addresses can be used to reach management plane of the router. | ||
|
||
Data interfaces `eth1+` needs to be configured with IP addressing manually using CLI/management protocols. | ||
|
||
|
||
## Features and options | ||
### Node configuration | ||
vr-xrv nodes come up with a basic configuration where only the control plane and line cards are provisioned, as well as the `clab` user and management interfaces such as NETCONF, SNMP, gNMI. | ||
|
||
## Lab examples | ||
The following labs feature vr-xrv node: | ||
|
||
- [SR Linux and Cisco XRv](../../lab-examples/vr-xrv.md) | ||
|
||
## Known issues and limitations | ||
* LACP and BPDU packets are not propagated to/from vrnetlab based routers launched with containerlab. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
enter candidate | ||
set / interface ethernet-1/1 | ||
set / interface ethernet-1/1 admin-state enable | ||
set / interface ethernet-1/1 subinterface 0 | ||
set / interface ethernet-1/1 subinterface 0 ipv4 | ||
set / interface ethernet-1/1 subinterface 0 ipv4 address 192.168.1.1/24 | ||
set / network-instance default | ||
set / network-instance default interface ethernet-1/1.0 | ||
commit now |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
name: vr03 | ||
|
||
topology: | ||
nodes: | ||
srl: | ||
kind: srl | ||
image: srlinux:20.6.3-145 | ||
license: license.key | ||
xrv: | ||
kind: vr-xrv | ||
image: vrnetlab/vr-xrv:6.1.2 | ||
|
||
links: | ||
- endpoints: ["srl:e1-1", "xrv:eth1"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
configure | ||
interface Gi0/0/0/0 ipv4 address 192.168.1.2 255.255.255.0 | ||
commit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters