Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions docs/tutorials/l2evpn/evpn.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ Then for each leaf we add a new BGP neighbor addressed by the remote `system0` i

/network-instance default protocols bgp
group iBGP-overlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
peer-as 100
afi-safi ipv4-unicast {
admin-state disable
Expand Down Expand Up @@ -84,8 +84,8 @@ Then for each leaf we add a new BGP neighbor addressed by the remote `system0` i

/network-instance default protocols bgp
group iBGP-overlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
peer-as 100
afi-safi ipv4-unicast {
admin-state disable
Expand Down Expand Up @@ -394,13 +394,13 @@ For your convenience, in case you want to jump over the config routines and star
admin-state enable
}
group eBGP-underlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
peer-as 201
}
group iBGP-overlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
peer-as 100
afi-safi ipv4-unicast {
admin-state disable
Expand Down Expand Up @@ -520,13 +520,13 @@ For your convenience, in case you want to jump over the config routines and star
admin-state enable
}
group eBGP-underlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
peer-as 201
}
group iBGP-overlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
peer-as 100
afi-safi ipv4-unicast {
admin-state disable
Expand Down Expand Up @@ -637,8 +637,8 @@ For your convenience, in case you want to jump over the config routines and star
autonomous-system 201
router-id 10.0.1.1
group eBGP-underlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
}
afi-safi ipv4-unicast {
admin-state enable
Expand Down
37 changes: 19 additions & 18 deletions docs/tutorials/l2evpn/fabric.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,9 @@ Let's start with configuring the IP interfaces on the inter-switch links to ensu

On each leaf and spine we will bring up the relevant [interface](../../get-started/interface.md) and address its routed subinterface to achieve L3 connectivity.

We begin with connecting to the CLI of our nodes via SSH[^1]:
We begin with connecting to the CLI of our leaf1 node via SSH[^1]:

```bash
# connecting to leaf1
ssh clab-evpn01-leaf1
```

Expand Down Expand Up @@ -301,10 +300,10 @@ Here is a breakdown of the steps that are needed to configure EBGP on `leaf1` to
A:leaf1# peer-as 201

--{ +* candidate shared default }--[ network-instance default protocols bgp group eBGP-underlay ]--
A:leaf1# export-policy all
A:leaf1# export-policy [ all ]

--{ +* candidate shared default }--[ network-instance default protocols bgp group eBGP-underlay ]--
A:leaf1# import-policy all
A:leaf1# import-policy [ all ]
```

1. **Configure neighbor**
Expand All @@ -330,8 +329,8 @@ Here is a breakdown of the steps that are needed to configure EBGP on `leaf1` to
+ autonomous-system 101
+ router-id 10.0.0.1
+ group eBGP-underlay {
+ export-policy all
+ import-policy all
+ export-policy [ all ]
+ import-policy [ all ]
+ peer-as 201
+ }
+ afi-safi ipv4-unicast {
Expand Down Expand Up @@ -370,8 +369,8 @@ network-instance default {
autonomous-system 101
router-id 10.0.0.1
group eBGP-underlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
peer-as 201
}
afi-safi ipv4-unicast {
Expand Down Expand Up @@ -403,8 +402,8 @@ network-instance default {
autonomous-system 102
router-id 10.0.0.2
group eBGP-underlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
peer-as 201
}
afi-safi ipv4-unicast {
Expand Down Expand Up @@ -437,8 +436,8 @@ network-instance default {
autonomous-system 201
router-id 10.0.1.1
group eBGP-underlay {
export-policy all
import-policy all
export-policy [ all ]
import-policy [ all ]
}
afi-safi ipv4-unicast {
admin-state enable
Expand Down Expand Up @@ -776,8 +775,8 @@ set / network-instance default protocols bgp
set / network-instance default protocols bgp autonomous-system 101
set / network-instance default protocols bgp router-id 10.0.0.1
set / network-instance default protocols bgp group eBGP-underlay
set / network-instance default protocols bgp group eBGP-underlay export-policy all
set / network-instance default protocols bgp group eBGP-underlay import-policy all
set / network-instance default protocols bgp group eBGP-underlay export-policy [ all ]
set / network-instance default protocols bgp group eBGP-underlay import-policy [ all ]
set / network-instance default protocols bgp group eBGP-underlay peer-as 201
set / network-instance default protocols bgp afi-safi ipv4-unicast
set / network-instance default protocols bgp afi-safi ipv4-unicast admin-state enable
Expand Down Expand Up @@ -824,8 +823,8 @@ set / network-instance default protocols bgp
set / network-instance default protocols bgp autonomous-system 102
set / network-instance default protocols bgp router-id 10.0.0.2
set / network-instance default protocols bgp group eBGP-underlay
set / network-instance default protocols bgp group eBGP-underlay export-policy all
set / network-instance default protocols bgp group eBGP-underlay import-policy all
set / network-instance default protocols bgp group eBGP-underlay export-policy [ all ]
set / network-instance default protocols bgp group eBGP-underlay import-policy [ all ]
set / network-instance default protocols bgp group eBGP-underlay peer-as 201
set / network-instance default protocols bgp afi-safi ipv4-unicast
set / network-instance default protocols bgp afi-safi ipv4-unicast admin-state enable
Expand Down Expand Up @@ -877,8 +876,8 @@ set / network-instance default protocols bgp
set / network-instance default protocols bgp autonomous-system 201
set / network-instance default protocols bgp router-id 10.0.1.1
set / network-instance default protocols bgp group eBGP-underlay
set / network-instance default protocols bgp group eBGP-underlay export-policy all
set / network-instance default protocols bgp group eBGP-underlay import-policy all
set / network-instance default protocols bgp group eBGP-underlay export-policy [ all ]
set / network-instance default protocols bgp group eBGP-underlay import-policy [ all ]
set / network-instance default protocols bgp afi-safi ipv4-unicast
set / network-instance default protocols bgp afi-safi ipv4-unicast admin-state enable
set / network-instance default protocols bgp neighbor 192.168.11.1
Expand All @@ -893,6 +892,8 @@ commit now

///

**[:octicons-arrow-right-24: Next: EVPN Configuration](evpn.md)**

[^1]: default SR Linux credentials are `admin:NokiaSrl1!`.
[^2]: the snippets were extracted with `info interface ethernet-1/x` command issued in running mode.
[^3]: you can paste those snippets right after you do `enter candidate`
Expand Down
36 changes: 22 additions & 14 deletions docs/tutorials/l2evpn/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ tags:
| **Lab name** | evpn01 |
| **Packet captures** | [EVPN IMET routes exchange][capture-imets], [RT2 routes exchange with ICMP in datapath][capture-rt2-datapath] |
| **Main ref documents** | [RFC 7432 - BGP MPLS-Based Ethernet VPN](https://datatracker.ietf.org/doc/html/rfc7432)<br/>[RFC 8365 - A Network Virtualization Overlay Solution Using Ethernet VPN (EVPN)](https://datatracker.ietf.org/doc/html/rfc8365)<br/>[Nokia 7220 SR Linux Advanced Solutions Guide][adv-sol-guide-evpn-l2]<br/>[Nokia 7220 SR Linux EVPN-VXLAN Guide][evpn-vxlan-guide] |
| **Version information**[^1] | [`containerlab:0.48.6`][clab-install], [`srlinux:23.10.1`][srlinux-container], [`docker-ce:23.0.3`][docker-install] |
| **Version information**[^1] | [`containerlab:0.71.1`][clab-install], [`srlinux:25.10`][srlinux-container], [`docker-ce:27.5.1`][docker-install] |
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documented srlinux version '25.10' differs from the PR title which mentions '25.10.1'. This inconsistency should be resolved to match either the actual image tag being used or the intended version. If '25.10.1' is the target version, update this documentation and the image tag in evpn01.clab.yml accordingly.

Suggested change
| **Version information**[^1] | [`containerlab:0.71.1`][clab-install], [`srlinux:25.10`][srlinux-container], [`docker-ce:27.5.1`][docker-install] |
| **Version information**[^1] | [`containerlab:0.71.1`][clab-install], [`srlinux:25.10.1`][srlinux-container], [`docker-ce:27.5.1`][docker-install] |

Copilot uses AI. Check for mistakes.

Ethernet Virtual Private Network (EVPN) is a standard technology in multi-tenant Data Centers (DCs) and provides a control plane framework for many functions.
In this tutorial we will configure a **VXLAN based Layer 2 EVPN service**[^3] in a tiny CLOS fabric and at the same get to know SR Linux better!
Expand Down Expand Up @@ -46,23 +46,27 @@ The [containerlab file][topofile] that describes the lab topology is referenced
Save[^2] the contents of this file under `evpn01.clab.yml` name and you are ready to deploy:

```
$ containerlab deploy -t evpn01.clab.yml
containerlab deploy -t evpn01.clab.yml
```

<div class="embed-result">
```{.text .no-copy .no-select}
INFO[0000] Containerlab v0.48.6 started
INFO[0000] Parsing & checking topology file: evpn01.clab.yml
INFO[0005] Creating lab directory: /root/srl-labs/learn-srlinux/clab-evpn01
INFO[0000] Parsing & checking topology file: evpn01.clab.yml
INFO[0005] Creating lab directory: /root/srl-labs/learn-srlinux/clab-evpn01
INFO[0005] Creating container: "srv2"
INFO[0005] Creating container: "srv1"
INFO[0005] Creating container: "spine1"
INFO[0005] Creating container: "leaf1"
INFO[0005] Creating container: "leaf2"
INFO[0006] Creating virtual wire: srv2:eth1 <--> leaf2:e1-1
INFO[0006] Creating virtual wire: leaf2:e1-49 <--> spine1:e1-2
INFO[0006] Creating virtual wire: leaf1:e1-49 <--> spine1:e1-1
INFO[0006] Creating virtual wire: srv1:eth1 <--> leaf1:e1-1
INFO[0007] Running postdeploy actions for Nokia SR Linux 'spine1' node
INFO[0007] Running postdeploy actions for Nokia SR Linux 'leaf1' node
INFO[0007] Running postdeploy actions for Nokia SR Linux 'leaf2' node
INFO[0021] Adding containerlab host entries to /etc/hosts file
INFO[0006] Creating virtual wire: srv2:eth1 <--> leaf2:e1-1
INFO[0006] Creating virtual wire: leaf2:e1-49 <--> spine1:e1-2
INFO[0006] Creating virtual wire: leaf1:e1-49 <--> spine1:e1-1
INFO[0006] Creating virtual wire: srv1:eth1 <--> leaf1:e1-1
INFO[0007] Running postdeploy actions for Nokia SR Linux 'spine1' node
INFO[0007] Running postdeploy actions for Nokia SR Linux 'leaf1' node
INFO[0007] Running postdeploy actions for Nokia SR Linux 'leaf2' node
INFO[0021] Adding containerlab host entries to /etc/hosts file
+---+--------------------+--------------+---------------------------------+---------------+---------+----------------+----------------------+
| # | Name | Container ID | Image | Kind | State | IPv4 Address | IPv6 Address |
+---+--------------------+--------------+---------------------------------+---------------+---------+----------------+----------------------+
Expand All @@ -73,20 +77,24 @@ INFO[0021] Adding containerlab host entries to /etc/hosts file
| 5 | clab-evpn01-srv2 | 2a63a6135a9c | ghcr.io/hellt/network-multitool | linux | running | 172.20.20.5/24 | 2001:172:20:20::5/64 |
+---+--------------------+--------------+---------------------------------+---------------+---------+----------------+----------------------+
```
</div>

A few seconds later containerlab finishes the deployment with providing a summary table that outlines connection details of the deployed nodes. In the "Name" column we have the names of the deployed containers and those names can be used to reach the nodes, for example to connect to the SSH of `leaf1`:

```bash
# default credentials admin:NokiaSrl1!
ssh clab-evpn01-leaf1
ssh clab-evpn01-leaf1 #(1)!
```

1. Default credentials `admin:NokiaSrl1!`

With the lab deployed we are ready to embark on our learn-by-doing EVPN configuration journey!

/// note
We advise the newcomers not to skip the [Configuration Basics Guide][conf-basics-guide] as it provides just enough details to survive in the configuration waters we are about to get in.
///

**[:octicons-arrow-right-24: Next: Fabric Configuration](fabric.md)**

[topofile]: https://github.com/srl-labs/learn-srlinux/blob/master/labs/evpn01.clab.yml
[clab-install]: https://containerlab.srlinux.dev/install/
[srlinux-container]: https://github.com/orgs/nokia/packages/container/package/srlinux
Expand Down
10 changes: 5 additions & 5 deletions labs/evpn01.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@ name: evpn01
topology:
kinds:
nokia_srlinux:
image: ghcr.io/nokia/srlinux:23.10.1
image: ghcr.io/nokia/srlinux:25.10
Comment thread
hellt marked this conversation as resolved.
linux:
image: ghcr.io/hellt/network-multitool
image: ghcr.io/srl-labs/network-multitool:latest

nodes:
leaf1:
kind: nokia_srlinux
type: ixrd2
type: ixr-d2
leaf2:
kind: nokia_srlinux
type: ixrd2
type: ixr-d2
spine1:
kind: nokia_srlinux
type: ixrd3
type: ixr-d3
srv1:
kind: linux
exec:
Expand Down