EBGP Data Center Fabric¶
We want to create EBGP-only leaf-and-spine. The fabric will have two leaves (l1, l2) and two spines (s1, s2).
The only routing protocol running in the network is BGP.
module: [ bgp ]
The default device type is Arista EOS:
defaults:
device: eos
The network topology has four nodes. Each node has a different AS number:
nodes:
s1:
bgp:
as: 65000
s2:
bgp:
as: 65001
l1:
bgp:
as: 65100
l2:
bgp:
as: 65101
The inter-switch links form a leaf-and-spine fabric:
links:
- s1-l1
- s1-l2
- s2-l1
- s2-l2
By default, each switch advertises its loopback interface into BGP (there are no stub links in the network topology).
Resulting Data Structures¶
Data structures generated by the BGP data transformation module include the list of BGP neighbors. Each node has two EBGP neighbors – here is the data structure describing S2:
- bgp:
as: 65001
neighbors:
- as: 65100
ipv4: 10.1.0.9
name: l1
type: ebgp
- as: 65101
ipv4: 10.1.0.13
name: l2
type: ebgp
next_hop_self: true
Resulting Device Configurations¶
The above topology generates the following BGP-related device configuration for S1 (Arista EOS):
router bgp 65000
neighbor 10.1.0.1 remote-as 65100
neighbor 10.1.0.1 description l1
!
neighbor 10.1.0.5 remote-as 65101
neighbor 10.1.0.5 description l2
!
address-family ipv4
!
network 10.0.0.3/32
!
!
neighbor 10.1.0.1 activate
neighbor 10.1.0.5 activate
This is the BGP configuration for an Arista EOS leaf switch:
router bgp 65000
neighbor 10.0.0.3 remote-as 65000
neighbor 10.0.0.3 description s1
neighbor 10.0.0.3 update-source Loopback0
neighbor 10.0.0.3 next-hop-self
!
neighbor 10.0.0.4 remote-as 65000
neighbor 10.0.0.4 description s2
neighbor 10.0.0.4 update-source Loopback0
neighbor 10.0.0.4 next-hop-self
!
address-family ipv4
!
network 10.0.0.2/32
!
!
neighbor 10.0.0.3 activate
neighbor 10.0.0.4 activate
Complete network topology¶
module: [ bgp ]
defaults:
device: eos
nodes:
s1:
bgp:
as: 65000
s2:
bgp:
as: 65001
l1:
bgp:
as: 65100
l2:
bgp:
as: 65101
links:
- s1-l1
- s1-l2
- s2-l1
- s2-l2