build(infrahub): update file paths to match new directory structure

Refactor the .infrahub.yml configuration file to prefix all schema, menu, and object paths with the 'infrahub/' directory. This change aligns the configuration with the reorganized project structure where Infrahub resources have been moved into a dedicated subfolder.
This commit is contained in:
Damien
2026-02-20 18:33:37 +01:00
parent b042e13b38
commit 1b25c92965
21 changed files with 15 additions and 15 deletions

View File

@@ -0,0 +1,44 @@
# Foundation objects: Site, Platform, Autonomous Systems
# Must be loaded first — referenced by all subsequent files
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: LocationSite
data:
- name: dc1
description: Primary data center
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraPlatform
data:
- name: arista_eos
description: Arista EOS
napalm_driver: eos
netmiko_device_type: arista_eos
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraAutonomousSystem
data:
- asn: 64999
description: Router for VRF gold external peering
as_type: private
- asn: 65000
description: Spine AS
as_type: private
- asn: 65001
description: Leaf pair 1 (leaf1/leaf2)
as_type: private
- asn: 65002
description: Leaf pair 2 (leaf3/leaf4)
as_type: private
- asn: 65003
description: Leaf pair 3 (leaf5/leaf6)
as_type: private
- asn: 65004
description: Leaf pair 4 (leaf7/leaf8)
as_type: private

View File

@@ -0,0 +1,15 @@
# Fabric definition — depends on LocationSite and InfraAutonomousSystem from 01-foundation
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraFabric
data:
- name: evpn-lab
description: Arista EVPN-VXLAN reference fabric
underlay_protocol: ebgp
overlay_protocol: evpn
anycast_gateway_mac: "c001.cafe.babe"
spine_asn: ["65000"]
sites:
- ["dc1"]

View File

@@ -0,0 +1,83 @@
# Devices: 2 spines + 8 leafs
# Depends on: 01-foundation (Platform, Site, AutonomousSystem)
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraDevice
data:
# Spines
- name: spine1
description: Spine1 - BGP EVPN Spine
role: spine
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65000"]
- name: spine2
description: Spine2 - BGP EVPN Spine
role: spine
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65000"]
# Leaf pair 1 (VTEP1)
- name: leaf1
description: Leaf1 - VTEP1
role: leaf
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65001"]
- name: leaf2
description: Leaf2 - VTEP1
role: leaf
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65001"]
# Leaf pair 2 (VTEP2)
- name: leaf3
description: Leaf3 - VTEP2
role: leaf
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65002"]
- name: leaf4
description: Leaf4 - VTEP2
role: leaf
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65002"]
# Leaf pair 3 (VTEP3)
- name: leaf5
description: Leaf5 - VTEP3
role: leaf
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65003"]
- name: leaf6
description: Leaf6 - VTEP3
role: leaf
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65003"]
# Leaf pair 4 (VTEP4)
- name: leaf7
description: Leaf7 - VTEP4
role: leaf
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65004"]
- name: leaf8
description: Leaf8 - VTEP4
role: leaf
status: active
platform: ["arista_eos"]
site: ["dc1"]
asn: ["65004"]

View File

@@ -0,0 +1,492 @@
# Interfaces: Loopback, Ethernet, LAG (Port-Channel), VLAN SVIs
# Depends on: 02-devices
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraInterfaceLoopback
data:
# Spine loopbacks (Lo0 only)
- device: ["spine1"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["spine2"]
name: Loopback0
description: Router-ID
enabled: true
# Leaf loopbacks (Lo0 + Lo1)
- device: ["leaf1"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["leaf1"]
name: Loopback1
description: VTEP
enabled: true
- device: ["leaf2"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["leaf2"]
name: Loopback1
description: VTEP
enabled: true
- device: ["leaf3"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["leaf3"]
name: Loopback1
description: VTEP
enabled: true
- device: ["leaf4"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["leaf4"]
name: Loopback1
description: VTEP
enabled: true
- device: ["leaf5"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["leaf5"]
name: Loopback1
description: VTEP
enabled: true
- device: ["leaf6"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["leaf6"]
name: Loopback1
description: VTEP
enabled: true
- device: ["leaf7"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["leaf7"]
name: Loopback1
description: VTEP
enabled: true
- device: ["leaf8"]
name: Loopback0
description: Router-ID
enabled: true
- device: ["leaf8"]
name: Loopback1
description: VTEP
enabled: true
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraInterfaceLag
data:
# Port-Channel999 — MLAG peer-link (all leafs)
- device: ["leaf1"]
name: Port-Channel999
description: MLAG Peer
enabled: true
lacp_mode: active
- device: ["leaf2"]
name: Port-Channel999
description: MLAG Peer
enabled: true
lacp_mode: active
- device: ["leaf3"]
name: Port-Channel999
description: MLAG Peer
enabled: true
lacp_mode: active
- device: ["leaf4"]
name: Port-Channel999
description: MLAG Peer
enabled: true
lacp_mode: active
- device: ["leaf5"]
name: Port-Channel999
description: MLAG Peer
enabled: true
lacp_mode: active
- device: ["leaf6"]
name: Port-Channel999
description: MLAG Peer
enabled: true
lacp_mode: active
- device: ["leaf7"]
name: Port-Channel999
description: MLAG Peer
enabled: true
lacp_mode: active
- device: ["leaf8"]
name: Port-Channel999
description: MLAG Peer
enabled: true
lacp_mode: active
# Port-Channel1 — Host-facing MLAG LAG (all leafs)
- device: ["leaf1"]
name: Port-Channel1
description: host1
enabled: true
lacp_mode: active
mlag_id: 1
- device: ["leaf2"]
name: Port-Channel1
description: host1
enabled: true
lacp_mode: active
mlag_id: 1
- device: ["leaf3"]
name: Port-Channel1
description: host2
enabled: true
lacp_mode: active
mlag_id: 1
- device: ["leaf4"]
name: Port-Channel1
description: host2
enabled: true
lacp_mode: active
mlag_id: 1
- device: ["leaf5"]
name: Port-Channel1
description: host3
enabled: true
lacp_mode: active
mlag_id: 1
- device: ["leaf6"]
name: Port-Channel1
description: host3
enabled: true
lacp_mode: active
mlag_id: 1
- device: ["leaf7"]
name: Port-Channel1
description: host4
enabled: true
lacp_mode: active
mlag_id: 1
- device: ["leaf8"]
name: Port-Channel1
description: host4
enabled: true
lacp_mode: active
mlag_id: 1
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraInterfaceEthernet
data:
# ============================================================
# Spine1 Ethernet interfaces (underlay to leafs)
# ============================================================
- device: ["spine1"]
name: Ethernet1
description: leaf1
enabled: true
mtu: 9214
mode: routed
- device: ["spine1"]
name: Ethernet2
description: leaf2
enabled: true
mtu: 9214
mode: routed
- device: ["spine1"]
name: Ethernet3
description: leaf3
enabled: true
mtu: 9214
mode: routed
- device: ["spine1"]
name: Ethernet4
description: leaf4
enabled: true
mtu: 9214
mode: routed
- device: ["spine1"]
name: Ethernet5
description: leaf5
enabled: true
mtu: 9214
mode: routed
- device: ["spine1"]
name: Ethernet6
description: leaf6
enabled: true
mtu: 9214
mode: routed
- device: ["spine1"]
name: Ethernet7
description: leaf7
enabled: true
mtu: 9214
mode: routed
- device: ["spine1"]
name: Ethernet8
description: leaf8
enabled: true
mtu: 9214
mode: routed
# ============================================================
# Spine2 Ethernet interfaces (underlay to leafs)
# ============================================================
- device: ["spine2"]
name: Ethernet1
description: leaf1
enabled: true
mtu: 9214
mode: routed
- device: ["spine2"]
name: Ethernet2
description: leaf2
enabled: true
mtu: 9214
mode: routed
- device: ["spine2"]
name: Ethernet3
description: leaf3
enabled: true
mtu: 9214
mode: routed
- device: ["spine2"]
name: Ethernet4
description: leaf4
enabled: true
mtu: 9214
mode: routed
- device: ["spine2"]
name: Ethernet5
description: leaf5
enabled: true
mtu: 9214
mode: routed
- device: ["spine2"]
name: Ethernet6
description: leaf6
enabled: true
mtu: 9214
mode: routed
- device: ["spine2"]
name: Ethernet7
description: leaf7
enabled: true
mtu: 9214
mode: routed
- device: ["spine2"]
name: Ethernet8
description: leaf8
enabled: true
mtu: 9214
mode: routed
# ============================================================
# Leaf Ethernet interfaces
# Each leaf has: Ethernet1 (host), Ethernet10 (mlag peer-link),
# Ethernet11 (spine1), Ethernet12 (spine2)
# ============================================================
# Leaf1
- device: ["leaf1"]
name: Ethernet1
description: host1
enabled: true
mode: trunk
lag: ["leaf1", "Port-Channel1"]
- device: ["leaf1"]
name: Ethernet10
description: mlag peer link
enabled: true
mode: trunk
lag: ["leaf1", "Port-Channel999"]
- device: ["leaf1"]
name: Ethernet11
description: spine1
enabled: true
mtu: 9214
mode: routed
- device: ["leaf1"]
name: Ethernet12
description: spine2
enabled: true
mtu: 9214
mode: routed
# Leaf2
- device: ["leaf2"]
name: Ethernet1
description: host1
enabled: true
mode: trunk
lag: ["leaf2", "Port-Channel1"]
- device: ["leaf2"]
name: Ethernet10
description: mlag peer link
enabled: true
mode: trunk
lag: ["leaf2", "Port-Channel999"]
- device: ["leaf2"]
name: Ethernet11
description: spine1
enabled: true
mtu: 9214
mode: routed
- device: ["leaf2"]
name: Ethernet12
description: spine2
enabled: true
mtu: 9214
mode: routed
# Leaf3
- device: ["leaf3"]
name: Ethernet1
description: host2
enabled: true
mode: trunk
lag: ["leaf3", "Port-Channel1"]
- device: ["leaf3"]
name: Ethernet10
description: mlag peer link
enabled: true
mode: trunk
lag: ["leaf3", "Port-Channel999"]
- device: ["leaf3"]
name: Ethernet11
description: spine1
enabled: true
mtu: 9214
mode: routed
- device: ["leaf3"]
name: Ethernet12
description: spine2
enabled: true
mtu: 9214
mode: routed
# Leaf4
- device: ["leaf4"]
name: Ethernet1
description: host2
enabled: true
mode: trunk
lag: ["leaf4", "Port-Channel1"]
- device: ["leaf4"]
name: Ethernet10
description: mlag peer link
enabled: true
mode: trunk
lag: ["leaf4", "Port-Channel999"]
- device: ["leaf4"]
name: Ethernet11
description: spine1
enabled: true
mtu: 9214
mode: routed
- device: ["leaf4"]
name: Ethernet12
description: spine2
enabled: true
mtu: 9214
mode: routed
# Leaf5
- device: ["leaf5"]
name: Ethernet1
description: host3
enabled: true
mode: trunk
lag: ["leaf5", "Port-Channel1"]
- device: ["leaf5"]
name: Ethernet10
description: mlag peer link
enabled: true
mode: trunk
lag: ["leaf5", "Port-Channel999"]
- device: ["leaf5"]
name: Ethernet11
description: spine1
enabled: true
mtu: 9214
mode: routed
- device: ["leaf5"]
name: Ethernet12
description: spine2
enabled: true
mtu: 9214
mode: routed
# Leaf6
- device: ["leaf6"]
name: Ethernet1
description: host3
enabled: true
mode: trunk
lag: ["leaf6", "Port-Channel1"]
- device: ["leaf6"]
name: Ethernet10
description: mlag peer link
enabled: true
mode: trunk
lag: ["leaf6", "Port-Channel999"]
- device: ["leaf6"]
name: Ethernet11
description: spine1
enabled: true
mtu: 9214
mode: routed
- device: ["leaf6"]
name: Ethernet12
description: spine2
enabled: true
mtu: 9214
mode: routed
# Leaf7
- device: ["leaf7"]
name: Ethernet1
description: host4
enabled: true
mode: trunk
lag: ["leaf7", "Port-Channel1"]
- device: ["leaf7"]
name: Ethernet10
description: mlag peer link
enabled: true
mode: trunk
lag: ["leaf7", "Port-Channel999"]
- device: ["leaf7"]
name: Ethernet11
description: spine1
enabled: true
mtu: 9214
mode: routed
- device: ["leaf7"]
name: Ethernet12
description: spine2
enabled: true
mtu: 9214
mode: routed
# Leaf8
- device: ["leaf8"]
name: Ethernet1
description: host4
enabled: true
mode: trunk
lag: ["leaf8", "Port-Channel1"]
- device: ["leaf8"]
name: Ethernet10
description: mlag peer link
enabled: true
mode: trunk
lag: ["leaf8", "Port-Channel999"]
- device: ["leaf8"]
name: Ethernet11
description: spine1
enabled: true
mtu: 9214
mode: routed
- device: ["leaf8"]
name: Ethernet12
description: spine2
enabled: true
mtu: 9214
mode: routed

View File

@@ -0,0 +1,132 @@
# IP Addresses: Loopbacks, P2P underlay links, MLAG SVIs, VRF SVIs
# Depends on: 03-interfaces
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraIPAddress
data:
# ============================================================
# Loopback0 addresses (Router-ID) — /32
# ============================================================
- address: "10.0.250.1/32"
description: spine1 Router-ID
- address: "10.0.250.2/32"
description: spine2 Router-ID
- address: "10.0.250.11/32"
description: leaf1 Router-ID
- address: "10.0.250.12/32"
description: leaf2 Router-ID
- address: "10.0.250.13/32"
description: leaf3 Router-ID
- address: "10.0.250.14/32"
description: leaf4 Router-ID
- address: "10.0.250.15/32"
description: leaf5 Router-ID
- address: "10.0.250.16/32"
description: leaf6 Router-ID
- address: "10.0.250.17/32"
description: leaf7 Router-ID
- address: "10.0.250.18/32"
description: leaf8 Router-ID
# ============================================================
# Loopback1 addresses (VTEP) — /32
# ============================================================
- address: "10.0.255.11/32"
description: leaf1 VTEP (shared VTEP1)
- address: "10.0.255.11/32"
description: leaf2 VTEP (shared VTEP1)
- address: "10.0.255.12/32"
description: leaf3 VTEP (shared VTEP2)
- address: "10.0.255.12/32"
description: leaf4 VTEP (shared VTEP2)
- address: "10.0.255.13/32"
description: leaf5 VTEP (shared VTEP3)
- address: "10.0.255.13/32"
description: leaf6 VTEP (shared VTEP3)
- address: "10.0.255.14/32"
description: leaf7 VTEP (shared VTEP4)
- address: "10.0.255.14/32"
description: leaf8 VTEP (shared VTEP4)
# ============================================================
# Spine1 P2P underlay — /31
# ============================================================
- address: "10.0.1.0/31"
description: spine1 Ethernet1 to leaf1
- address: "10.0.1.2/31"
description: spine1 Ethernet2 to leaf2
- address: "10.0.1.4/31"
description: spine1 Ethernet3 to leaf3
- address: "10.0.1.6/31"
description: spine1 Ethernet4 to leaf4
- address: "10.0.1.8/31"
description: spine1 Ethernet5 to leaf5
- address: "10.0.1.10/31"
description: spine1 Ethernet6 to leaf6
- address: "10.0.1.12/31"
description: spine1 Ethernet7 to leaf7
- address: "10.0.1.14/31"
description: spine1 Ethernet8 to leaf8
# ============================================================
# Spine2 P2P underlay — /31
# ============================================================
- address: "10.0.2.0/31"
description: spine2 Ethernet1 to leaf1
- address: "10.0.2.2/31"
description: spine2 Ethernet2 to leaf2
- address: "10.0.2.4/31"
description: spine2 Ethernet3 to leaf3
- address: "10.0.2.6/31"
description: spine2 Ethernet4 to leaf4
- address: "10.0.2.8/31"
description: spine2 Ethernet5 to leaf5
- address: "10.0.2.10/31"
description: spine2 Ethernet6 to leaf6
- address: "10.0.2.12/31"
description: spine2 Ethernet7 to leaf7
- address: "10.0.2.14/31"
description: spine2 Ethernet8 to leaf8
# ============================================================
# Leaf P2P underlay (leaf side) — /31
# ============================================================
# Leaf1
- address: "10.0.1.1/31"
description: leaf1 Ethernet11 to spine1
- address: "10.0.2.1/31"
description: leaf1 Ethernet12 to spine2
# Leaf2
- address: "10.0.1.3/31"
description: leaf2 Ethernet11 to spine1
- address: "10.0.2.3/31"
description: leaf2 Ethernet12 to spine2
# Leaf3
- address: "10.0.1.5/31"
description: leaf3 Ethernet11 to spine1
- address: "10.0.2.5/31"
description: leaf3 Ethernet12 to spine2
# Leaf4
- address: "10.0.1.7/31"
description: leaf4 Ethernet11 to spine1
- address: "10.0.2.7/31"
description: leaf4 Ethernet12 to spine2
# Leaf5
- address: "10.0.1.9/31"
description: leaf5 Ethernet11 to spine1
- address: "10.0.2.9/31"
description: leaf5 Ethernet12 to spine2
# Leaf6
- address: "10.0.1.11/31"
description: leaf6 Ethernet11 to spine1
- address: "10.0.2.11/31"
description: leaf6 Ethernet12 to spine2
# Leaf7
- address: "10.0.1.13/31"
description: leaf7 Ethernet11 to spine1
- address: "10.0.2.13/31"
description: leaf7 Ethernet12 to spine2
# Leaf8
- address: "10.0.1.15/31"
description: leaf8 Ethernet11 to spine1
- address: "10.0.2.15/31"
description: leaf8 Ethernet12 to spine2

View File

@@ -0,0 +1,167 @@
# VLANs, VNIs, VTEPs, VLAN-VNI mappings, EVPN instances
# Depends on: 02-devices, 03-interfaces
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraVLAN
data:
- vlan_id: 34
name: vrf-gold-subnet
description: VRF gold L3 subnet (leaf3/leaf4)
status: active
vlan_type: standard
- vlan_id: 40
name: test-l2-vxlan
description: L2 VXLAN test VLAN
status: active
vlan_type: standard
- vlan_id: 78
name: vrf-gold-subnet
description: VRF gold L3 subnet (leaf7/leaf8)
status: active
vlan_type: standard
- vlan_id: 900
name: bgp-border
description: BGP border peering VLAN
status: active
vlan_type: standard
- vlan_id: 4090
name: mlag-peer
description: MLAG peer-link control
status: active
vlan_type: mlag_peer
trunk_groups:
- mlag-peer
stp_enabled: false
- vlan_id: 4091
name: mlag-ibgp
description: MLAG iBGP peering
status: active
vlan_type: mlag_ibgp
trunk_groups:
- mlag-peer
stp_enabled: false
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraVNI
data:
- vni: 110040
description: L2VNI for VLAN 40 (test-l2-vxlan)
vni_type: l2vni
vlan: ["40"]
- vni: 100001
description: L3VNI for VRF gold
vni_type: l3vni
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraVTEP
data:
# VTEP on leaf1 (shared VTEP1 IP 10.0.255.11)
- device: ["leaf1"]
source_address: "10.0.255.11"
udp_port: 4789
learn_restrict: any
source_interface: ["leaf1", "Loopback1"]
# VTEP on leaf2 (shared VTEP1 IP 10.0.255.11)
- device: ["leaf2"]
source_address: "10.0.255.11"
udp_port: 4789
learn_restrict: any
source_interface: ["leaf2", "Loopback1"]
# VTEP on leaf3 (shared VTEP2 IP 10.0.255.12)
- device: ["leaf3"]
source_address: "10.0.255.12"
udp_port: 4789
learn_restrict: any
source_interface: ["leaf3", "Loopback1"]
# VTEP on leaf4 (shared VTEP2 IP 10.0.255.12)
- device: ["leaf4"]
source_address: "10.0.255.12"
udp_port: 4789
learn_restrict: any
source_interface: ["leaf4", "Loopback1"]
# VTEP on leaf5 (shared VTEP3 IP 10.0.255.13)
- device: ["leaf5"]
source_address: "10.0.255.13"
udp_port: 4789
learn_restrict: any
source_interface: ["leaf5", "Loopback1"]
# VTEP on leaf6 (shared VTEP3 IP 10.0.255.13)
- device: ["leaf6"]
source_address: "10.0.255.13"
udp_port: 4789
learn_restrict: any
source_interface: ["leaf6", "Loopback1"]
# VTEP on leaf7 (shared VTEP4 IP 10.0.255.14)
- device: ["leaf7"]
source_address: "10.0.255.14"
udp_port: 4789
learn_restrict: any
source_interface: ["leaf7", "Loopback1"]
# VTEP on leaf8 (shared VTEP4 IP 10.0.255.14)
- device: ["leaf8"]
source_address: "10.0.255.14"
udp_port: 4789
learn_restrict: any
source_interface: ["leaf8", "Loopback1"]
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraVlanVniMapping
data:
# VLAN 40 <-> VNI 110040 on leaf1/2/5/6 (L2 VXLAN leafs)
- vtep: ["leaf1"]
vlan: ["40"]
vni: ["110040"]
description: "VLAN 40 <-> VNI 110040"
- vtep: ["leaf2"]
vlan: ["40"]
vni: ["110040"]
description: "VLAN 40 <-> VNI 110040"
- vtep: ["leaf5"]
vlan: ["40"]
vni: ["110040"]
description: "VLAN 40 <-> VNI 110040"
- vtep: ["leaf6"]
vlan: ["40"]
vni: ["110040"]
description: "VLAN 40 <-> VNI 110040"
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraEVPNInstance
data:
# EVPN instance for VLAN 40 on L2 VXLAN leafs
# leaf1: rd 65001:110040, rt both 40:110040
- device: ["leaf1"]
vlan: ["40"]
route_distinguisher: "65001:110040"
route_target_import: "40:110040"
route_target_export: "40:110040"
redistribute_learned: true
- device: ["leaf2"]
vlan: ["40"]
route_distinguisher: "65001:110040"
route_target_import: "40:110040"
route_target_export: "40:110040"
redistribute_learned: true
# leaf5/6: rd 65003:110040, rt both 40:110040
- device: ["leaf5"]
vlan: ["40"]
route_distinguisher: "65003:110040"
route_target_import: "40:110040"
route_target_export: "40:110040"
redistribute_learned: true
- device: ["leaf6"]
vlan: ["40"]
route_distinguisher: "65003:110040"
route_target_import: "40:110040"
route_target_export: "40:110040"
redistribute_learned: true

View File

@@ -0,0 +1,143 @@
# VLAN SVI interfaces
# Depends on: 03-devices, 06-vlans-vxlan (VLANs must exist)
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraInterfaceVlan
data:
# Vlan4090 — MLAG Peer-Link SVI (all leafs)
- device: ["leaf1"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf2"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf3"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf4"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf5"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf6"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf7"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf8"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
# Vlan4091 — MLAG iBGP Peering SVI (all leafs)
- device: ["leaf1"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf2"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf3"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf4"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf5"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf6"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf7"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf8"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
# Vlan34 — VRF gold subnet (leaf3/leaf4)
- device: ["leaf3"]
name: Vlan34
description: VRF gold subnet
enabled: true
virtual_router_address: "10.34.34.1"
vlan: ["34"]
- device: ["leaf4"]
name: Vlan34
description: VRF gold subnet
enabled: true
virtual_router_address: "10.34.34.1"
vlan: ["34"]
# Vlan78 — VRF gold subnet (leaf7/leaf8)
- device: ["leaf7"]
name: Vlan78
description: VRF gold subnet
enabled: true
virtual_router_address: "10.78.78.1"
vlan: ["78"]
- device: ["leaf8"]
name: Vlan78
description: VRF gold subnet
enabled: true
virtual_router_address: "10.78.78.1"
vlan: ["78"]
# Vlan900 — BGP border peering (leaf7/leaf8)
- device: ["leaf7"]
name: Vlan900
description: BGP border peering
enabled: true
vlan: ["900"]
- device: ["leaf8"]
name: Vlan900
description: BGP border peering
enabled: true
vlan: ["900"]

View File

@@ -0,0 +1,64 @@
# IP Addresses for VLAN SVI interfaces
# Depends on: 07-interface-vlans (Vlan SVIs must exist)
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraIPAddress
data:
# ============================================================
# MLAG Peer-Link SVI (Vlan4090) — /31
# ============================================================
- address: "10.0.199.254/31"
description: leaf1 MLAG peer-link
- address: "10.0.199.255/31"
description: leaf2 MLAG peer-link
- address: "10.0.199.252/31"
description: leaf3 MLAG peer-link
- address: "10.0.199.253/31"
description: leaf4 MLAG peer-link
- address: "10.0.199.250/31"
description: leaf5 MLAG peer-link
- address: "10.0.199.251/31"
description: leaf6 MLAG peer-link
- address: "10.0.199.248/31"
description: leaf7 MLAG peer-link
- address: "10.0.199.249/31"
description: leaf8 MLAG peer-link
# ============================================================
# MLAG iBGP Peering SVI (Vlan4091) — /31
# ============================================================
- address: "10.0.3.0/31"
description: leaf1 MLAG iBGP peering
- address: "10.0.3.1/31"
description: leaf2 MLAG iBGP peering
- address: "10.0.3.2/31"
description: leaf3 MLAG iBGP peering
- address: "10.0.3.3/31"
description: leaf4 MLAG iBGP peering
- address: "10.0.3.4/31"
description: leaf5 MLAG iBGP peering
- address: "10.0.3.5/31"
description: leaf6 MLAG iBGP peering
- address: "10.0.3.6/31"
description: leaf7 MLAG iBGP peering
- address: "10.0.3.7/31"
description: leaf8 MLAG iBGP peering
# ============================================================
# VRF gold SVI addresses — /24
# ============================================================
# Vlan34 (leaf3/leaf4)
- address: "10.34.34.2/24"
description: leaf3 Vlan34 VRF gold
- address: "10.34.34.3/24"
description: leaf4 Vlan34 VRF gold
# Vlan78 (leaf7/leaf8)
- address: "10.78.78.2/24"
description: leaf7 Vlan78 VRF gold
- address: "10.78.78.3/24"
description: leaf8 Vlan78 VRF gold
# Vlan900 — BGP border (leaf7/leaf8)
- address: "10.90.90.2/29"
description: leaf7 Vlan900 BGP border
- address: "10.90.90.3/29"
description: leaf8 Vlan900 BGP border

411
infrahub/objects/09-bgp.yml Normal file
View File

@@ -0,0 +1,411 @@
# BGP: RouterConfig, PeerGroups, Sessions, AddressFamilies
# Depends on: 01-foundation (ASNs), 02-devices, 04-ipam
#
# Spine BGP: no named peer-groups in config (neighbors defined directly),
# but evpn peer-group is defined. Underlay neighbors are direct.
# Leaf BGP: underlay, underlay_ibgp, evpn peer-groups.
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraBGPRouterConfig
data:
# ============================================================
# Spine1 BGP — AS 65000, router-id 10.0.250.1
# ============================================================
- device: ["spine1"]
router_id: "10.0.250.1"
local_asn: ["65000"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Spine2 BGP — AS 65000, router-id 10.0.250.2
# ============================================================
- device: ["spine2"]
router_id: "10.0.250.2"
local_asn: ["65000"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Leaf1 BGP — AS 65001, router-id 10.0.250.11
# ============================================================
- device: ["leaf1"]
router_id: "10.0.250.11"
local_asn: ["65001"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Leaf2 BGP — AS 65001, router-id 10.0.250.12
# ============================================================
- device: ["leaf2"]
router_id: "10.0.250.12"
local_asn: ["65001"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Leaf3 BGP — AS 65002, router-id 10.0.250.13
# ============================================================
- device: ["leaf3"]
router_id: "10.0.250.13"
local_asn: ["65002"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Leaf4 BGP — AS 65002, router-id 10.0.250.14
# ============================================================
- device: ["leaf4"]
router_id: "10.0.250.14"
local_asn: ["65002"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Leaf5 BGP — AS 65003, router-id 10.0.250.15
# ============================================================
- device: ["leaf5"]
router_id: "10.0.250.15"
local_asn: ["65003"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Leaf6 BGP — AS 65003, router-id 10.0.250.16
# ============================================================
- device: ["leaf6"]
router_id: "10.0.250.16"
local_asn: ["65003"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Leaf7 BGP — AS 65004, router-id 10.0.250.17
# ============================================================
- device: ["leaf7"]
router_id: "10.0.250.17"
local_asn: ["65004"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
# ============================================================
# Leaf8 BGP — AS 65004, router-id 10.0.250.18
# ============================================================
- device: ["leaf8"]
router_id: "10.0.250.18"
local_asn: ["65004"]
default_ipv4_unicast: false
log_neighbor_changes: true
ecmp_max_paths: 4
ecmp_max_ecmp: 64
ebgp_distance: 20
ibgp_distance: 200
local_distance: 200
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraBGPPeerGroup
data:
# ============================================================
# Spine peer-groups (evpn only — underlay neighbors are direct)
# ============================================================
# Spine1 — evpn peer-group
- bgp_config: ["spine1"]
local_identifier: "spine1__evpn"
name: evpn
description: EVPN overlay to leaf loopbacks
peer_group_type: evpn
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
next_hop_unchanged: true
maximum_routes: 12000
maximum_routes_warning_only: true
# Spine2 — evpn peer-group
- bgp_config: ["spine2"]
local_identifier: "spine2__evpn"
name: evpn
description: EVPN overlay to leaf loopbacks
peer_group_type: evpn
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
next_hop_unchanged: true
maximum_routes: 12000
maximum_routes_warning_only: true
# ============================================================
# Leaf peer-groups (underlay, underlay_ibgp, evpn)
# ============================================================
# Leaf1
- bgp_config: ["leaf1"]
local_identifier: "leaf1__underlay"
name: underlay
description: Underlay eBGP to spines
peer_group_type: underlay
remote_asn: ["65000"]
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf1"]
local_identifier: "leaf1__underlay_ibgp"
name: underlay_ibgp
description: MLAG iBGP peering
peer_group_type: underlay_ibgp
remote_asn: ["65001"]
next_hop_self: true
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf1"]
local_identifier: "leaf1__evpn"
name: evpn
description: EVPN overlay to spines
peer_group_type: evpn
remote_asn: ["65000"]
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
maximum_routes: 12000
maximum_routes_warning_only: true
# Leaf2
- bgp_config: ["leaf2"]
local_identifier: "leaf2__underlay"
name: underlay
description: Underlay eBGP to spines
peer_group_type: underlay
remote_asn: ["65000"]
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf2"]
local_identifier: "leaf2__underlay_ibgp"
name: underlay_ibgp
description: MLAG iBGP peering
peer_group_type: underlay_ibgp
remote_asn: ["65001"]
next_hop_self: true
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf2"]
local_identifier: "leaf2__evpn"
name: evpn
description: EVPN overlay to spines
peer_group_type: evpn
remote_asn: ["65000"]
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
maximum_routes: 12000
maximum_routes_warning_only: true
# Leaf3
- bgp_config: ["leaf3"]
local_identifier: "leaf3__underlay"
name: underlay
description: Underlay eBGP to spines
peer_group_type: underlay
remote_asn: ["65000"]
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf3"]
local_identifier: "leaf3__underlay_ibgp"
name: underlay_ibgp
description: MLAG iBGP peering
peer_group_type: underlay_ibgp
remote_asn: ["65002"]
next_hop_self: true
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf3"]
local_identifier: "leaf3__evpn"
name: evpn
description: EVPN overlay to spines
peer_group_type: evpn
remote_asn: ["65000"]
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
maximum_routes: 12000
maximum_routes_warning_only: true
# Leaf4
- bgp_config: ["leaf4"]
local_identifier: "leaf4__underlay"
name: underlay
description: Underlay eBGP to spines
peer_group_type: underlay
remote_asn: ["65000"]
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf4"]
local_identifier: "leaf4__underlay_ibgp"
name: underlay_ibgp
description: MLAG iBGP peering
peer_group_type: underlay_ibgp
remote_asn: ["65002"]
next_hop_self: true
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf4"]
local_identifier: "leaf4__evpn"
name: evpn
description: EVPN overlay to spines
peer_group_type: evpn
remote_asn: ["65000"]
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
maximum_routes: 12000
maximum_routes_warning_only: true
# Leaf5
- bgp_config: ["leaf5"]
local_identifier: "leaf5__underlay"
name: underlay
description: Underlay eBGP to spines
peer_group_type: underlay
remote_asn: ["65000"]
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf5"]
local_identifier: "leaf5__underlay_ibgp"
name: underlay_ibgp
description: MLAG iBGP peering
peer_group_type: underlay_ibgp
remote_asn: ["65003"]
next_hop_self: true
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf5"]
local_identifier: "leaf5__evpn"
name: evpn
description: EVPN overlay to spines
peer_group_type: evpn
remote_asn: ["65000"]
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
maximum_routes: 12000
maximum_routes_warning_only: true
# Leaf6
- bgp_config: ["leaf6"]
local_identifier: "leaf6__underlay"
name: underlay
description: Underlay eBGP to spines
peer_group_type: underlay
remote_asn: ["65000"]
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf6"]
local_identifier: "leaf6__underlay_ibgp"
name: underlay_ibgp
description: MLAG iBGP peering
peer_group_type: underlay_ibgp
remote_asn: ["65003"]
next_hop_self: true
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf6"]
local_identifier: "leaf6__evpn"
name: evpn
description: EVPN overlay to spines
peer_group_type: evpn
remote_asn: ["65000"]
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
maximum_routes: 12000
maximum_routes_warning_only: true
# Leaf7
- bgp_config: ["leaf7"]
local_identifier: "leaf7__underlay"
name: underlay
description: Underlay eBGP to spines
peer_group_type: underlay
remote_asn: ["65000"]
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf7"]
local_identifier: "leaf7__underlay_ibgp"
name: underlay_ibgp
description: MLAG iBGP peering
peer_group_type: underlay_ibgp
remote_asn: ["65004"]
next_hop_self: true
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf7"]
local_identifier: "leaf7__evpn"
name: evpn
description: EVPN overlay to spines
peer_group_type: evpn
remote_asn: ["65000"]
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
maximum_routes: 12000
maximum_routes_warning_only: true
# Leaf8
- bgp_config: ["leaf8"]
local_identifier: "leaf8__underlay"
name: underlay
description: Underlay eBGP to spines
peer_group_type: underlay
remote_asn: ["65000"]
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf8"]
local_identifier: "leaf8__underlay_ibgp"
name: underlay_ibgp
description: MLAG iBGP peering
peer_group_type: underlay_ibgp
remote_asn: ["65004"]
next_hop_self: true
maximum_routes: 12000
maximum_routes_warning_only: true
- bgp_config: ["leaf8"]
local_identifier: "leaf8__evpn"
name: evpn
description: EVPN overlay to spines
peer_group_type: evpn
remote_asn: ["65000"]
update_source: Loopback0
ebgp_multihop: 3
send_community: extended
maximum_routes: 12000
maximum_routes_warning_only: true

View File

@@ -0,0 +1,726 @@
# BGP Sessions and Address Families
# Depends on: 09-bgp (RouterConfig and PeerGroups must exist)
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraBGPSession
data:
# ============================================================
# Spine1 sessions
# ============================================================
# Spine1 underlay (direct neighbors, no peer-group — use remote_asn)
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.1.1"
peer_address: "10.0.1.1"
description: "underlay to leaf1"
remote_asn: ["65001"]
peer_device: ["leaf1"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.1.3"
peer_address: "10.0.1.3"
description: "underlay to leaf2"
remote_asn: ["65001"]
peer_device: ["leaf2"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.1.5"
peer_address: "10.0.1.5"
description: "underlay to leaf3"
remote_asn: ["65002"]
peer_device: ["leaf3"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.1.7"
peer_address: "10.0.1.7"
description: "underlay to leaf4"
remote_asn: ["65002"]
peer_device: ["leaf4"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.1.9"
peer_address: "10.0.1.9"
description: "underlay to leaf5"
remote_asn: ["65003"]
peer_device: ["leaf5"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.1.11"
peer_address: "10.0.1.11"
description: "underlay to leaf6"
remote_asn: ["65003"]
peer_device: ["leaf6"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.1.13"
peer_address: "10.0.1.13"
description: "underlay to leaf7"
remote_asn: ["65004"]
peer_device: ["leaf7"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.1.15"
peer_address: "10.0.1.15"
description: "underlay to leaf8"
remote_asn: ["65004"]
peer_device: ["leaf8"]
# Spine1 EVPN (via evpn peer-group)
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.250.11"
peer_address: "10.0.250.11"
description: "EVPN to leaf1"
peer_group: "spine1__evpn"
remote_asn: ["65001"]
peer_device: ["leaf1"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.250.12"
peer_address: "10.0.250.12"
description: "EVPN to leaf2"
peer_group: "spine1__evpn"
remote_asn: ["65001"]
peer_device: ["leaf2"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.250.13"
peer_address: "10.0.250.13"
description: "EVPN to leaf3"
peer_group: "spine1__evpn"
remote_asn: ["65002"]
peer_device: ["leaf3"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.250.14"
peer_address: "10.0.250.14"
description: "EVPN to leaf4"
peer_group: "spine1__evpn"
remote_asn: ["65002"]
peer_device: ["leaf4"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.250.15"
peer_address: "10.0.250.15"
description: "EVPN to leaf5"
peer_group: "spine1__evpn"
remote_asn: ["65003"]
peer_device: ["leaf5"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.250.16"
peer_address: "10.0.250.16"
description: "EVPN to leaf6"
peer_group: "spine1__evpn"
remote_asn: ["65003"]
peer_device: ["leaf6"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.250.17"
peer_address: "10.0.250.17"
description: "EVPN to leaf7"
peer_group: "spine1__evpn"
remote_asn: ["65004"]
peer_device: ["leaf7"]
- bgp_config: ["spine1"]
local_identifier: "spine1__10.0.250.18"
peer_address: "10.0.250.18"
description: "EVPN to leaf8"
peer_group: "spine1__evpn"
remote_asn: ["65004"]
peer_device: ["leaf8"]
# ============================================================
# Spine2 sessions
# ============================================================
# Spine2 underlay
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.2.1"
peer_address: "10.0.2.1"
description: "underlay to leaf1"
remote_asn: ["65001"]
peer_device: ["leaf1"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.2.3"
peer_address: "10.0.2.3"
description: "underlay to leaf2"
remote_asn: ["65001"]
peer_device: ["leaf2"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.2.5"
peer_address: "10.0.2.5"
description: "underlay to leaf3"
remote_asn: ["65002"]
peer_device: ["leaf3"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.2.7"
peer_address: "10.0.2.7"
description: "underlay to leaf4"
remote_asn: ["65002"]
peer_device: ["leaf4"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.2.9"
peer_address: "10.0.2.9"
description: "underlay to leaf5"
remote_asn: ["65003"]
peer_device: ["leaf5"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.2.11"
peer_address: "10.0.2.11"
description: "underlay to leaf6"
remote_asn: ["65003"]
peer_device: ["leaf6"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.2.13"
peer_address: "10.0.2.13"
description: "underlay to leaf7"
remote_asn: ["65004"]
peer_device: ["leaf7"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.2.15"
peer_address: "10.0.2.15"
description: "underlay to leaf8"
remote_asn: ["65004"]
peer_device: ["leaf8"]
# Spine2 EVPN
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.250.11"
peer_address: "10.0.250.11"
description: "EVPN to leaf1"
peer_group: "spine2__evpn"
remote_asn: ["65001"]
peer_device: ["leaf1"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.250.12"
peer_address: "10.0.250.12"
description: "EVPN to leaf2"
peer_group: "spine2__evpn"
remote_asn: ["65001"]
peer_device: ["leaf2"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.250.13"
peer_address: "10.0.250.13"
description: "EVPN to leaf3"
peer_group: "spine2__evpn"
remote_asn: ["65002"]
peer_device: ["leaf3"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.250.14"
peer_address: "10.0.250.14"
description: "EVPN to leaf4"
peer_group: "spine2__evpn"
remote_asn: ["65002"]
peer_device: ["leaf4"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.250.15"
peer_address: "10.0.250.15"
description: "EVPN to leaf5"
peer_group: "spine2__evpn"
remote_asn: ["65003"]
peer_device: ["leaf5"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.250.16"
peer_address: "10.0.250.16"
description: "EVPN to leaf6"
peer_group: "spine2__evpn"
remote_asn: ["65003"]
peer_device: ["leaf6"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.250.17"
peer_address: "10.0.250.17"
description: "EVPN to leaf7"
peer_group: "spine2__evpn"
remote_asn: ["65004"]
peer_device: ["leaf7"]
- bgp_config: ["spine2"]
local_identifier: "spine2__10.0.250.18"
peer_address: "10.0.250.18"
description: "EVPN to leaf8"
peer_group: "spine2__evpn"
remote_asn: ["65004"]
peer_device: ["leaf8"]
# ============================================================
# Leaf1 sessions
# ============================================================
- bgp_config: ["leaf1"]
local_identifier: "leaf1__10.0.1.0"
peer_address: "10.0.1.0"
description: "underlay to spine1"
peer_group: "leaf1__underlay"
peer_device: ["spine1"]
- bgp_config: ["leaf1"]
local_identifier: "leaf1__10.0.2.0"
peer_address: "10.0.2.0"
description: "underlay to spine2"
peer_group: "leaf1__underlay"
peer_device: ["spine2"]
- bgp_config: ["leaf1"]
local_identifier: "leaf1__10.0.3.1"
peer_address: "10.0.3.1"
description: "iBGP to leaf2"
peer_group: "leaf1__underlay_ibgp"
peer_device: ["leaf2"]
- bgp_config: ["leaf1"]
local_identifier: "leaf1__10.0.250.1"
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: "leaf1__evpn"
peer_device: ["spine1"]
- bgp_config: ["leaf1"]
local_identifier: "leaf1__10.0.250.2"
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: "leaf1__evpn"
peer_device: ["spine2"]
# ============================================================
# Leaf2 sessions
# ============================================================
- bgp_config: ["leaf2"]
local_identifier: "leaf2__10.0.1.2"
peer_address: "10.0.1.2"
description: "underlay to spine1"
peer_group: "leaf2__underlay"
peer_device: ["spine1"]
- bgp_config: ["leaf2"]
local_identifier: "leaf2__10.0.2.2"
peer_address: "10.0.2.2"
description: "underlay to spine2"
peer_group: "leaf2__underlay"
peer_device: ["spine2"]
- bgp_config: ["leaf2"]
local_identifier: "leaf2__10.0.3.0"
peer_address: "10.0.3.0"
description: "iBGP to leaf1"
peer_group: "leaf2__underlay_ibgp"
peer_device: ["leaf1"]
- bgp_config: ["leaf2"]
local_identifier: "leaf2__10.0.250.1"
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: "leaf2__evpn"
peer_device: ["spine1"]
- bgp_config: ["leaf2"]
local_identifier: "leaf2__10.0.250.2"
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: "leaf2__evpn"
peer_device: ["spine2"]
# ============================================================
# Leaf3 sessions
# ============================================================
- bgp_config: ["leaf3"]
local_identifier: "leaf3__10.0.1.4"
peer_address: "10.0.1.4"
description: "underlay to spine1"
peer_group: "leaf3__underlay"
peer_device: ["spine1"]
- bgp_config: ["leaf3"]
local_identifier: "leaf3__10.0.2.4"
peer_address: "10.0.2.4"
description: "underlay to spine2"
peer_group: "leaf3__underlay"
peer_device: ["spine2"]
- bgp_config: ["leaf3"]
local_identifier: "leaf3__10.0.3.3"
peer_address: "10.0.3.3"
description: "iBGP to leaf4"
peer_group: "leaf3__underlay_ibgp"
peer_device: ["leaf4"]
- bgp_config: ["leaf3"]
local_identifier: "leaf3__10.0.250.1"
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: "leaf3__evpn"
peer_device: ["spine1"]
- bgp_config: ["leaf3"]
local_identifier: "leaf3__10.0.250.2"
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: "leaf3__evpn"
peer_device: ["spine2"]
# ============================================================
# Leaf4 sessions
# ============================================================
- bgp_config: ["leaf4"]
local_identifier: "leaf4__10.0.1.6"
peer_address: "10.0.1.6"
description: "underlay to spine1"
peer_group: "leaf4__underlay"
peer_device: ["spine1"]
- bgp_config: ["leaf4"]
local_identifier: "leaf4__10.0.2.6"
peer_address: "10.0.2.6"
description: "underlay to spine2"
peer_group: "leaf4__underlay"
peer_device: ["spine2"]
- bgp_config: ["leaf4"]
local_identifier: "leaf4__10.0.3.2"
peer_address: "10.0.3.2"
description: "iBGP to leaf3"
peer_group: "leaf4__underlay_ibgp"
peer_device: ["leaf3"]
- bgp_config: ["leaf4"]
local_identifier: "leaf4__10.0.250.1"
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: "leaf4__evpn"
peer_device: ["spine1"]
- bgp_config: ["leaf4"]
local_identifier: "leaf4__10.0.250.2"
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: "leaf4__evpn"
peer_device: ["spine2"]
# ============================================================
# Leaf5 sessions
# ============================================================
- bgp_config: ["leaf5"]
local_identifier: "leaf5__10.0.1.8"
peer_address: "10.0.1.8"
description: "underlay to spine1"
peer_group: "leaf5__underlay"
peer_device: ["spine1"]
- bgp_config: ["leaf5"]
local_identifier: "leaf5__10.0.2.8"
peer_address: "10.0.2.8"
description: "underlay to spine2"
peer_group: "leaf5__underlay"
peer_device: ["spine2"]
- bgp_config: ["leaf5"]
local_identifier: "leaf5__10.0.3.5"
peer_address: "10.0.3.5"
description: "iBGP to leaf6"
peer_group: "leaf5__underlay_ibgp"
peer_device: ["leaf6"]
- bgp_config: ["leaf5"]
local_identifier: "leaf5__10.0.250.1"
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: "leaf5__evpn"
peer_device: ["spine1"]
- bgp_config: ["leaf5"]
local_identifier: "leaf5__10.0.250.2"
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: "leaf5__evpn"
peer_device: ["spine2"]
# ============================================================
# Leaf6 sessions
# ============================================================
- bgp_config: ["leaf6"]
local_identifier: "leaf6__10.0.1.10"
peer_address: "10.0.1.10"
description: "underlay to spine1"
peer_group: "leaf6__underlay"
peer_device: ["spine1"]
- bgp_config: ["leaf6"]
local_identifier: "leaf6__10.0.2.10"
peer_address: "10.0.2.10"
description: "underlay to spine2"
peer_group: "leaf6__underlay"
peer_device: ["spine2"]
- bgp_config: ["leaf6"]
local_identifier: "leaf6__10.0.3.4"
peer_address: "10.0.3.4"
description: "iBGP to leaf5"
peer_group: "leaf6__underlay_ibgp"
peer_device: ["leaf5"]
- bgp_config: ["leaf6"]
local_identifier: "leaf6__10.0.250.1"
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: "leaf6__evpn"
peer_device: ["spine1"]
- bgp_config: ["leaf6"]
local_identifier: "leaf6__10.0.250.2"
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: "leaf6__evpn"
peer_device: ["spine2"]
# ============================================================
# Leaf7 sessions
# ============================================================
- bgp_config: ["leaf7"]
local_identifier: "leaf7__10.0.1.12"
peer_address: "10.0.1.12"
description: "underlay to spine1"
peer_group: "leaf7__underlay"
peer_device: ["spine1"]
- bgp_config: ["leaf7"]
local_identifier: "leaf7__10.0.2.12"
peer_address: "10.0.2.12"
description: "underlay to spine2"
peer_group: "leaf7__underlay"
peer_device: ["spine2"]
- bgp_config: ["leaf7"]
local_identifier: "leaf7__10.0.3.7"
peer_address: "10.0.3.7"
description: "iBGP to leaf8"
peer_group: "leaf7__underlay_ibgp"
peer_device: ["leaf8"]
- bgp_config: ["leaf7"]
local_identifier: "leaf7__10.0.250.1"
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: "leaf7__evpn"
peer_device: ["spine1"]
- bgp_config: ["leaf7"]
local_identifier: "leaf7__10.0.250.2"
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: "leaf7__evpn"
peer_device: ["spine2"]
# Leaf7 VRF gold border peering
- bgp_config: ["leaf7"]
local_identifier: "leaf7__10.90.90.1"
peer_address: "10.90.90.1"
description: "border peering to AS 64999 in VRF gold"
remote_asn: ["64999"]
vrf: "gold"
# ============================================================
# Leaf8 sessions
# ============================================================
- bgp_config: ["leaf8"]
local_identifier: "leaf8__10.0.1.14"
peer_address: "10.0.1.14"
description: "underlay to spine1"
peer_group: "leaf8__underlay"
peer_device: ["spine1"]
- bgp_config: ["leaf8"]
local_identifier: "leaf8__10.0.2.14"
peer_address: "10.0.2.14"
description: "underlay to spine2"
peer_group: "leaf8__underlay"
peer_device: ["spine2"]
- bgp_config: ["leaf8"]
local_identifier: "leaf8__10.0.3.6"
peer_address: "10.0.3.6"
description: "iBGP to leaf7"
peer_group: "leaf8__underlay_ibgp"
peer_device: ["leaf7"]
- bgp_config: ["leaf8"]
local_identifier: "leaf8__10.0.250.1"
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: "leaf8__evpn"
peer_device: ["spine1"]
- bgp_config: ["leaf8"]
local_identifier: "leaf8__10.0.250.2"
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: "leaf8__evpn"
peer_device: ["spine2"]
# Leaf8 VRF gold border peering
- bgp_config: ["leaf8"]
local_identifier: "leaf8__10.90.90.1"
peer_address: "10.90.90.1"
description: "border peering to AS 64999 in VRF gold"
remote_asn: ["64999"]
vrf: "gold"
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraBGPAddressFamily
data:
# ============================================================
# Spine1 address families
# ============================================================
- bgp_config: ["spine1"]
local_identifier: "spine1__ipv4_unicast"
afi: ipv4
safi: unicast
active_sessions:
- ["spine1__10.0.1.1"]
- ["spine1__10.0.1.3"]
- ["spine1__10.0.1.5"]
- ["spine1__10.0.1.7"]
- ["spine1__10.0.1.9"]
- ["spine1__10.0.1.11"]
- ["spine1__10.0.1.13"]
- ["spine1__10.0.1.15"]
networks:
- ["10.0.250.1/32"]
- bgp_config: ["spine1"]
local_identifier: "spine1__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["spine1__evpn"]
# ============================================================
# Spine2 address families
# ============================================================
- bgp_config: ["spine2"]
local_identifier: "spine2__ipv4_unicast"
afi: ipv4
safi: unicast
active_sessions:
- ["spine2__10.0.2.1"]
- ["spine2__10.0.2.3"]
- ["spine2__10.0.2.5"]
- ["spine2__10.0.2.7"]
- ["spine2__10.0.2.9"]
- ["spine2__10.0.2.11"]
- ["spine2__10.0.2.13"]
- ["spine2__10.0.2.15"]
networks:
- ["10.0.250.2/32"]
- bgp_config: ["spine2"]
local_identifier: "spine2__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["spine2__evpn"]
# ============================================================
# Leaf1 address families
# ============================================================
- bgp_config: ["leaf1"]
local_identifier: "leaf1__ipv4_unicast"
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf1__underlay"]
- ["leaf1__underlay_ibgp"]
networks:
- ["10.0.250.11/32"]
- ["10.0.255.11/32"]
- bgp_config: ["leaf1"]
local_identifier: "leaf1__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf1__evpn"]
# ============================================================
# Leaf2 address families
# ============================================================
- bgp_config: ["leaf2"]
local_identifier: "leaf2__ipv4_unicast"
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf2__underlay"]
- ["leaf2__underlay_ibgp"]
networks:
- ["10.0.250.12/32"]
- ["10.0.255.11/32"]
- bgp_config: ["leaf2"]
local_identifier: "leaf2__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf2__evpn"]
# ============================================================
# Leaf3 address families
# ============================================================
- bgp_config: ["leaf3"]
local_identifier: "leaf3__ipv4_unicast"
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf3__underlay"]
- ["leaf3__underlay_ibgp"]
networks:
- ["10.0.250.13/32"]
- ["10.0.255.12/32"]
- bgp_config: ["leaf3"]
local_identifier: "leaf3__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf3__evpn"]
# ============================================================
# Leaf4 address families
# ============================================================
- bgp_config: ["leaf4"]
local_identifier: "leaf4__ipv4_unicast"
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf4__underlay"]
- ["leaf4__underlay_ibgp"]
networks:
- ["10.0.250.14/32"]
- ["10.0.255.12/32"]
- bgp_config: ["leaf4"]
local_identifier: "leaf4__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf4__evpn"]
# ============================================================
# Leaf5 address families
# ============================================================
- bgp_config: ["leaf5"]
local_identifier: "leaf5__ipv4_unicast"
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf5__underlay"]
- ["leaf5__underlay_ibgp"]
networks:
- ["10.0.250.15/32"]
- ["10.0.255.13/32"]
- bgp_config: ["leaf5"]
local_identifier: "leaf5__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf5__evpn"]
# ============================================================
# Leaf6 address families
# ============================================================
- bgp_config: ["leaf6"]
local_identifier: "leaf6__ipv4_unicast"
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf6__underlay"]
- ["leaf6__underlay_ibgp"]
networks:
- ["10.0.250.16/32"]
- ["10.0.255.13/32"]
- bgp_config: ["leaf6"]
local_identifier: "leaf6__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf6__evpn"]
# ============================================================
# Leaf7 address families
# ============================================================
- bgp_config: ["leaf7"]
local_identifier: "leaf7__ipv4_unicast"
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf7__underlay"]
- ["leaf7__underlay_ibgp"]
networks:
- ["10.0.250.17/32"]
- ["10.0.255.14/32"]
- bgp_config: ["leaf7"]
local_identifier: "leaf7__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf7__evpn"]
# Leaf7 IPv4 unicast in VRF gold (border peering)
- bgp_config: ["leaf7"]
local_identifier: "leaf7__vrf_gold__ipv4_unicast"
afi: ipv4
safi: unicast
vrf: "gold"
active_sessions:
- ["leaf7__10.90.90.1"]
# ============================================================
# Leaf8 address families
# ============================================================
- bgp_config: ["leaf8"]
local_identifier: "leaf8__ipv4_unicast"
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf8__underlay"]
- ["leaf8__underlay_ibgp"]
networks:
- ["10.0.250.18/32"]
- ["10.0.255.14/32"]
- bgp_config: ["leaf8"]
local_identifier: "leaf8__evpn_unicast"
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf8__evpn"]
# Leaf8 IPv4 unicast in VRF gold (border peering)
- bgp_config: ["leaf8"]
local_identifier: "leaf8__vrf_gold__ipv4_unicast"
afi: ipv4
safi: unicast
vrf: "gold"
active_sessions:
- ["leaf8__10.90.90.1"]

View File

@@ -0,0 +1,62 @@
# VRFs, Route Targets, VRF Device Assignments
# Depends on: 02-devices, 03-interfaces, 05-vlans-vxlan (VNI 100001)
#
# VRF gold is used on leaf3/4 (VLAN 34) and leaf7/8 (VLAN 78 + border)
# L3VNI 100001 for symmetric IRB
# Route targets: import/export evpn 1:100001
# Per-device RD: <router-id>:1
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraRouteTarget
data:
- target: "1:100001"
description: VRF gold EVPN route target
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraVRF
data:
- name: gold
description: VRF gold - L3 VXLAN with symmetric IRB
l3vni: ["100001"]
import_targets:
- ["1:100001"]
export_targets:
- ["1:100001"]
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraVRFDeviceAssignment
data:
- device: ["leaf3"]
vrf: ["gold"]
route_distinguisher: "10.0.250.13:1"
import_targets:
- ["1:100001"]
export_targets:
- ["1:100001"]
- device: ["leaf4"]
vrf: ["gold"]
route_distinguisher: "10.0.250.14:1"
import_targets:
- ["1:100001"]
export_targets:
- ["1:100001"]
- device: ["leaf7"]
vrf: ["gold"]
route_distinguisher: "10.0.250.17:1"
import_targets:
- ["1:100001"]
export_targets:
- ["1:100001"]
- device: ["leaf8"]
vrf: ["gold"]
route_distinguisher: "10.0.250.18:1"
import_targets:
- ["1:100001"]
export_targets:
- ["1:100001"]

View File

@@ -0,0 +1,134 @@
# MLAG: Domains and Peer Configs
# Depends on: 02-devices, 03-interfaces (Vlan4090, Port-Channel999), 05-vlans-vxlan (VLAN 4090/4091)
#
# All 4 MLAG pairs share domain-id "leafs" and virtual-mac c001.cafe.babe
# but each is a separate MlagDomain object linking two devices.
# MLAG peer VLAN: 4090, MLAG iBGP VLAN: 4091
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraMlagDomain
data:
# MLAG pair 1: leaf1 + leaf2
- domain_id: leafs-1-2
description: MLAG domain for leaf1/leaf2 pair
virtual_mac: "c001.cafe.babe"
heartbeat_vrf: mgmt
dual_primary_detection: true
dual_primary_delay: 10
dual_primary_action: errdisable
devices:
- ["leaf1"]
- ["leaf2"]
peer_vlan: ["4090"]
ibgp_vlan: ["4091"]
# MLAG pair 2: leaf3 + leaf4
- domain_id: leafs-3-4
description: MLAG domain for leaf3/leaf4 pair
virtual_mac: "c001.cafe.babe"
heartbeat_vrf: mgmt
dual_primary_detection: true
dual_primary_delay: 10
dual_primary_action: errdisable
devices:
- ["leaf3"]
- ["leaf4"]
peer_vlan: ["4090"]
ibgp_vlan: ["4091"]
# MLAG pair 3: leaf5 + leaf6
- domain_id: leafs-5-6
description: MLAG domain for leaf5/leaf6 pair
virtual_mac: "c001.cafe.babe"
heartbeat_vrf: mgmt
dual_primary_detection: true
dual_primary_delay: 10
dual_primary_action: errdisable
devices:
- ["leaf5"]
- ["leaf6"]
peer_vlan: ["4090"]
ibgp_vlan: ["4091"]
# MLAG pair 4: leaf7 + leaf8
- domain_id: leafs-7-8
description: MLAG domain for leaf7/leaf8 pair
virtual_mac: "c001.cafe.babe"
heartbeat_vrf: mgmt
dual_primary_detection: true
dual_primary_delay: 10
dual_primary_action: errdisable
devices:
- ["leaf7"]
- ["leaf8"]
peer_vlan: ["4090"]
ibgp_vlan: ["4091"]
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraMlagPeerConfig
data:
# Leaf1 MLAG peer config
- device: ["leaf1"]
mlag_domain: ["leafs-1-2"]
local_interface_ip: "10.0.199.254/31"
peer_address: "10.0.199.255"
heartbeat_peer_ip: "172.16.0.50"
local_interface: ["leaf1", "Vlan4090"]
peer_link: ["leaf1", "Port-Channel999"]
# Leaf2 MLAG peer config
- device: ["leaf2"]
mlag_domain: ["leafs-1-2"]
local_interface_ip: "10.0.199.255/31"
peer_address: "10.0.199.254"
heartbeat_peer_ip: "172.16.0.25"
local_interface: ["leaf2", "Vlan4090"]
peer_link: ["leaf2", "Port-Channel999"]
# Leaf3 MLAG peer config
- device: ["leaf3"]
mlag_domain: ["leafs-3-4"]
local_interface_ip: "10.0.199.252/31"
peer_address: "10.0.199.253"
heartbeat_peer_ip: "172.16.0.28"
local_interface: ["leaf3", "Vlan4090"]
peer_link: ["leaf3", "Port-Channel999"]
# Leaf4 MLAG peer config
- device: ["leaf4"]
mlag_domain: ["leafs-3-4"]
local_interface_ip: "10.0.199.253/31"
peer_address: "10.0.199.252"
heartbeat_peer_ip: "172.16.0.27"
local_interface: ["leaf4", "Vlan4090"]
peer_link: ["leaf4", "Port-Channel999"]
# Leaf5 MLAG peer config
- device: ["leaf5"]
mlag_domain: ["leafs-5-6"]
local_interface_ip: "10.0.199.250/31"
peer_address: "10.0.199.251"
heartbeat_peer_ip: "172.16.0.30"
local_interface: ["leaf5", "Vlan4090"]
peer_link: ["leaf5", "Port-Channel999"]
# Leaf6 MLAG peer config
- device: ["leaf6"]
mlag_domain: ["leafs-5-6"]
local_interface_ip: "10.0.199.251/31"
peer_address: "10.0.199.250"
heartbeat_peer_ip: "172.16.0.29"
local_interface: ["leaf6", "Vlan4090"]
peer_link: ["leaf6", "Port-Channel999"]
# Leaf7 MLAG peer config
- device: ["leaf7"]
mlag_domain: ["leafs-7-8"]
local_interface_ip: "10.0.199.248/31"
peer_address: "10.0.199.249"
heartbeat_peer_ip: "172.16.0.32"
local_interface: ["leaf7", "Vlan4090"]
peer_link: ["leaf7", "Port-Channel999"]
# Leaf8 MLAG peer config
- device: ["leaf8"]
mlag_domain: ["leafs-7-8"]
local_interface_ip: "10.0.199.249/31"
peer_address: "10.0.199.248"
heartbeat_peer_ip: "172.16.0.31"
local_interface: ["leaf8", "Vlan4090"]
peer_link: ["leaf8", "Port-Channel999"]