Skip to content

Commit

Permalink
address comments
Browse files Browse the repository at this point in the history
  • Loading branch information
hellt committed Jul 22, 2024
1 parent d18fc0c commit a8c1405
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
4 changes: 2 additions & 2 deletions docs/tutorials/l3evpn/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ tags:
| | |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tutorial name** | L3 EVPN-VXLAN with SR Linux |
| **Lab components** | 3 SR Linux nodes & 2 [FRR](https://frrouting.org) |
| **Lab components** | 3 SR Linux nodes, 2 [FRR](https://frrouting.org), 2 Alpine nodes |
| **Resource requirements** | :fontawesome-solid-microchip: 2vCPU <br/>:fontawesome-solid-memory: 8 GB |
| **Lab Repo** | [srl-l3evpn-basics-lab][lab-repo] |
| **Packet captures** | [EVPN IP Prefix routes exchange][capture-evpn-rt5] |
| **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/>[RFC 9136 - IP Prefix Advertisement in Ethernet VPN (EVPN)](https://datatracker.ietf.org/doc/html/rfc9136)<br/>[Nokia 7220 SR Linux Advanced Solutions Guide][adv-sol-guide-evpn-l3]<br/>[Nokia 7220 SR Linux EVPN-VXLAN Guide][evpn-vxlan-guide] |
| **Version information**[^1] | [`containerlab:v0.56.0`][clab-install], [`srlinux:24.3.3`][srlinux-container], [`frr:9.0.2`][frr-container] [`docker-ce:26.1.4`][docker-install] |
| **Authors** | Korhan Kayhan [:material-linkedin:][kkayhan-linkedin]<br>Michel Redondo [:material-linkedin:][mr-linkedin]<br/>Roman Dodin [:material-linkedin:][rd-linkedin] [:material-twitter:][rd-twitter] |

While EVPN originally emerged as a Layer 2 VPN technology to overcome VPLS limitations, it has since evolved to support other applications, such as Layer 3 VPN services.
While EVPN originally emerged as a Layer 2 VPN technology to overcome VPLS and VPWS limitations, it has since evolved to become a unified control plane for many services, Layer 3 VPN included. Founded upon the BGP protocol, EVPN has [lots of flexibility and features](https://www.nokia.com/networks/ethernet-vpn/) to become a one-stop-shop for all VPN services in various network deployments, Datacenter fabrics included.

In the [Layer 2 EVPN Basics Tutorial][evpn-basics-tutorial] we discussed how to configure EVPN to provide a layer 2 service across an IP fabric. Today' focus will be on deploying a **Layer 3 Ethernet VPN (EVPN)** in the SR Linux-powered DC fabric. We will be working with a flavor of an L3 EVPN service that does not require the use of Integrated Routing and Bridging (IRB) interfaces, and as such has no need MAC VRF instances, ARP/ND entries, or IMET routes.

Expand Down
11 changes: 6 additions & 5 deletions docs/tutorials/l3evpn/l3evpn.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,19 +75,20 @@ The next step is to create an L3 Network Instance (IP-VRF) on our leaf switches
set / network-instance tenant-1 protocols bgp-evpn bgp-instance 1 vxlan-interface vxlan1.100
```
Define an EVPN Virtual Identifier (EVI) under the bgp-evpn instance will be used as a service identifier and to auto-derive the route distinguisher value.
As for the Route Target, we will set it manually, because otherwise auto-derivation process will use the AS number specified under the global BGP process, and we have different AS numbers per leaf.
Define an EVPN Virtual Identifier (EVI) under the bgp-evpn instance will be used as a service identifier and to auto-derive the route distinguisher value.
```srl
set / network-instance tenant-1 protocols bgp-evpn bgp-instance 1 evi 1
set / network-instance tenant-1 protocols bgp-vpn bgp-instance 1 route-target export-rt target:65535:1
set / network-instance tenant-1 protocols bgp-vpn bgp-instance 1 route-target import-rt target:65535:1
```
And create the `bgp-vpn` context under the IP VRF to enable multi-protocol BGP operation.
We also create the `bgp-vpn` context under the IP VRF to enable multi-protocol BGP operation to support the EVPN route exchange.
Since we are going to exchange VPN routes (EVPN in this case) we need to provide a Route Target values for import and export so that the routes marked with this RT value would be imported in the target VRF.
We will set it manually, because otherwise auto-derivation process will use the AS number specified under the global BGP process, and we have different AS numbers per leaf.
```srl
set / network-instance tenant-1 protocols bgp-vpn bgp-instance 1
set / network-instance tenant-1 protocols bgp-vpn bgp-instance 1 route-target export-rt target:65535:1
set / network-instance tenant-1 protocols bgp-vpn bgp-instance 1 route-target import-rt target:65535:1
```
Optionally configure ECMP to enable load balancing in the overlay network.
Expand Down
5 changes: 5 additions & 0 deletions docs/tutorials/l3evpn/underlay.md
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,11 @@ The eBGP setup is done according to the following diagram:

The private 32bit AS Numbers are used on all devices and Router ID is set to match the IPv4 address of the `system0` loopback interface.

/// admonition | SR Linux and BGP Unnumbered for EVPN
type: warning
SR Linux supports EVPN-VXLAN with BGP Unnumbered starting with 24.3.1 release.
///

Here is a breakdown of the configuration steps done on `leaf1` and you will find configuration for other devices at the end of this section:

<small>In this case we show the `set`-based configuration syntax</small>
Expand Down

0 comments on commit a8c1405

Please sign in to comment.