This demo shows how NSO can simplify the deployment of 3 EVPN use cases: VPWS, bridge and IRB. The EVPN model is designed to take the minimum possible input to create a valid EVPN service.
This demo only supports IOS XR devices using NETCONF.
The focus of this demo is on EVPN only. All other aspects of the network are expected to be preconfigured, including:
- v4/v6 addressing
- IGP
- BGP (including neighbors, EVPN address family, etc)
- VRFs and L3VPN (for IRB)
Sample initial configurations are available in the examples directory.
This demo makes use of the resource-manager bundle package to manage the allocation of ESIs, EVIs, and MAC addresses. Ensure that your NSO instance has the resource-manager package installed. The resource-manager package is available on https://software.cisco.com
The EVPN demo allocates resources from an esi-pool
and an evi-pool
. To use the default values, perform a load-merge on the resource-pools.xml
in the main directory before configuring anything else.
The first step is to configure the ethernet-segments that will be used in the EVPN services. Ethernet-segments consist of a list of devices and interfaces. All ethernet-segments default to multi-homed, all-active unless otherwise specified.
Example:
ethernet-segment SJC1
device pe1 interface HundredGigE 0/0/0/0
device pe2 interface HundredGigE 0/0/0/0
ethernet-segment DEN1 homing-type single-homed
device pe3 interface HundredGigE 0/0/0/0
More examples are available in the examples directory.
The following EVPN types are supported: VPWS, bridge and IRB.
A VPWS consists of a list of exactly two ethernet-segments. If the same ethernet-segment is used in more than one EVPN service, a VLAN encapsulation must be specified.
Example:
evpn ACME_PWs
vpws PW1 ethernet-segments [ SJC1 DEN1 ] encapsulation dot1q 10
vpws PW2 ethernet-segments [ SJC1 DEN1 ] encapsulation dot1q 20
vpws PW3 ethernet-segments [ SJC1 DEN1 ] encapsulation dot1q 30
The function pack was tested on a small ASR9000-based topology. Base configurations are available in the examples directory.