Skip to content

Commit 5d9733a

Browse files
authored
Merge pull request #108 from hellt/patches-from-71
Patches from #71
2 parents 8457390 + 7ddfa48 commit 5d9733a

File tree

2 files changed

+219
-100
lines changed

2 files changed

+219
-100
lines changed

sros/README.md

+28-18
Original file line numberDiff line numberDiff line change
@@ -3,48 +3,58 @@
33
This is the vrnetlab docker image for Nokia VSR / SROS.
44

55
## Building the docker image
6+
67
Ask your Nokia representative for the VSR/VSIM image.
78
Copy the `sros-vm.qcow2` file in `vrnetlab/sros` directory and rename the file by appending the SR OS version to it.
89
For example, for SR OS version 20.10.r1 make sure that the qcow2 file will be named as `sros-vm-20.10.R1.qcow2`. The version (20.10.R1) will be used as a container image tag.
910

1011
Run `make docker-image` to start the build process. The resulting image is called `vrnetlab/vr-sros:<version>`. You can tag it with something else if needed, like `vr-sros:<version>`.
1112

12-
1313
It's been tested to run with the following versions:
1414

15-
* 20.10.R1 -- 20.10.R3
16-
* 21.2.R1
15+
* 20.10.R1 -- 20.10.R3
16+
* 21.2.R1
1717

1818
## Variants
19+
1920
Nokia SR OS virtualized simulator (VSIM) can be configured to emulate many chassis and cards combinations.
2021

21-
To give vrnetlab users flexibility of choice, this fork provides a number of such combinations, which are called _variants_.
22+
To give vrnetlab users the flexibility of choice, this fork provides a number of such combinations, which are called _variants_.
2223

2324
By selecting a certain variant (referred by its `name`) the VSIM will start with a certain configuration as per the following table:
2425

25-
| Name | mode | Control plane | Line card | RAM (GB) | Max NICs |
26-
| :---------: | :---------: | :--------------------: | :-----------------------: | :------: | :------: |
27-
| sr-1 | integrated | cpm-1 | me12-100gb-qsfp28 | 5 | 12 |
28-
| sr-1e | distributed | cpm-e | me40-1gb-csfp | 4+4 | 40 |
29-
| sr-1s | integrated | xcm-1s | s36-100gb-qsfp28 | 5 | 36 |
30-
| sr-1s | integrated | xcm-1s | s36-100gb-qsfp28 | 5 | 36 |
31-
| sr-14s | distributed | sfm-s+xcm-14s | s36-100gb-qsfp28 | 4+6 | 36 |
32-
| ixr-e-small | distributed | imm14-10g-sfp++4-1g-tx | m14-10g-sfp++4-1g-tx | 3+4 | 18 |
33-
| ixr-e-big | distributed | cpm-ixr-e | m24-sfp++8-sfp28+2-qsfp28 | 3+4 | 34 |
34-
| ixr-r6 | integrated | cpiom-ixr-r6 | m6-10g-sfp++4-25g-sfp28 | 6 | 10 |
35-
| ixr-s | integrated | cpm-ixr-s | m48-sfp++6-qsfp28 | 3+4 | 54 |
36-
37-
The variants are [defined in the code](https://github.com/hellt/vrnetlab/blob/bf70a9a9f2f060a68797a7ec29ce6aea96acb779/sros/docker/launch.py#L38-L66) as a dictionary. If a variant you need is not in the table, use the `custom` variant and define the emulated platform yourself as described below.
26+
| Name | mode | Control plane | Line card | RAM (GB) | Max NICs |
27+
| :----------: | :---------: | :--------------------: | :------------------------------: | :------: | :------: |
28+
| sr-1 | integrated | cpm-1 | me12-100gb-qsfp28 | 5 | 12 |
29+
| sr-1e | distributed | cpm-e | me40-1gb-csfp | 4+4 | 40 |
30+
| sr-1e-sec | distributed | cpm-e | me12-10/1gb-sfp+ and isa2-tunnel | 4+4 | 12 |
31+
| sr-1s | integrated | xcm-1s | s36-100gb-qsfp28 | 6 | 36 |
32+
| sr-1s-macsec | integrated | xcm-1s | ms16-100gb-sfpdd+4-100gb-qsfp28 | 6 | 20 |
33+
| sr-2s | distributed | cpm-2s | ms8-100gb-sfpdd+2-100gb-qsfp28 | 3+4 | 10 |
34+
| sr-7s | distributed | sfm2-s+xcm2-7s | x2-s36-800g-qsfpdd-18.0t | 4+6 | 36 |
35+
| sr-7s-fp4 | distributed | sfm-s+xcm-7s | s36-100gb-qsfp28 | 4+6 | 36 |
36+
| sr-14s | distributed | sfm-s+xcm-14s | s36-100gb-qsfp28 | 4+6 | 36 |
37+
| sr-a4 | distributed | cpm-a | maxp10-10/1gb-msec-sfp+ | 4+4 | 10 |
38+
| ixr-e-small | distributed | imm14-10g-sfp++4-1g-tx | m14-10g-sfp++4-1g-tx | 3+4 | 18 |
39+
| ixr-e-big | distributed | cpm-ixr-e | m24-sfp++8-sfp28+2-qsfp28 | 3+4 | 34 |
40+
| ixr-ec | integrated | cpm-ixr-e | m4-1g-tx+20-1g-sfp+6-10g-sfp+ | 4 | 34 |
41+
| ixr-r6 | integrated | cpiom-ixr-r6 | m6-10g-sfp++1-100g-qsfp28 | 6 | 10 |
42+
| ixr-s | integrated | cpm-ixr-s | m48-sfp++6-qsfp28 | 3+4 | 54 |
43+
44+
The variants are [defined in the code](https://github.com/hellt/vrnetlab/blob/bf70a9a9f2f060a68797a7ec29ce6aea96acb779/sros/docker/launch.py#L58) as a dictionary. If a variant you need is not in the table, use the `custom` variant and define the emulated platform yourself as described below.
3845

3946
### Custom variant
47+
4048
It is possible to provide a custom variant. For that, the variant argument must be formed in one of the following way, depending on the integrated or distributed platform:
4149

4250
**Integrated**
51+
4352
```bash
4453
cpu=2 ram=4 max_nics=6 chassis=sr-1 slot=A card=cpm-1 slot=1 mda/1=me6-100gb-qsfp28
4554
```
4655

4756
**Distributed**
57+
4858
```bash
4959
# for distributed chassis CPM and IOM are indicated with markers cp: and lc:
5060
# notice the delimiter string `___` that MUST be present between CPM and IOM portions
@@ -57,4 +67,4 @@ Custom variants WILL NOT have cards/mda auto-configured, user needs to configure
5767

5868
## Usage with containerlab
5969

60-
Refer to containerlab documentation piece on [vrnetlab integration](https://containerlab.srlinux.dev/manual/vrnetlab/) and vr-sros.
70+
Refer to containerlab documentation piece on [vrnetlab integration](https://containerlab.srlinux.dev/manual/vrnetlab/) and vr-sros.

0 commit comments

Comments
 (0)