Compare commits

..

5 Commits

Author SHA1 Message Date
Damien
2a2e0dfe73 fix(objects): split BGP sessions from peer groups for load ordering — refs #52
InfraBGPSession references InfraBGPPeerGroup via peer_group HFID,
so peer groups must be committed before sessions are created.

Split 09-bgp.yml into:
- 09-bgp.yml: InfraBGPRouterConfig + InfraBGPPeerGroup
- 10-bgp-sessions.yml: InfraBGPSession + InfraBGPAddressFamily

Renamed: 10-vrfs→11, 11-mlag→12. Now 12 object files total.
2026-02-15 20:25:36 +01:00
Damien
ccd882bcfd fix(schema): change InfraIPAddress.address from IPNetwork to IPHost — refs #52
IPNetwork with strict=True rejects host addresses like 10.0.1.1/31
(host bits set). Interface IP assignments are host addresses with a
prefix length, which is exactly what IPHost accepts.
2026-02-15 20:23:07 +01:00
Damien
4409dc5e8d fix(objects): remove interface refs from IPs — InfraInterface has no HFID — refs #52
InfraIPAddress.interface peers with the generic InfraInterface which
has no human_friendly_id defined, so infrahubctl cannot resolve the
HFID lookup. Remove interface references from all IP address objects.

IP-to-interface associations can be established later via the reverse
relationship (ip_addresses on interface objects) or by adding an HFID
to the InfraInterface generic in a future schema update.
2026-02-15 20:22:01 +01:00
Damien
97720d3d6d fix(objects): split Vlan SVIs and IPs for load ordering — refs #52
InfraInterfaceVlan references InfraVLAN objects (06-vlans-vxlan.yml),
so Vlan SVIs must load after VLANs. Similarly, Vlan IP addresses
reference Vlan SVIs.

Changes:
- Extract InfraInterfaceVlan from 04 into 07-interface-vlans.yml
- Extract Vlan SVI IPs from 05 into 08-ipam-vlans.yml
- Rename 07-bgp→09, 08-vrfs→10, 09-mlag→11
- Update .infrahub.yml with new 11-file load order

Load order: foundation → fabric → devices → interfaces (Lo/Lag/Eth)
→ ipam (Lo/Eth) → vlans-vxlan → interface-vlans → ipam-vlans
→ bgp → vrfs → mlag
2026-02-15 16:04:42 +01:00
Damien
50cdb911a4 fix(objects): reorder interfaces — LAG before Ethernet — refs #52
InfraInterfaceEthernet references InfraInterfaceLag (lag field),
so LAG interfaces must be created first within the same file.

New order: Loopback → Lag → Ethernet → Vlan SVI
2026-02-15 16:01:45 +01:00
10 changed files with 699 additions and 753 deletions

View File

@@ -10,6 +10,9 @@ objects:
- objects/04-interfaces.yml
- objects/05-ipam.yml
- objects/06-vlans-vxlan.yml
- objects/07-bgp.yml
- objects/08-vrfs.yml
- objects/09-mlag.yml
- objects/07-interface-vlans.yml
- objects/08-ipam-vlans.yml
- objects/09-bgp.yml
- objects/10-bgp-sessions.yml
- objects/11-vrfs.yml
- objects/12-mlag.yml

View File

@@ -83,6 +83,102 @@ spec:
---
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:
@@ -393,240 +489,4 @@ spec:
enabled: true
mtu: 9214
mode: routed
---
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: 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

@@ -11,249 +11,122 @@ spec:
# ============================================================
- address: "10.0.250.1/32"
description: spine1 Router-ID
interface: ["spine1", "Loopback0"]
- address: "10.0.250.2/32"
description: spine2 Router-ID
interface: ["spine2", "Loopback0"]
- address: "10.0.250.11/32"
description: leaf1 Router-ID
interface: ["leaf1", "Loopback0"]
- address: "10.0.250.12/32"
description: leaf2 Router-ID
interface: ["leaf2", "Loopback0"]
- address: "10.0.250.13/32"
description: leaf3 Router-ID
interface: ["leaf3", "Loopback0"]
- address: "10.0.250.14/32"
description: leaf4 Router-ID
interface: ["leaf4", "Loopback0"]
- address: "10.0.250.15/32"
description: leaf5 Router-ID
interface: ["leaf5", "Loopback0"]
- address: "10.0.250.16/32"
description: leaf6 Router-ID
interface: ["leaf6", "Loopback0"]
- address: "10.0.250.17/32"
description: leaf7 Router-ID
interface: ["leaf7", "Loopback0"]
- address: "10.0.250.18/32"
description: leaf8 Router-ID
interface: ["leaf8", "Loopback0"]
# ============================================================
# Loopback1 addresses (VTEP) — /32
# ============================================================
- address: "10.0.255.11/32"
description: leaf1 VTEP (shared VTEP1)
interface: ["leaf1", "Loopback1"]
- address: "10.0.255.11/32"
description: leaf2 VTEP (shared VTEP1)
interface: ["leaf2", "Loopback1"]
- address: "10.0.255.12/32"
description: leaf3 VTEP (shared VTEP2)
interface: ["leaf3", "Loopback1"]
- address: "10.0.255.12/32"
description: leaf4 VTEP (shared VTEP2)
interface: ["leaf4", "Loopback1"]
- address: "10.0.255.13/32"
description: leaf5 VTEP (shared VTEP3)
interface: ["leaf5", "Loopback1"]
- address: "10.0.255.13/32"
description: leaf6 VTEP (shared VTEP3)
interface: ["leaf6", "Loopback1"]
- address: "10.0.255.14/32"
description: leaf7 VTEP (shared VTEP4)
interface: ["leaf7", "Loopback1"]
- address: "10.0.255.14/32"
description: leaf8 VTEP (shared VTEP4)
interface: ["leaf8", "Loopback1"]
# ============================================================
# Spine1 P2P underlay — /31
# ============================================================
- address: "10.0.1.0/31"
description: spine1 Ethernet1 to leaf1
interface: ["spine1", "Ethernet1"]
- address: "10.0.1.2/31"
description: spine1 Ethernet2 to leaf2
interface: ["spine1", "Ethernet2"]
- address: "10.0.1.4/31"
description: spine1 Ethernet3 to leaf3
interface: ["spine1", "Ethernet3"]
- address: "10.0.1.6/31"
description: spine1 Ethernet4 to leaf4
interface: ["spine1", "Ethernet4"]
- address: "10.0.1.8/31"
description: spine1 Ethernet5 to leaf5
interface: ["spine1", "Ethernet5"]
- address: "10.0.1.10/31"
description: spine1 Ethernet6 to leaf6
interface: ["spine1", "Ethernet6"]
- address: "10.0.1.12/31"
description: spine1 Ethernet7 to leaf7
interface: ["spine1", "Ethernet7"]
- address: "10.0.1.14/31"
description: spine1 Ethernet8 to leaf8
interface: ["spine1", "Ethernet8"]
# ============================================================
# Spine2 P2P underlay — /31
# ============================================================
- address: "10.0.2.0/31"
description: spine2 Ethernet1 to leaf1
interface: ["spine2", "Ethernet1"]
- address: "10.0.2.2/31"
description: spine2 Ethernet2 to leaf2
interface: ["spine2", "Ethernet2"]
- address: "10.0.2.4/31"
description: spine2 Ethernet3 to leaf3
interface: ["spine2", "Ethernet3"]
- address: "10.0.2.6/31"
description: spine2 Ethernet4 to leaf4
interface: ["spine2", "Ethernet4"]
- address: "10.0.2.8/31"
description: spine2 Ethernet5 to leaf5
interface: ["spine2", "Ethernet5"]
- address: "10.0.2.10/31"
description: spine2 Ethernet6 to leaf6
interface: ["spine2", "Ethernet6"]
- address: "10.0.2.12/31"
description: spine2 Ethernet7 to leaf7
interface: ["spine2", "Ethernet7"]
- address: "10.0.2.14/31"
description: spine2 Ethernet8 to leaf8
interface: ["spine2", "Ethernet8"]
# ============================================================
# Leaf P2P underlay (leaf side) — /31
# ============================================================
# Leaf1
- address: "10.0.1.1/31"
description: leaf1 Ethernet11 to spine1
interface: ["leaf1", "Ethernet11"]
- address: "10.0.2.1/31"
description: leaf1 Ethernet12 to spine2
interface: ["leaf1", "Ethernet12"]
# Leaf2
- address: "10.0.1.3/31"
description: leaf2 Ethernet11 to spine1
interface: ["leaf2", "Ethernet11"]
- address: "10.0.2.3/31"
description: leaf2 Ethernet12 to spine2
interface: ["leaf2", "Ethernet12"]
# Leaf3
- address: "10.0.1.5/31"
description: leaf3 Ethernet11 to spine1
interface: ["leaf3", "Ethernet11"]
- address: "10.0.2.5/31"
description: leaf3 Ethernet12 to spine2
interface: ["leaf3", "Ethernet12"]
# Leaf4
- address: "10.0.1.7/31"
description: leaf4 Ethernet11 to spine1
interface: ["leaf4", "Ethernet11"]
- address: "10.0.2.7/31"
description: leaf4 Ethernet12 to spine2
interface: ["leaf4", "Ethernet12"]
# Leaf5
- address: "10.0.1.9/31"
description: leaf5 Ethernet11 to spine1
interface: ["leaf5", "Ethernet11"]
- address: "10.0.2.9/31"
description: leaf5 Ethernet12 to spine2
interface: ["leaf5", "Ethernet12"]
# Leaf6
- address: "10.0.1.11/31"
description: leaf6 Ethernet11 to spine1
interface: ["leaf6", "Ethernet11"]
- address: "10.0.2.11/31"
description: leaf6 Ethernet12 to spine2
interface: ["leaf6", "Ethernet12"]
# Leaf7
- address: "10.0.1.13/31"
description: leaf7 Ethernet11 to spine1
interface: ["leaf7", "Ethernet11"]
- address: "10.0.2.13/31"
description: leaf7 Ethernet12 to spine2
interface: ["leaf7", "Ethernet12"]
# Leaf8
- address: "10.0.1.15/31"
description: leaf8 Ethernet11 to spine1
interface: ["leaf8", "Ethernet11"]
- address: "10.0.2.15/31"
description: leaf8 Ethernet12 to spine2
interface: ["leaf8", "Ethernet12"]
# ============================================================
# MLAG Peer-Link SVI (Vlan4090) — /31
# ============================================================
- address: "10.0.199.254/31"
description: leaf1 MLAG peer-link
interface: ["leaf1", "Vlan4090"]
- address: "10.0.199.255/31"
description: leaf2 MLAG peer-link
interface: ["leaf2", "Vlan4090"]
- address: "10.0.199.252/31"
description: leaf3 MLAG peer-link
interface: ["leaf3", "Vlan4090"]
- address: "10.0.199.253/31"
description: leaf4 MLAG peer-link
interface: ["leaf4", "Vlan4090"]
- address: "10.0.199.250/31"
description: leaf5 MLAG peer-link
interface: ["leaf5", "Vlan4090"]
- address: "10.0.199.251/31"
description: leaf6 MLAG peer-link
interface: ["leaf6", "Vlan4090"]
- address: "10.0.199.248/31"
description: leaf7 MLAG peer-link
interface: ["leaf7", "Vlan4090"]
- address: "10.0.199.249/31"
description: leaf8 MLAG peer-link
interface: ["leaf8", "Vlan4090"]
# ============================================================
# MLAG iBGP Peering SVI (Vlan4091) — /31
# ============================================================
- address: "10.0.3.0/31"
description: leaf1 MLAG iBGP peering
interface: ["leaf1", "Vlan4091"]
- address: "10.0.3.1/31"
description: leaf2 MLAG iBGP peering
interface: ["leaf2", "Vlan4091"]
- address: "10.0.3.2/31"
description: leaf3 MLAG iBGP peering
interface: ["leaf3", "Vlan4091"]
- address: "10.0.3.3/31"
description: leaf4 MLAG iBGP peering
interface: ["leaf4", "Vlan4091"]
- address: "10.0.3.4/31"
description: leaf5 MLAG iBGP peering
interface: ["leaf5", "Vlan4091"]
- address: "10.0.3.5/31"
description: leaf6 MLAG iBGP peering
interface: ["leaf6", "Vlan4091"]
- address: "10.0.3.6/31"
description: leaf7 MLAG iBGP peering
interface: ["leaf7", "Vlan4091"]
- address: "10.0.3.7/31"
description: leaf8 MLAG iBGP peering
interface: ["leaf8", "Vlan4091"]
# ============================================================
# VRF gold SVI addresses — /24
# ============================================================
# Vlan34 (leaf3/leaf4)
- address: "10.34.34.2/24"
description: leaf3 Vlan34 VRF gold
interface: ["leaf3", "Vlan34"]
- address: "10.34.34.3/24"
description: leaf4 Vlan34 VRF gold
interface: ["leaf4", "Vlan34"]
# Vlan78 (leaf7/leaf8)
- address: "10.78.78.2/24"
description: leaf7 Vlan78 VRF gold
interface: ["leaf7", "Vlan78"]
- address: "10.78.78.3/24"
description: leaf8 Vlan78 VRF gold
interface: ["leaf8", "Vlan78"]
# Vlan900 — BGP border (leaf7/leaf8)
- address: "10.90.90.2/29"
description: leaf7 Vlan900 BGP border
interface: ["leaf7", "Vlan900"]
- address: "10.90.90.3/29"
description: leaf8 Vlan900 BGP border
interface: ["leaf8", "Vlan900"]

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"]

64
objects/08-ipam-vlans.yml Normal file
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

385
objects/09-bgp.yml Normal file
View File

@@ -0,0 +1,385 @@
# 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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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

@@ -1,387 +1,5 @@
# 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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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
# BGP Sessions and Address Families
# Depends on: 09-bgp (RouterConfig and PeerGroups must exist)
---
apiVersion: infrahub.app/v1
kind: Object

View File

@@ -320,7 +320,7 @@ nodes:
display_label: "{{ address__value }}"
attributes:
- name: address
kind: IPNetwork
kind: IPHost
description: IP address with prefix (e.g., 10.0.1.1/31)
- name: description
kind: Text