GuidesHow ToEVPN TopologySite EVPN
Multihoming Topology
Create and manage an EVPN Multihoming EVPN Topology
Build the topology
Use the Create Site EVPN Topology API Call to create the EVPN Topology.
{
"name": "evpn_one",
"evpn_options": {
"overlay": {
"as": 65000
},
"core_as_border": true,
"underlay": {
"as_base": 65001,
"use_ipv6": false,
"subnet": "10.255.240.0/20"
},
"auto_router_id_subnet": "172.16.254.0/23"
},
"switches": [
{
"mac": "020004000000",
"role": "collapsed-core"
},
{
"mac": "020004000001",
"role": "collapsed-core"
},
{
"mac": "020004000002",
"role": "esilag-access"
},
{
"mac": "020004000003",
"role": "esilag-access"
}
]
}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 Gateway in
gateway. This IP Address will be shared across the Collapsed-Core switches
- 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 Access switches- (optional) the access port profiles
{
"networks": {
"vlan1099": {
"vlan_id": 1099,
"subnet": "10.99.99.0/24",
"gateway": "10.99.99.1"
},
"vlan1088": {
"vlan_id": 1088,
"subnet": "10.88.88.0/24",
"gateway": "10.88.88.1"
},
"vlan1033": {
"vlan_id": 1033,
"subnet": "10.33.33.0/24",
"gateway": "10.33.33.1"
}
},
"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": {
"x-esilag": {
"mode": "trunk",
"all_networks": true,
"mtu": "9100"
},
"vlan1099": {
"mode": "access",
"port_network": "vlan1099"
},
"vlan1088": {
"mode": "access",
"port_network": "vlan1088"
},
"vlan1033": {
"mode": "access",
"port_network": "vlan1033"
}
},
"vrf_config": {
"enabled": true
}
}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 ESI-LAG, evpn_uplink or evpn_downlink profiles:
Collapsed-Core Switches
- Switch
name - Switch
port_config:- Links to other Cores with 1 x
evpn_downlinkand 1 xevpn_uplink - Links to each Access switch with
usage=<esilag name>,aggregatedandesilagtotrueandae_idxconfigured
- Links to other Cores with 1 x
- Switch
other_ip_configs:- Configure a static IP Address for each network. This IP Address must be different from the Shared IP Address configured in the Update the network template section
{
"name": "core-01",
"port_config": {
"ge-0/0/0": {
"usage": "evpn_uplink"
},
"ge-0/0/1": {
"usage": "evpn_downlink"
},
"ge-0/0/2": {
"usage": "x-esilag",
"aggregated": true,
"esilag": true,
"ae_idx": 0
},
"ge-0/0/3": {
"usage": "x-esilag",
"aggregated": true,
"esilag": true,
"ae_idx": 1
}
},
"other_ip_configs": {
"vlan1099": {
"type": "static",
"ip": "10.99.99.2",
"netmask": "255.255.255.0"
},
"vlan1088": {
"type": "static",
"ip": "10.88.88.2",
"netmask": "255.255.255.0"
},
"vlan1033": {
"type": "static",
"ip": "10.33.33.2",
"netmask": "255.255.255.0"
}
}
}Access Switches
- Switch
name - Switch
port_config:- Links to the Core layer configured with
usage=<esilag name>,aggregatedandesilagtotrueandae_idxconfigured - Access port switches based on your requirements
- Links to the Core layer configured with
{
"name": "access-01",
"port_config": {
"ge-0/0/0,ge-0/0/1": {
"usage": "x-esilag",
"aggregated": true,
"esilag": true,
"ae_idx": 0
},
"ge-0/0/3": {
"usage": "vlan1099"
}
}
}