BGP-IP-CLOS-MCLAG
Configuration
- IPv4/IPv6/BGP-Unnumbered Underlay Fabric.
- Host facing port with IPv4/IPv6/L2-Access/L2-Trunk based on requirement.
- ECMP Load Balancing for Leaf & Spine
- SVI Configuration for the Gateway
- MC LAG Configuration on the Leaf Switches
The template includes the inventory, connectivity, BGP and other configurations needed for the topology. Customers can modify the template to fit their specific requirements.
YAML Template
Inventory:
SSpines: 0
Spines: 2
Leafs: 4
Tors: 0
Connectivity:
SSpine: []
Spine:
- switchId: 1
switchName: "Spine-1"
ipAddress: "x.x.x.11"
ASN: 1001
Credentials:
user: "admin"
password: "admin"
mclag: null
Links:
- link: "S1_Ethernet0 | L1_Ethernet48"
staticLink: true
properties: null
- link: "S1_Ethernet4 | L2_Ethernet48"
staticLink: true
properties: null
- link: "S1_Ethernet8 | L3_Ethernet48"
staticLink: true
properties: null
- link: "S1_Ethernet12 | L4_Ethernet48"
staticLink: true
properties: null
- switchId: 2
switchName: "Spine-2"
ipAddress: "x.x.x.12"
ASN: 1002
Credentials:
user: "admin"
password: "admin"
mclag: null
Links:
- link: "S2_Ethernet0 | L1_Ethernet52"
staticLink: true
properties: null
- link: "S2_Ethernet4 | L2_Ethernet52"
staticLink: true
properties: null
- link: "S2_Ethernet8 | L3_Ethernet52"
staticLink: true
properties: null
- link: "S2_Ethernet12 | L4_Ethernet52"
staticLink: true
properties: null
Leaf:
- switchId: 1
switchName: "Leaf-1"
ipAddress: "x.x.x.13"
ASN: 2001
Credentials:
user: "admin"
password: "admin"
mclag:
enabled: true
peer: "L2"
keepalive_vlan: 10
Links:
- link: "L1_Ethernet48 | S1_Ethernet0"
staticLink: true
properties: null
- link: "L1_Ethernet52 | S2_Ethernet0"
staticLink: true
properties: null
- link: "L1_Ethernet56 | L2_Ethernet56"
staticLink: true
properties:
mode: "MC-LAG"
- link: "L1_Ethernet0 | H1_Ethernet0"
staticLink: true
properties:
mode: "L2-Access"
vlan: 200
mc_po_group: 200
- link: "L1_Ethernet4 | H2_Ethernet0"
staticLink: true
properties:
mode: "L2-Access"
vlan: 201
mc_po_group: 201
- switchId: 2
switchName: "Leaf-2"
ipAddress: "x.x.x.14"
ASN: 2001
Credentials:
user: "admin"
password: "admin"
mclag:
enabled: true
peer: "L1"
keepalive_vlan: 10
Links:
- link: "L2_Ethernet48 | S1_Ethernet4"
staticLink: true
properties: null
- link: "L2_Ethernet52 | S2_Ethernet4"
staticLink: true
properties: null
- link: "L2_Ethernet56 | L1_Ethernet56"
staticLink: true
properties:
mode: "MC-LAG"
- link: "L2_Ethernet0 | H1_Ethernet1"
staticLink: true
properties:
mode: "L2-Access"
vlan: 200
mc_po_group: 200
- link: "L2_Ethernet4 | H2_Ethernet1"
staticLink: true
properties:
mode: "L2-Access"
vlan: 201
mc_po_group: 201
- switchId: 3
switchName: "Leaf-3"
ipAddress: "x.x.x.15"
ASN: 2002
Credentials:
user: "admin"
password: "YourPaSsWoRd"
mclag:
enabled: true
peer: "L4"
keepalive_vlan: 10
Links:
- link: "L3_Ethernet48 | S1_Ethernet8"
staticLink: true
properties: null
- link: "L3_Ethernet52 | S2_Ethernet8"
staticLink: true
properties: null
- link: "L3_Ethernet56 | L4_Ethernet56"
staticLink: true
properties:
mode: "MC-LAG"
- link: "L3_Ethernet0 | H3_Ethernet0"
staticLink: true
properties:
mode: "L2-Access"
vlan: 200
mc_po_group: 200
- link: "L3_Ethernet4 | H4_Ethernet0"
staticLink: true
properties:
mode: "L2-Access"
vlan: 201
mc_po_group: 201
- switchId: 4
switchName: "Leaf-4"
ipAddress: "x.x.x.16"
ASN: 2002
Credentials:
user: "admin"
password: "YourPaSsWoRd"
mclag:
enabled: true
peer: "L3"
keepalive_vlan: 10
Links:
- link: "L4_Ethernet48 | S1_Ethernet12"
staticLink: true
properties: null
- link: "L4_Ethernet52 | S2_Ethernet12"
staticLink: true
properties: null
- link: "L4_Ethernet56 | L3_Ethernet56"
staticLink: true
properties:
mode: "MC-LAG"
- link: "L4_Ethernet0 | H3_Ethernet1"
staticLink: true
properties:
mode: "L2-Access"
vlan: 200
mc_po_group: 200
- link: "L4_Ethernet4 | H4_Ethernet1"
staticLink: true
properties:
mode: "L2-Access"
vlan: 201
mc_po_group: 201
Tor: []
BGP:
BGP_U: false
ND_RA: 30
PhysicalIfCfg:
FEC: "Off"
MTU: 9000
AdminStatus: "Up"
ASN:
SSpine: "10000-20000"
Spine: "21000-50000"
Leaf: "51000-60000"
Tor: "61000-70000"
IPv4Pool:
Loopback: "10.10.10.0/24"
LeafSpine: "40.0.0.0/24"
LeafTor: "39.0.0.0/24"
Host: "49.0.0.0/24"
IPv6Pool:
LeafSpine: null
LeafTor: null
Host: null
NTP:
server: "x.x.x.10"
timezone: "Asia/Kolkata"
SYSLOG:
server: "x.x.x.10"
SNMP:
trapserver: "x.x.x.10"
Parameters:
vlan: "200-205"
anycast_gateway: "x.x.x.0/23"
hosts_per_vlan: 10
Config Applied and Verified through UI
Applied Configuration on Switches
configure terminal
router-id 10.10.10.3
ntp add 100.100.10.10
clock timezone Asia/Kolkata
syslog add 100.100.10.10
snmp-server trap modify 2 100.100.10.10 port 161 vrf None community Public
hostname Leaf-1
ip protocol bgp route-map RM_SET_SRC
!
route-map FMCLI_IPV6_NH_GLOBAL permit 1
on-match next
set ipv6 next-hop prefer-global
!
route-map RM_SET_SRC permit 10
set src 10.10.10.3
!
vlan 10
!
vlan 200
!
vlan 201
!
interface port-channel 200
switchport access vlan 200
mtu 9000
!
interface port-channel 201
switchport access vlan 201
mtu 9000
!
interface port-channel 999
switchport mode trunk
switchport trunk allowed vlan add 10
switchport trunk allowed vlan add 200
switchport trunk allowed vlan add 201
mtu 9000
!
interface ethernet Ethernet0
channel-group 200 mode active
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet4
channel-group 201 mode active
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet48
ip address 40.0.0.1/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet52
ip address 40.0.0.9/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet56
channel-group 999 mode active
mtu 9000
forward-error-correction none
!
interface vlan 10
ip address 192.168.0.0/31
!
interface vlan 200
ip address 100.10.0.1/25
!
interface vlan 201
ip address 100.10.0.129/25
!
interface loopback 1
ip address 10.10.10.3/32
!
router bgp 2001
neighbor 40.0.0.0 remote-as 1001
neighbor 40.0.0.8 remote-as 1002
neighbor 40.0.0.0 capability extended-nexthop
neighbor 40.0.0.8 capability extended-nexthop
bgp bestpath as-path multipath-relax
no bgp ebgp-requires-policy
address-family ipv4 unicast
neighbor 40.0.0.0 allowas-in 1
neighbor 40.0.0.8 allowas-in 1
network 40.0.0.0/31
network 40.0.0.8/31
redistribute connected
redistribute static
!
address-family ipv6 unicast
redistribute connected
redistribute static
!
mlag domain-id 1
peer-address 192.168.0.1
peer-link port-channel 999
src-address 192.168.0.0
member port-channel 200
member port-channel 201
local-interface vlan 10
!
configure terminal
router-id 10.10.10.4
ntp add 100.100.10.10
clock timezone Asia/Kolkata
syslog add 100.100.10.10
snmp-server trap modify 2 100.100.10.10 port 161 vrf None community Public
hostname Leaf-2
ip protocol bgp route-map RM_SET_SRC
!
route-map FMCLI_IPV6_NH_GLOBAL permit 1
on-match next
set ipv6 next-hop prefer-global
!
route-map RM_SET_SRC permit 10
set src 10.10.10.4
!
vlan 10
!
vlan 200
!
vlan 201
!
interface port-channel 200
switchport access vlan 200
mtu 9000
!
interface port-channel 201
switchport access vlan 201
mtu 9000
!
interface port-channel 999
switchport mode trunk
switchport trunk allowed vlan add 10
switchport trunk allowed vlan add 200
switchport trunk allowed vlan add 201
mtu 9000
!
interface ethernet Ethernet0
channel-group 200 mode active
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet4
channel-group 201 mode active
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet48
ip address 40.0.0.3/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet52
ip address 40.0.0.11/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet56
channel-group 999 mode active
mtu 9000
forward-error-correction none
!
interface vlan 10
ip address 192.168.0.1/31
!
interface vlan 200
ip address 100.10.0.1/25
!
interface vlan 201
ip address 100.10.0.129/25
!
interface loopback 1
ip address 10.10.10.4/32
!
router bgp 2001
neighbor 40.0.0.10 remote-as 1002
neighbor 40.0.0.2 remote-as 1001
neighbor 40.0.0.10 capability extended-nexthop
neighbor 40.0.0.2 capability extended-nexthop
bgp bestpath as-path multipath-relax
no bgp ebgp-requires-policy
address-family ipv4 unicast
neighbor 40.0.0.10 allowas-in 1
neighbor 40.0.0.2 allowas-in 1
network 40.0.0.10/31
network 40.0.0.2/31
redistribute connected
redistribute static
!
address-family ipv6 unicast
redistribute connected
redistribute static
!
mlag domain-id 1
peer-address 192.168.0.0
peer-link port-channel 999
src-address 192.168.0.1
member port-channel 200
member port-channel 201
local-interface vlan 10
!
configure terminal
router-id 10.10.10.6
ntp add 100.100.10.10
clock timezone Asia/Kolkata
syslog add 100.100.10.10
snmp-server trap modify 2 100.100.10.10 port 161 vrf None community Public
hostname Leaf-3
ip protocol bgp route-map RM_SET_SRC
!
route-map FMCLI_IPV6_NH_GLOBAL permit 1
on-match next
set ipv6 next-hop prefer-global
!
route-map RM_SET_SRC permit 10
set src 10.10.10.6
!
vlan 10
!
vlan 200
!
vlan 201
!
interface port-channel 200
switchport access vlan 200
mtu 9000
!
interface port-channel 201
switchport access vlan 201
mtu 9000
!
interface port-channel 999
switchport mode trunk
switchport trunk allowed vlan add 10
switchport trunk allowed vlan add 200
switchport trunk allowed vlan add 201
mtu 9000
!
interface ethernet Ethernet0
channel-group 200 mode active
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet4
channel-group 201 mode active
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet48
ip address 40.0.0.5/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet52
ip address 40.0.0.13/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet56
channel-group 999 mode active
mtu 9000
forward-error-correction none
!
interface vlan 10
ip address 192.168.0.2/31
!
interface vlan 200
ip address 100.10.1.1/25
!
interface vlan 201
ip address 100.10.1.129/25
!
interface loopback 1
ip address 10.10.10.6/32
!
router bgp 2002
neighbor 40.0.0.12 remote-as 1002
neighbor 40.0.0.4 remote-as 1001
neighbor 40.0.0.12 capability extended-nexthop
neighbor 40.0.0.4 capability extended-nexthop
bgp bestpath as-path multipath-relax
no bgp ebgp-requires-policy
address-family ipv4 unicast
neighbor 40.0.0.12 allowas-in 1
neighbor 40.0.0.4 allowas-in 1
network 40.0.0.12/31
network 40.0.0.4/31
redistribute connected
redistribute static
!
address-family ipv6 unicast
redistribute connected
redistribute static
!
mlag domain-id 1
peer-address 192.168.0.3
peer-link port-channel 999
src-address 192.168.0.2
member port-channel 200
member port-channel 201
local-interface vlan 10
!
configure terminal
router-id 10.10.10.7
ntp add 100.100.10.10
clock timezone Asia/Kolkata
syslog add 100.100.10.10
snmp-server trap modify 2 100.100.10.10 port 161 vrf None community Public
hostname Leaf-4
ip protocol bgp route-map RM_SET_SRC
!
route-map FMCLI_IPV6_NH_GLOBAL permit 1
on-match next
set ipv6 next-hop prefer-global
!
route-map RM_SET_SRC permit 10
set src 10.10.10.7
!
vlan 10
!
vlan 200
!
vlan 201
!
interface port-channel 200
switchport access vlan 200
mtu 9000
!
interface port-channel 201
switchport access vlan 201
mtu 9000
!
interface port-channel 999
switchport mode trunk
switchport trunk allowed vlan add 10
switchport trunk allowed vlan add 200
switchport trunk allowed vlan add 201
mtu 9000
!
interface ethernet Ethernet0
channel-group 200 mode active
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet4
channel-group 201 mode active
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet48
ip address 40.0.0.7/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet52
ip address 40.0.0.15/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet56
channel-group 999 mode active
mtu 9000
forward-error-correction none
!
interface vlan 10
ip address 192.168.0.3/31
!
interface vlan 200
ip address 100.10.1.1/25
!
interface vlan 201
ip address 100.10.1.129/25
!
interface loopback 1
ip address 10.10.10.7/32
!
router bgp 2002
neighbor 40.0.0.14 remote-as 1002
neighbor 40.0.0.6 remote-as 1001
neighbor 40.0.0.14 capability extended-nexthop
neighbor 40.0.0.6 capability extended-nexthop
bgp bestpath as-path multipath-relax
no bgp ebgp-requires-policy
address-family ipv4 unicast
neighbor 40.0.0.14 allowas-in 1
neighbor 40.0.0.6 allowas-in 1
network 40.0.0.14/31
network 40.0.0.6/31
redistribute connected
redistribute static
!
address-family ipv6 unicast
redistribute connected
redistribute static
!
mlag domain-id 1
peer-address 192.168.0.2
peer-link port-channel 999
src-address 192.168.0.3
member port-channel 200
member port-channel 201
local-interface vlan 10
!
configure terminal
router-id 10.10.10.0
ntp add 100.100.10.10
clock timezone Asia/Kolkata
syslog add 100.100.10.10
snmp-server trap modify 2 100.100.10.10 port 161 vrf None community Public
hostname Spine-1
ip protocol bgp route-map RM_SET_SRC
!
route-map FMCLI_IPV6_NH_GLOBAL permit 1
on-match next
set ipv6 next-hop prefer-global
!
route-map RM_SET_SRC permit 10
set src 10.10.10.0
!
interface ethernet Ethernet0
ip address 40.0.0.0/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet12
ip address 40.0.0.6/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet4
ip address 40.0.0.2/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet8
ip address 40.0.0.4/31
mtu 9000
forward-error-correction none
!
interface loopback 1
ip address 10.10.10.0/32
!
router bgp 1001
neighbor 40.0.0.1 remote-as 2001
neighbor 40.0.0.3 remote-as 2001
neighbor 40.0.0.5 remote-as 2002
neighbor 40.0.0.7 remote-as 2002
neighbor 40.0.0.1 capability extended-nexthop
neighbor 40.0.0.3 capability extended-nexthop
neighbor 40.0.0.5 capability extended-nexthop
neighbor 40.0.0.7 capability extended-nexthop
bgp bestpath as-path multipath-relax
no bgp ebgp-requires-policy
address-family ipv4 unicast
neighbor 40.0.0.1 allowas-in 1
neighbor 40.0.0.3 allowas-in 1
neighbor 40.0.0.5 allowas-in 1
neighbor 40.0.0.7 allowas-in 1
network 40.0.0.0/31
network 40.0.0.2/31
network 40.0.0.4/31
network 40.0.0.6/31
redistribute connected
redistribute static
!
address-family ipv6 unicast
redistribute connected
redistribute static
!
configure terminal
router-id 10.10.10.1
ntp add 100.100.10.10
clock timezone Asia/Kolkata
syslog add 100.100.10.10
snmp-server trap modify 2 100.100.10.10 port 161 vrf None community Public
hostname Spine-2
ip protocol bgp route-map RM_SET_SRC
!
route-map FMCLI_IPV6_NH_GLOBAL permit 1
on-match next
set ipv6 next-hop prefer-global
!
route-map RM_SET_SRC permit 10
set src 10.10.10.1
!
interface ethernet Ethernet0
ip address 40.0.0.8/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet12
ip address 40.0.0.14/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet4
ip address 40.0.0.10/31
mtu 9000
forward-error-correction none
!
interface ethernet Ethernet8
ip address 40.0.0.12/31
mtu 9000
forward-error-correction none
!
interface loopback 1
ip address 10.10.10.1/32
!
router bgp 1002
neighbor 40.0.0.11 remote-as 2001
neighbor 40.0.0.13 remote-as 2002
neighbor 40.0.0.15 remote-as 2002
neighbor 40.0.0.9 remote-as 2001
neighbor 40.0.0.11 capability extended-nexthop
neighbor 40.0.0.13 capability extended-nexthop
neighbor 40.0.0.15 capability extended-nexthop
neighbor 40.0.0.9 capability extended-nexthop
bgp bestpath as-path multipath-relax
no bgp ebgp-requires-policy
address-family ipv4 unicast
neighbor 40.0.0.11 allowas-in 1
neighbor 40.0.0.13 allowas-in 1
neighbor 40.0.0.15 allowas-in 1
neighbor 40.0.0.9 allowas-in 1
network 40.0.0.10/31
network 40.0.0.12/31
network 40.0.0.14/31
network 40.0.0.8/31
redistribute connected
redistribute static
!
address-family ipv6 unicast
redistribute connected
redistribute static
!