GuidesHow ToEVPN TopologySite EVPN
IP Clos Topology
Create and manage a Campus Fabric IP Clos EVPN Topology
Build the topology
Use the Create Site EVPN Topology resource to create the EVPN Topology at the Site level.
{
"name": "evpn_one",
"evpn_options": {
"overlay": {
"as": 65000
},
"core_as_border": true,
"auto_loopback_subnet": "172.16.192.0/24",
"underlay": {
"as_base": 65001,
"use_ipv6": false,
"subnet": "10.255.240.0/20"
}
},
"pod_names": {
"1": "Pod 1"
},
"switches": [
{
"mac": "020004000000",
"role": "core"
},
{
"mac": "020004000001",
"role": "core"
},
{
"mac": "020004000002",
"role": "distribution",
"pod": 1
},
{
"mac": "020004000003",
"role": "distribution",
"pod": 1
},
{
"mac": "020004000004",
"role": "access",
"pod": 1
},
{
"mac": "020004000005",
"role": "access",
"pod": 1
}
]
}Update the network template
Update the site settings with Update Site Settings API Call to define:
- the Virtual Network Identifiers that will be used in the topology in the
networksobject, with- the Virtual Network Identifier in
vlan_id - the Virtual Network Subnet in
subnet
- the Virtual Network Identifier in
- the VRF instances with
- the networks belonging to the VRF instance
- (optional) the additional routes
- the port usages that will be assigned to the switches:
x-esilag(the name can be changed) will be used to configure the ESI-LAG links between the Core and Distribution switches- (optional) the access port profiles
{
"networks": {
"vlan1099": {
"vlan_id": 1099,
"subnet": "10.99.99.0/24"
},
"vlan1088": {
"vlan_id": 1088,
"subnet": "10.88.88.0/24"
},
"vlan1033": {
"vlan_id": 1033,
"subnet": "10.33.33.0/24"
}
},
"vrf_instances": {
"customera": {
"networks": [
"vlan1099"
],
"extra_routes": {
"0.0.0.0/0": {
"via": "10.99.99.254"
}
}
},
"customerb": {
"networks": [
"vlan1088"
],
"extra_routes": {
"0.0.0.0/0": {
"via": "10.88.88.254"
}
}
},
"devices": {
"networks": [
"vlan1033"
],
"extra_routes": {
"0.0.0.0/0": {
"via": "10.33.33.254"
}
}
}
},
"port_usages": {
"l2fabricexit": {
"mode": "trunk",
"all_networks": false,
"networks": [
"vlan1099",
"vlan1088",
"vlan1033"
],
"mtu": "9018"
},
"vlan1099": {
"mode": "access",
"port_network": "vlan1099"
},
"vlan1088": {
"mode": "access",
"port_network": "vlan1088"
},
"vlan1033": {
"mode": "access",
"port_network": "vlan1033"
}
}
}Update the device port configs
Update the Switches with the Update Site Device API Call to configure the port_usages and assign the corresponding profile to the ports you have used (or plan to use) to inter-connect the switches by assigning them the evpn_uplink or evpn_downlink profiles:
⚠️ When defining the
port_configwith theevpn_uplinkorevpn_downlinkusages, the interfaces in the interface range must be ordered based on the remote switch MAC Address with the lower MAC Address first
Core Switches
- Switch
name - Switch
port_config:- Links to the Distribution layer configured with
usage=evpn_downlink - (optional) Links the border gateway with an ESI-LAG link
- Links to the Distribution layer configured with
{
"name": "core-01",
"port_config": {
"ge-0/0/0": {
"usage": "l2fabricexit",
"aggregated": true,
"esilag": true,
"ae_idx": 0
},
"ge-0/0/2,ge-0/0/1": {
"usage": "evpn_downlink"
}
}
}Distribution Switches
- Switch
name - Switch
port_config:- Links to the Core layer configured with
usage=evpn_uplink - Links to the Access layer configured with
usage=evpn_downlink
- Links to the Core layer configured with
{
"name": "distri-01",
"port_config": {
"ge-0/0/0,ge-0/0/1": {
"usage": "evpn_uplink"
},
"ge-0/0/2,ge-0/0/3": {
"usage": "evpn_downlink"
}
}
}Access Switches
- Switch
name - Switch
port_config:- Links to the Distribution layer configured with
usage=evpn_uplink - Access port switches based on your requirements
- Links to the Distribution layer configured with
- Switch
other_ip_configs:- Configure a static IP Address for each network. The IP Addresses must be the same across each Access Switches.
- Switch
vrf_configwithenabled=true
{
"name": "access-01",
"port_config": {
"ge-0/0/2,ge-0/0/1": {
"usage": "evpn_uplink"
},
"ge-0/0/3": {
"usage": "vlan1088"
}
},
"other_ip_configs": {
"vlan1099": {
"type": "static",
"ip": "10.99.99.1",
"netmask": "255.255.255.0",
"evpn_anycast": true
},
"vlan1088": {
"type": "static",
"ip": "10.88.88.1",
"netmask": "255.255.255.0",
"evpn_anycast": true
},
"vlan1033": {
"type": "static",
"ip": "10.33.33.1",
"netmask": "255.255.255.0",
"evpn_anycast": true
}
},
"vrf_config": {
"enabled": true
}
}