Skip to content

Commit

Permalink
EVPN designs: EBGP everywhere
Browse files Browse the repository at this point in the history
  • Loading branch information
ipspace committed Oct 5, 2024
1 parent bf2efbe commit ae66c02
Show file tree
Hide file tree
Showing 21 changed files with 1,815 additions and 1 deletion.
7 changes: 7 additions & 0 deletions EVPN/ebgp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# EVPN Designs: EBGP Everywhere

This directory contains the lab topology described in the [EVPN Designs: EBGP Everywhere
](https://blog.ipspace.net/2024/10/evpn-designs-ebgp/) 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)
128 changes: 128 additions & 0 deletions EVPN/ebgp/eos/L1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
! 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$CoJ4wTt9c8SvgNC7$Adzox68P8eCY0HeUvTDJdnROSFG9QK892co/NSMR8Qm90bCPt8AQ29nQhPp6WBVOrUXZY0j1HnNK0R/YQt2ud1
!
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
ip host L3 10.0.0.3
ip host L4 10.0.0.4
ip host S1 10.0.0.5
ip host S2 10.0.0.6
!
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
!
aaa authorization exec default local
!
interface Ethernet1
description L1 -> S1 [external]
mac-address 52:dc:ca:fe:01:01
no switchport
ip address unnumbered Loopback0
ipv6 enable
ipv6 nd ra interval msec 5000
!
interface Ethernet2
description L1 -> S2 [external]
mac-address 52:dc:ca:fe:01:02
no switchport
ip address unnumbered Loopback0
ipv6 enable
ipv6 nd ra interval msec 5000
!
interface Ethernet3
mac-address 52:dc:ca:fe:01:03
switchport access vlan 1000
!
interface Loopback0
ip address 10.0.0.1/32
!
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 ipv6 interfaces
no ip routing vrf management
!
ipv6 unicast-routing
!
ip route vrf management 0.0.0.0/0 192.168.121.1
!
router bgp 65001
router-id 10.0.0.1
no bgp default ipv4-unicast
bgp advertise-inactive
neighbor ebgp_intf_Ethernet1 peer group
neighbor ebgp_intf_Ethernet1 remote-as 65100
neighbor ebgp_intf_Ethernet1 description S1
neighbor ebgp_intf_Ethernet1 send-community standard extended large
neighbor ebgp_intf_Ethernet2 peer group
neighbor ebgp_intf_Ethernet2 remote-as 65100
neighbor ebgp_intf_Ethernet2 description S2
neighbor ebgp_intf_Ethernet2 send-community standard extended large
neighbor interface Et1 peer-group ebgp_intf_Ethernet1
neighbor interface Et2 peer-group ebgp_intf_Ethernet2
!
vlan 1000
rd 10.0.0.1:1000
route-target import 65000:1000
route-target export 65000:1000
redistribute learned
!
address-family evpn
neighbor ebgp_intf_Ethernet1 activate
neighbor ebgp_intf_Ethernet2 activate
!
address-family ipv4
neighbor ebgp_intf_Ethernet1 activate
neighbor ebgp_intf_Ethernet1 next-hop address-family ipv6 originate
neighbor ebgp_intf_Ethernet2 activate
neighbor ebgp_intf_Ethernet2 next-hop address-family ipv6 originate
network 10.0.0.1/32
!
end
128 changes: 128 additions & 0 deletions EVPN/ebgp/eos/L2.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
! 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$dsK50dJIk9O32009$Af6kyT/sny5uRtM4YQgssbH1CBXNUi7oC.ePAGdBV4QEUBz8M4gJzMJFOgFQBIXdTtgpqOJxwKBfqoCbtiNdf0
!
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
ip host L3 10.0.0.3
ip host L4 10.0.0.4
ip host S1 10.0.0.5
ip host S2 10.0.0.6
!
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
!
aaa authorization exec default local
!
interface Ethernet1
description L2 -> S1 [external]
mac-address 52:dc:ca:fe:02:01
no switchport
ip address unnumbered Loopback0
ipv6 enable
ipv6 nd ra interval msec 5000
!
interface Ethernet2
description L2 -> S2 [external]
mac-address 52:dc:ca:fe:02:02
no switchport
ip address unnumbered Loopback0
ipv6 enable
ipv6 nd ra interval msec 5000
!
interface Ethernet3
mac-address 52:dc:ca:fe:02:03
switchport access vlan 1001
!
interface Loopback0
ip address 10.0.0.2/32
!
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 ipv6 interfaces
no ip routing vrf management
!
ipv6 unicast-routing
!
ip route vrf management 0.0.0.0/0 192.168.121.1
!
router bgp 65002
router-id 10.0.0.2
no bgp default ipv4-unicast
bgp advertise-inactive
neighbor ebgp_intf_Ethernet1 peer group
neighbor ebgp_intf_Ethernet1 remote-as 65100
neighbor ebgp_intf_Ethernet1 description S1
neighbor ebgp_intf_Ethernet1 send-community standard extended large
neighbor ebgp_intf_Ethernet2 peer group
neighbor ebgp_intf_Ethernet2 remote-as 65100
neighbor ebgp_intf_Ethernet2 description S2
neighbor ebgp_intf_Ethernet2 send-community standard extended large
neighbor interface Et1 peer-group ebgp_intf_Ethernet1
neighbor interface Et2 peer-group ebgp_intf_Ethernet2
!
vlan 1001
rd 10.0.0.2:1001
route-target import 65000:1001
route-target export 65000:1001
redistribute learned
!
address-family evpn
neighbor ebgp_intf_Ethernet1 activate
neighbor ebgp_intf_Ethernet2 activate
!
address-family ipv4
neighbor ebgp_intf_Ethernet1 activate
neighbor ebgp_intf_Ethernet1 next-hop address-family ipv6 originate
neighbor ebgp_intf_Ethernet2 activate
neighbor ebgp_intf_Ethernet2 next-hop address-family ipv6 originate
network 10.0.0.2/32
!
end
128 changes: 128 additions & 0 deletions EVPN/ebgp/eos/L3.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
! 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$uu7AJg9PFi0HxULE$nDoYMoUQVs2b4jQxCl1AoNqyuVQPSNz9ho6GXtKvG1kfkiOV37BGRWH8ECJVbFNwBYHBYk6KU6NjcgGGq7beI.
!
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
ip host L2 10.0.0.2
ip host L4 10.0.0.4
ip host S1 10.0.0.5
ip host S2 10.0.0.6
!
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
!
aaa authorization exec default local
!
interface Ethernet1
description L3 -> S1 [external]
mac-address 52:dc:ca:fe:03:01
no switchport
ip address unnumbered Loopback0
ipv6 enable
ipv6 nd ra interval msec 5000
!
interface Ethernet2
description L3 -> S2 [external]
mac-address 52:dc:ca:fe:03:02
no switchport
ip address unnumbered Loopback0
ipv6 enable
ipv6 nd ra interval msec 5000
!
interface Ethernet3
mac-address 52:dc:ca:fe:03:03
switchport access vlan 1000
!
interface Loopback0
ip address 10.0.0.3/32
!
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 ipv6 interfaces
no ip routing vrf management
!
ipv6 unicast-routing
!
ip route vrf management 0.0.0.0/0 192.168.121.1
!
router bgp 65003
router-id 10.0.0.3
no bgp default ipv4-unicast
bgp advertise-inactive
neighbor ebgp_intf_Ethernet1 peer group
neighbor ebgp_intf_Ethernet1 remote-as 65100
neighbor ebgp_intf_Ethernet1 description S1
neighbor ebgp_intf_Ethernet1 send-community standard extended large
neighbor ebgp_intf_Ethernet2 peer group
neighbor ebgp_intf_Ethernet2 remote-as 65100
neighbor ebgp_intf_Ethernet2 description S2
neighbor ebgp_intf_Ethernet2 send-community standard extended large
neighbor interface Et1 peer-group ebgp_intf_Ethernet1
neighbor interface Et2 peer-group ebgp_intf_Ethernet2
!
vlan 1000
rd 10.0.0.3:1000
route-target import 65000:1000
route-target export 65000:1000
redistribute learned
!
address-family evpn
neighbor ebgp_intf_Ethernet1 activate
neighbor ebgp_intf_Ethernet2 activate
!
address-family ipv4
neighbor ebgp_intf_Ethernet1 activate
neighbor ebgp_intf_Ethernet1 next-hop address-family ipv6 originate
neighbor ebgp_intf_Ethernet2 activate
neighbor ebgp_intf_Ethernet2 next-hop address-family ipv6 originate
network 10.0.0.3/32
!
end
Loading

0 comments on commit ae66c02

Please sign in to comment.