Compare commits
5 Commits
30885b5a19
...
2a2e0dfe73
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2a2e0dfe73 | ||
|
|
ccd882bcfd | ||
|
|
4409dc5e8d | ||
|
|
97720d3d6d | ||
|
|
50cdb911a4 |
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
|
||||
@@ -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"]
|
||||
|
||||
|
||||
143
objects/07-interface-vlans.yml
Normal file
143
objects/07-interface-vlans.yml
Normal 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
64
objects/08-ipam-vlans.yml
Normal 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
385
objects/09-bgp.yml
Normal 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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user