From a9b5349961c33fcc7c0989030f8051de0d6dc78b Mon Sep 17 00:00:00 2001 From: Ivan Pepelnjak Date: Wed, 4 Sep 2024 18:01:46 +0200 Subject: [PATCH] EVPN IBGP/RR design --- EVPN/ibgp-rr/README.md | 7 ++ EVPN/ibgp-rr/config/L1.cfg | 133 +++++++++++++++++++++++++++++++++ EVPN/ibgp-rr/config/L2.cfg | 133 +++++++++++++++++++++++++++++++++ EVPN/ibgp-rr/config/L3.cfg | 133 +++++++++++++++++++++++++++++++++ EVPN/ibgp-rr/config/L4.cfg | 133 +++++++++++++++++++++++++++++++++ EVPN/ibgp-rr/config/S1.cfg | 148 +++++++++++++++++++++++++++++++++++++ EVPN/ibgp-rr/config/S2.cfg | 148 +++++++++++++++++++++++++++++++++++++ EVPN/ibgp-rr/topology.yml | 30 ++++++++ 8 files changed, 865 insertions(+) create mode 100644 EVPN/ibgp-rr/README.md create mode 100644 EVPN/ibgp-rr/config/L1.cfg create mode 100644 EVPN/ibgp-rr/config/L2.cfg create mode 100644 EVPN/ibgp-rr/config/L3.cfg create mode 100644 EVPN/ibgp-rr/config/L4.cfg create mode 100644 EVPN/ibgp-rr/config/S1.cfg create mode 100644 EVPN/ibgp-rr/config/S2.cfg create mode 100644 EVPN/ibgp-rr/topology.yml diff --git a/EVPN/ibgp-rr/README.md b/EVPN/ibgp-rr/README.md new file mode 100644 index 0000000..4d2d7a7 --- /dev/null +++ b/EVPN/ibgp-rr/README.md @@ -0,0 +1,7 @@ +# EVPN Designs: Scaling IBGP with Route Reflectors + +This directory contains the lab topology described in the [EVPN Designs: Scaling IBGP with Route Reflectors +](https://blog.ipspace.net/2024/08/evpn-designs-ibgp-rr/) blog post. The spine switches are route reflectors +for the EVPN address family, the leaf switches are route-reflector clients. + +![](http://blog.ipspace.net/2024/04/evpn-design-fabric.png) diff --git a/EVPN/ibgp-rr/config/L1.cfg b/EVPN/ibgp-rr/config/L1.cfg new file mode 100644 index 0000000..b3c9e4c --- /dev/null +++ b/EVPN/ibgp-rr/config/L1.cfg @@ -0,0 +1,133 @@ +! Command: show running-config +! device: L1 (cEOSLab, EOS-4.32.1F-37265360.4321F (engineering build)) +! +no aaa root +! +username admin privilege 15 role network-admin secret sha512 $6$d7DzpYFmSs.5wHZi$5nAjoU.d9Rc4Oli4.yWKQU80e9iZaEkV8AMmvmhaYcEf8cv4UbaCVdx9jjPAVTpzczfFKGgifkIJ/fLb7bz6J. +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +logging monitor debugging +! +hostname L1 +ip host H1 172.16.0.7 +ip host H2 172.16.0.8 +ip host H3 172.16.1.9 +ip host H4 172.16.1.10 +ip host L2 10.0.0.2 10.1.0.9 10.1.0.13 +ip host L3 10.0.0.3 10.1.0.17 10.1.0.21 +ip host L4 10.0.0.4 10.1.0.25 10.1.0.29 +ip host S1 10.0.0.5 10.1.0.2 10.1.0.10 10.1.0.18 10.1.0.26 +ip host S2 10.0.0.6 10.1.0.6 10.1.0.14 10.1.0.22 10.1.0.30 +! +spanning-tree mode mstp +! +system l1 + unsupported speed action error + unsupported error-correction action error +! +vlan 1000 + name orange +! +vrf instance management +! +management api http-commands + no shutdown + ! + vrf management + no shutdown +! +management api gnmi + transport grpc default + vrf management +! +management api netconf + transport ssh default + vrf management +! +interface Ethernet1 + description L1 -> S1 + mac-address 52:dc:ca:fe:01:01 + no switchport + ip address 10.1.0.1/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet2 + description L1 -> S2 + mac-address 52:dc:ca:fe:01:02 + no switchport + ip address 10.1.0.5/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet3 + mac-address 52:dc:ca:fe:01:03 + switchport access vlan 1000 +! +interface Loopback0 + ip address 10.0.0.1/32 + ip ospf area 0.0.0.0 +! +interface Management0 + vrf management + ip address 192.168.121.101/24 + no lldp transmit + no lldp receive +! +interface Vlan1000 + description VLAN orange (1000) -> [H1,H2,L3] +! +interface Vxlan1 + vxlan source-interface Loopback0 + vxlan udp-port 4789 + vxlan vlan 1000 vni 101000 +! +ip routing +no ip routing vrf management +! +ip route vrf management 0.0.0.0/0 192.168.121.1 +! +route-map next-hop-self-ipv4 permit 10 + match route-type external + set ip next-hop peer-address +! +route-map next-hop-self-ipv4 permit 20 +! +router bgp 65000 + router-id 10.0.0.1 + no bgp default ipv4-unicast + bgp advertise-inactive + neighbor 10.0.0.5 remote-as 65000 + neighbor 10.0.0.5 update-source Loopback0 + neighbor 10.0.0.5 description S1 + neighbor 10.0.0.5 send-community standard extended large + neighbor 10.0.0.6 remote-as 65000 + neighbor 10.0.0.6 update-source Loopback0 + neighbor 10.0.0.6 description S2 + neighbor 10.0.0.6 send-community standard extended large + ! + vlan 1000 + rd 10.0.0.1:1000 + route-target import 65000:1000 + route-target export 65000:1000 + redistribute learned + ! + address-family evpn + neighbor 10.0.0.5 activate + neighbor 10.0.0.6 activate + ! + address-family ipv4 + network 10.0.0.1/32 +! +router ospf 1 + router-id 10.0.0.1 + interface unnumbered hello mask tx 0.0.0.0 + max-lsa 12000 + timers spf delay initial 100 200 500 + timers lsa rx min interval 100 + timers lsa tx delay initial 100 200 500 +! +end \ No newline at end of file diff --git a/EVPN/ibgp-rr/config/L2.cfg b/EVPN/ibgp-rr/config/L2.cfg new file mode 100644 index 0000000..9e805eb --- /dev/null +++ b/EVPN/ibgp-rr/config/L2.cfg @@ -0,0 +1,133 @@ +! Command: show running-config +! device: L2 (cEOSLab, EOS-4.32.1F-37265360.4321F (engineering build)) +! +no aaa root +! +username admin privilege 15 role network-admin secret sha512 $6$1DVOIO6MvFGK6a56$YdFaW4n14Se6uUE6xTYvCdQyyxBNLlA.qyIa6OCRHDVckH84VodhXJkdFyPcaaNCuOlZnd6165AtYhoZG4eYE. +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +logging monitor debugging +! +hostname L2 +ip host H1 172.16.0.7 +ip host H2 172.16.0.8 +ip host H3 172.16.1.9 +ip host H4 172.16.1.10 +ip host L1 10.0.0.1 10.1.0.1 10.1.0.5 +ip host L3 10.0.0.3 10.1.0.17 10.1.0.21 +ip host L4 10.0.0.4 10.1.0.25 10.1.0.29 +ip host S1 10.0.0.5 10.1.0.2 10.1.0.10 10.1.0.18 10.1.0.26 +ip host S2 10.0.0.6 10.1.0.6 10.1.0.14 10.1.0.22 10.1.0.30 +! +spanning-tree mode mstp +! +system l1 + unsupported speed action error + unsupported error-correction action error +! +vlan 1001 + name blue +! +vrf instance management +! +management api http-commands + no shutdown + ! + vrf management + no shutdown +! +management api gnmi + transport grpc default + vrf management +! +management api netconf + transport ssh default + vrf management +! +interface Ethernet1 + description L2 -> S1 + mac-address 52:dc:ca:fe:02:01 + no switchport + ip address 10.1.0.9/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet2 + description L2 -> S2 + mac-address 52:dc:ca:fe:02:02 + no switchport + ip address 10.1.0.13/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet3 + mac-address 52:dc:ca:fe:02:03 + switchport access vlan 1001 +! +interface Loopback0 + ip address 10.0.0.2/32 + ip ospf area 0.0.0.0 +! +interface Management0 + vrf management + ip address 192.168.121.102/24 + no lldp transmit + no lldp receive +! +interface Vlan1001 + description VLAN blue (1001) -> [H3,H4,L4] +! +interface Vxlan1 + vxlan source-interface Loopback0 + vxlan udp-port 4789 + vxlan vlan 1001 vni 101001 +! +ip routing +no ip routing vrf management +! +ip route vrf management 0.0.0.0/0 192.168.121.1 +! +route-map next-hop-self-ipv4 permit 10 + match route-type external + set ip next-hop peer-address +! +route-map next-hop-self-ipv4 permit 20 +! +router bgp 65000 + router-id 10.0.0.2 + no bgp default ipv4-unicast + bgp advertise-inactive + neighbor 10.0.0.5 remote-as 65000 + neighbor 10.0.0.5 update-source Loopback0 + neighbor 10.0.0.5 description S1 + neighbor 10.0.0.5 send-community standard extended large + neighbor 10.0.0.6 remote-as 65000 + neighbor 10.0.0.6 update-source Loopback0 + neighbor 10.0.0.6 description S2 + neighbor 10.0.0.6 send-community standard extended large + ! + vlan 1001 + rd 10.0.0.2:1001 + route-target import 65000:1001 + route-target export 65000:1001 + redistribute learned + ! + address-family evpn + neighbor 10.0.0.5 activate + neighbor 10.0.0.6 activate + ! + address-family ipv4 + network 10.0.0.2/32 +! +router ospf 1 + router-id 10.0.0.2 + interface unnumbered hello mask tx 0.0.0.0 + max-lsa 12000 + timers spf delay initial 100 200 500 + timers lsa rx min interval 100 + timers lsa tx delay initial 100 200 500 +! +end \ No newline at end of file diff --git a/EVPN/ibgp-rr/config/L3.cfg b/EVPN/ibgp-rr/config/L3.cfg new file mode 100644 index 0000000..6d9e76a --- /dev/null +++ b/EVPN/ibgp-rr/config/L3.cfg @@ -0,0 +1,133 @@ +! Command: show running-config +! device: L3 (cEOSLab, EOS-4.32.1F-37265360.4321F (engineering build)) +! +no aaa root +! +username admin privilege 15 role network-admin secret sha512 $6$XyVfjTsP5stsE/Yc$xzrxGQIu45qS1wvip9Yex932yKXBvBsRN6fgsAmrI0P3LtnN/Dx9a3ZVoEfI8T2LtX5SMPovt096AXaKCl6Dn. +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +logging monitor debugging +! +hostname L3 +ip host H1 172.16.0.7 +ip host H2 172.16.0.8 +ip host H3 172.16.1.9 +ip host H4 172.16.1.10 +ip host L1 10.0.0.1 10.1.0.1 10.1.0.5 +ip host L2 10.0.0.2 10.1.0.9 10.1.0.13 +ip host L4 10.0.0.4 10.1.0.25 10.1.0.29 +ip host S1 10.0.0.5 10.1.0.2 10.1.0.10 10.1.0.18 10.1.0.26 +ip host S2 10.0.0.6 10.1.0.6 10.1.0.14 10.1.0.22 10.1.0.30 +! +spanning-tree mode mstp +! +system l1 + unsupported speed action error + unsupported error-correction action error +! +vlan 1000 + name orange +! +vrf instance management +! +management api http-commands + no shutdown + ! + vrf management + no shutdown +! +management api gnmi + transport grpc default + vrf management +! +management api netconf + transport ssh default + vrf management +! +interface Ethernet1 + description L3 -> S1 + mac-address 52:dc:ca:fe:03:01 + no switchport + ip address 10.1.0.17/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet2 + description L3 -> S2 + mac-address 52:dc:ca:fe:03:02 + no switchport + ip address 10.1.0.21/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet3 + mac-address 52:dc:ca:fe:03:03 + switchport access vlan 1000 +! +interface Loopback0 + ip address 10.0.0.3/32 + ip ospf area 0.0.0.0 +! +interface Management0 + vrf management + ip address 192.168.121.103/24 + no lldp transmit + no lldp receive +! +interface Vlan1000 + description VLAN orange (1000) -> [H1,L1,H2] +! +interface Vxlan1 + vxlan source-interface Loopback0 + vxlan udp-port 4789 + vxlan vlan 1000 vni 101000 +! +ip routing +no ip routing vrf management +! +ip route vrf management 0.0.0.0/0 192.168.121.1 +! +route-map next-hop-self-ipv4 permit 10 + match route-type external + set ip next-hop peer-address +! +route-map next-hop-self-ipv4 permit 20 +! +router bgp 65000 + router-id 10.0.0.3 + no bgp default ipv4-unicast + bgp advertise-inactive + neighbor 10.0.0.5 remote-as 65000 + neighbor 10.0.0.5 update-source Loopback0 + neighbor 10.0.0.5 description S1 + neighbor 10.0.0.5 send-community standard extended large + neighbor 10.0.0.6 remote-as 65000 + neighbor 10.0.0.6 update-source Loopback0 + neighbor 10.0.0.6 description S2 + neighbor 10.0.0.6 send-community standard extended large + ! + vlan 1000 + rd 10.0.0.3:1000 + route-target import 65000:1000 + route-target export 65000:1000 + redistribute learned + ! + address-family evpn + neighbor 10.0.0.5 activate + neighbor 10.0.0.6 activate + ! + address-family ipv4 + network 10.0.0.3/32 +! +router ospf 1 + router-id 10.0.0.3 + interface unnumbered hello mask tx 0.0.0.0 + max-lsa 12000 + timers spf delay initial 100 200 500 + timers lsa rx min interval 100 + timers lsa tx delay initial 100 200 500 +! +end \ No newline at end of file diff --git a/EVPN/ibgp-rr/config/L4.cfg b/EVPN/ibgp-rr/config/L4.cfg new file mode 100644 index 0000000..bbbbc57 --- /dev/null +++ b/EVPN/ibgp-rr/config/L4.cfg @@ -0,0 +1,133 @@ +! Command: show running-config +! device: L4 (cEOSLab, EOS-4.32.1F-37265360.4321F (engineering build)) +! +no aaa root +! +username admin privilege 15 role network-admin secret sha512 $6$sIUCA9E/7EH7sMQ1$kHOIpQoawzxEehIIjffLxGaatX5a6dm1R70UjlCFK.V5sUYJfU7F1hPPmDfS7XoNGyXbrlDpBPcCTcstsauEN1 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +logging monitor debugging +! +hostname L4 +ip host H1 172.16.0.7 +ip host H2 172.16.0.8 +ip host H3 172.16.1.9 +ip host H4 172.16.1.10 +ip host L1 10.0.0.1 10.1.0.1 10.1.0.5 +ip host L2 10.0.0.2 10.1.0.9 10.1.0.13 +ip host L3 10.0.0.3 10.1.0.17 10.1.0.21 +ip host S1 10.0.0.5 10.1.0.2 10.1.0.10 10.1.0.18 10.1.0.26 +ip host S2 10.0.0.6 10.1.0.6 10.1.0.14 10.1.0.22 10.1.0.30 +! +spanning-tree mode mstp +! +system l1 + unsupported speed action error + unsupported error-correction action error +! +vlan 1001 + name blue +! +vrf instance management +! +management api http-commands + no shutdown + ! + vrf management + no shutdown +! +management api gnmi + transport grpc default + vrf management +! +management api netconf + transport ssh default + vrf management +! +interface Ethernet1 + description L4 -> S1 + mac-address 52:dc:ca:fe:04:01 + no switchport + ip address 10.1.0.25/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet2 + description L4 -> S2 + mac-address 52:dc:ca:fe:04:02 + no switchport + ip address 10.1.0.29/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet3 + mac-address 52:dc:ca:fe:04:03 + switchport access vlan 1001 +! +interface Loopback0 + ip address 10.0.0.4/32 + ip ospf area 0.0.0.0 +! +interface Management0 + vrf management + ip address 192.168.121.104/24 + no lldp transmit + no lldp receive +! +interface Vlan1001 + description VLAN blue (1001) -> [H3,L2,H4] +! +interface Vxlan1 + vxlan source-interface Loopback0 + vxlan udp-port 4789 + vxlan vlan 1001 vni 101001 +! +ip routing +no ip routing vrf management +! +ip route vrf management 0.0.0.0/0 192.168.121.1 +! +route-map next-hop-self-ipv4 permit 10 + match route-type external + set ip next-hop peer-address +! +route-map next-hop-self-ipv4 permit 20 +! +router bgp 65000 + router-id 10.0.0.4 + no bgp default ipv4-unicast + bgp advertise-inactive + neighbor 10.0.0.5 remote-as 65000 + neighbor 10.0.0.5 update-source Loopback0 + neighbor 10.0.0.5 description S1 + neighbor 10.0.0.5 send-community standard extended large + neighbor 10.0.0.6 remote-as 65000 + neighbor 10.0.0.6 update-source Loopback0 + neighbor 10.0.0.6 description S2 + neighbor 10.0.0.6 send-community standard extended large + ! + vlan 1001 + rd 10.0.0.4:1001 + route-target import 65000:1001 + route-target export 65000:1001 + redistribute learned + ! + address-family evpn + neighbor 10.0.0.5 activate + neighbor 10.0.0.6 activate + ! + address-family ipv4 + network 10.0.0.4/32 +! +router ospf 1 + router-id 10.0.0.4 + interface unnumbered hello mask tx 0.0.0.0 + max-lsa 12000 + timers spf delay initial 100 200 500 + timers lsa rx min interval 100 + timers lsa tx delay initial 100 200 500 +! +end \ No newline at end of file diff --git a/EVPN/ibgp-rr/config/S1.cfg b/EVPN/ibgp-rr/config/S1.cfg new file mode 100644 index 0000000..6d2b359 --- /dev/null +++ b/EVPN/ibgp-rr/config/S1.cfg @@ -0,0 +1,148 @@ +! Command: show running-config +! device: S1 (cEOSLab, EOS-4.32.1F-37265360.4321F (engineering build)) +! +no aaa root +! +username admin privilege 15 role network-admin secret sha512 $6$rPBg4EkZt4Y4KNbn$1km.ik2WjSmJ7E2C7Gim2ClvJB0FI6iMO7e3zWfLRTYVt0h5FNmxCUTPrUn6aPITboeMbneJIvS/ZjuvZdwFX0 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +logging monitor debugging +! +hostname S1 +ip host H1 172.16.0.7 +ip host H2 172.16.0.8 +ip host H3 172.16.1.9 +ip host H4 172.16.1.10 +ip host L1 10.0.0.1 10.1.0.1 10.1.0.5 +ip host L2 10.0.0.2 10.1.0.9 10.1.0.13 +ip host L3 10.0.0.3 10.1.0.17 10.1.0.21 +ip host L4 10.0.0.4 10.1.0.25 10.1.0.29 +ip host S2 10.0.0.6 10.1.0.6 10.1.0.14 10.1.0.22 10.1.0.30 +! +spanning-tree mode mstp +! +system l1 + unsupported speed action error + unsupported error-correction action error +! +vrf instance management +! +management api http-commands + no shutdown + ! + vrf management + no shutdown +! +management api gnmi + transport grpc default + vrf management +! +management api netconf + transport ssh default + vrf management +! +interface Ethernet1 + description S1 -> L1 + mac-address 52:dc:ca:fe:05:01 + no switchport + ip address 10.1.0.2/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet2 + description S1 -> L2 + mac-address 52:dc:ca:fe:05:02 + no switchport + ip address 10.1.0.10/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet3 + description S1 -> L3 + mac-address 52:dc:ca:fe:05:03 + no switchport + ip address 10.1.0.18/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet4 + description S1 -> L4 + mac-address 52:dc:ca:fe:05:04 + no switchport + ip address 10.1.0.26/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Loopback0 + ip address 10.0.0.5/32 + ip ospf area 0.0.0.0 +! +interface Management0 + vrf management + ip address 192.168.121.105/24 + no lldp transmit + no lldp receive +! +ip routing +no ip routing vrf management +! +ip route vrf management 0.0.0.0/0 192.168.121.1 +! +route-map next-hop-self-ipv4 permit 10 + match route-type external + set ip next-hop peer-address +! +route-map next-hop-self-ipv4 permit 20 +! +router bgp 65000 + router-id 10.0.0.5 + no bgp default ipv4-unicast + bgp cluster-id 10.0.0.5 + bgp advertise-inactive + neighbor 10.0.0.1 remote-as 65000 + neighbor 10.0.0.1 update-source Loopback0 + neighbor 10.0.0.1 description L1 + neighbor 10.0.0.1 route-reflector-client + neighbor 10.0.0.1 send-community standard extended large + neighbor 10.0.0.2 remote-as 65000 + neighbor 10.0.0.2 update-source Loopback0 + neighbor 10.0.0.2 description L2 + neighbor 10.0.0.2 route-reflector-client + neighbor 10.0.0.2 send-community standard extended large + neighbor 10.0.0.3 remote-as 65000 + neighbor 10.0.0.3 update-source Loopback0 + neighbor 10.0.0.3 description L3 + neighbor 10.0.0.3 route-reflector-client + neighbor 10.0.0.3 send-community standard extended large + neighbor 10.0.0.4 remote-as 65000 + neighbor 10.0.0.4 update-source Loopback0 + neighbor 10.0.0.4 description L4 + neighbor 10.0.0.4 route-reflector-client + neighbor 10.0.0.4 send-community standard extended large + neighbor 10.0.0.6 remote-as 65000 + neighbor 10.0.0.6 update-source Loopback0 + neighbor 10.0.0.6 description S2 + neighbor 10.0.0.6 send-community standard extended large + ! + address-family evpn + neighbor 10.0.0.1 activate + neighbor 10.0.0.2 activate + neighbor 10.0.0.3 activate + neighbor 10.0.0.4 activate + neighbor 10.0.0.6 activate + ! + address-family ipv4 + network 10.0.0.5/32 +! +router ospf 1 + router-id 10.0.0.5 + interface unnumbered hello mask tx 0.0.0.0 + max-lsa 12000 + timers spf delay initial 100 200 500 + timers lsa rx min interval 100 + timers lsa tx delay initial 100 200 500 +! +end \ No newline at end of file diff --git a/EVPN/ibgp-rr/config/S2.cfg b/EVPN/ibgp-rr/config/S2.cfg new file mode 100644 index 0000000..f2dd482 --- /dev/null +++ b/EVPN/ibgp-rr/config/S2.cfg @@ -0,0 +1,148 @@ +! Command: show running-config +! device: S2 (cEOSLab, EOS-4.32.1F-37265360.4321F (engineering build)) +! +no aaa root +! +username admin privilege 15 role network-admin secret sha512 $6$B3kmRnlxxeND4K0A$RqGB/wqxZtsdIHe1Sj0OAL3U8kzqR2aSyS3EbENlwLabfp6g11k2rBN33vqiqLgGHIObrveTgFJ9XMjhzrtpP1 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +logging monitor debugging +! +hostname S2 +ip host H1 172.16.0.7 +ip host H2 172.16.0.8 +ip host H3 172.16.1.9 +ip host H4 172.16.1.10 +ip host L1 10.0.0.1 10.1.0.1 10.1.0.5 +ip host L2 10.0.0.2 10.1.0.9 10.1.0.13 +ip host L3 10.0.0.3 10.1.0.17 10.1.0.21 +ip host L4 10.0.0.4 10.1.0.25 10.1.0.29 +ip host S1 10.0.0.5 10.1.0.2 10.1.0.10 10.1.0.18 10.1.0.26 +! +spanning-tree mode mstp +! +system l1 + unsupported speed action error + unsupported error-correction action error +! +vrf instance management +! +management api http-commands + no shutdown + ! + vrf management + no shutdown +! +management api gnmi + transport grpc default + vrf management +! +management api netconf + transport ssh default + vrf management +! +interface Ethernet1 + description S2 -> L1 + mac-address 52:dc:ca:fe:06:01 + no switchport + ip address 10.1.0.6/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet2 + description S2 -> L2 + mac-address 52:dc:ca:fe:06:02 + no switchport + ip address 10.1.0.14/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet3 + description S2 -> L3 + mac-address 52:dc:ca:fe:06:03 + no switchport + ip address 10.1.0.22/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Ethernet4 + description S2 -> L4 + mac-address 52:dc:ca:fe:06:04 + no switchport + ip address 10.1.0.30/30 + ip ospf network point-to-point + ip ospf area 0.0.0.0 +! +interface Loopback0 + ip address 10.0.0.6/32 + ip ospf area 0.0.0.0 +! +interface Management0 + vrf management + ip address 192.168.121.106/24 + no lldp transmit + no lldp receive +! +ip routing +no ip routing vrf management +! +ip route vrf management 0.0.0.0/0 192.168.121.1 +! +route-map next-hop-self-ipv4 permit 10 + match route-type external + set ip next-hop peer-address +! +route-map next-hop-self-ipv4 permit 20 +! +router bgp 65000 + router-id 10.0.0.6 + no bgp default ipv4-unicast + bgp cluster-id 10.0.0.5 + bgp advertise-inactive + neighbor 10.0.0.1 remote-as 65000 + neighbor 10.0.0.1 update-source Loopback0 + neighbor 10.0.0.1 description L1 + neighbor 10.0.0.1 route-reflector-client + neighbor 10.0.0.1 send-community standard extended large + neighbor 10.0.0.2 remote-as 65000 + neighbor 10.0.0.2 update-source Loopback0 + neighbor 10.0.0.2 description L2 + neighbor 10.0.0.2 route-reflector-client + neighbor 10.0.0.2 send-community standard extended large + neighbor 10.0.0.3 remote-as 65000 + neighbor 10.0.0.3 update-source Loopback0 + neighbor 10.0.0.3 description L3 + neighbor 10.0.0.3 route-reflector-client + neighbor 10.0.0.3 send-community standard extended large + neighbor 10.0.0.4 remote-as 65000 + neighbor 10.0.0.4 update-source Loopback0 + neighbor 10.0.0.4 description L4 + neighbor 10.0.0.4 route-reflector-client + neighbor 10.0.0.4 send-community standard extended large + neighbor 10.0.0.5 remote-as 65000 + neighbor 10.0.0.5 update-source Loopback0 + neighbor 10.0.0.5 description S1 + neighbor 10.0.0.5 send-community standard extended large + ! + address-family evpn + neighbor 10.0.0.1 activate + neighbor 10.0.0.2 activate + neighbor 10.0.0.3 activate + neighbor 10.0.0.4 activate + neighbor 10.0.0.5 activate + ! + address-family ipv4 + network 10.0.0.6/32 +! +router ospf 1 + router-id 10.0.0.6 + interface unnumbered hello mask tx 0.0.0.0 + max-lsa 12000 + timers spf delay initial 100 200 500 + timers lsa rx min interval 100 + timers lsa tx delay initial 100 200 500 +! +end \ No newline at end of file diff --git a/EVPN/ibgp-rr/topology.yml b/EVPN/ibgp-rr/topology.yml new file mode 100644 index 0000000..ca19d47 --- /dev/null +++ b/EVPN/ibgp-rr/topology.yml @@ -0,0 +1,30 @@ +defaults.device: eos +provider: clab + +plugin: [ fabric ] +fabric.spines: 2 +fabric.leafs: 4 + +bgp.as: 65000 +bgp.activate.ipv4: [] + +groups: + _auto_create: True + leafs: + module: [ ospf, bgp, vlan, vxlan, evpn ] + spines: + module: [ ospf, bgp, evpn ] + bgp.rr: True + hosts: + members: [ H1, H2, H3, H4 ] + device: linux + +vlan.mode: bridge +vlans: + orange: + links: [ H1-L1, H2-L3 ] + blue: + links: [ H3-L2, H4-L4 ] + +tools: + graphite: