Infrahub does not support relation traversal in HFID computation. bgp_config__router_id__value returned only the name, not the full path. Schema changes: - InfraBGPPeerGroup HFID: [name__value] (was [bgp_config__router_id__value, name__value]) - InfraBGPSession HFID: [peer_address__value] (was [bgp_config__router_id__value, peer_address__value]) - uniqueness_constraints unchanged (still scoped to bgp_config) Object file changes (10-bgp-sessions.yml): - peer_group: ["10.0.250.x", "name"] → peer_group: "name" (56 refs) - active_peer_groups: - ["10.0.250.x", "name"] → - "name" (26 refs)
587 lines
18 KiB
YAML
587 lines
18 KiB
YAML
# BGP Sessions and Address Families
|
|
# Depends on: 09-bgp (RouterConfig and PeerGroups must exist)
|
|
---
|
|
apiVersion: infrahub.app/v1
|
|
kind: Object
|
|
spec:
|
|
kind: InfraBGPSession
|
|
data:
|
|
# ============================================================
|
|
# Spine1 sessions
|
|
# ============================================================
|
|
# Spine1 underlay (direct neighbors, no peer-group — use remote_asn)
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.1.1"
|
|
description: "underlay to leaf1"
|
|
remote_asn: ["65001"]
|
|
peer_device: ["leaf1"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.1.3"
|
|
description: "underlay to leaf2"
|
|
remote_asn: ["65001"]
|
|
peer_device: ["leaf2"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.1.5"
|
|
description: "underlay to leaf3"
|
|
remote_asn: ["65002"]
|
|
peer_device: ["leaf3"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.1.7"
|
|
description: "underlay to leaf4"
|
|
remote_asn: ["65002"]
|
|
peer_device: ["leaf4"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.1.9"
|
|
description: "underlay to leaf5"
|
|
remote_asn: ["65003"]
|
|
peer_device: ["leaf5"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.1.11"
|
|
description: "underlay to leaf6"
|
|
remote_asn: ["65003"]
|
|
peer_device: ["leaf6"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.1.13"
|
|
description: "underlay to leaf7"
|
|
remote_asn: ["65004"]
|
|
peer_device: ["leaf7"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.1.15"
|
|
description: "underlay to leaf8"
|
|
remote_asn: ["65004"]
|
|
peer_device: ["leaf8"]
|
|
# Spine1 EVPN (via evpn peer-group)
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.250.11"
|
|
description: "EVPN to leaf1"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65001"]
|
|
peer_device: ["leaf1"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.250.12"
|
|
description: "EVPN to leaf2"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65001"]
|
|
peer_device: ["leaf2"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.250.13"
|
|
description: "EVPN to leaf3"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65002"]
|
|
peer_device: ["leaf3"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.250.14"
|
|
description: "EVPN to leaf4"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65002"]
|
|
peer_device: ["leaf4"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.250.15"
|
|
description: "EVPN to leaf5"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65003"]
|
|
peer_device: ["leaf5"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.250.16"
|
|
description: "EVPN to leaf6"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65003"]
|
|
peer_device: ["leaf6"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.250.17"
|
|
description: "EVPN to leaf7"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65004"]
|
|
peer_device: ["leaf7"]
|
|
- bgp_config: ["spine1"]
|
|
peer_address: "10.0.250.18"
|
|
description: "EVPN to leaf8"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65004"]
|
|
peer_device: ["leaf8"]
|
|
# ============================================================
|
|
# Spine2 sessions
|
|
# ============================================================
|
|
# Spine2 underlay
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.2.1"
|
|
description: "underlay to leaf1"
|
|
remote_asn: ["65001"]
|
|
peer_device: ["leaf1"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.2.3"
|
|
description: "underlay to leaf2"
|
|
remote_asn: ["65001"]
|
|
peer_device: ["leaf2"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.2.5"
|
|
description: "underlay to leaf3"
|
|
remote_asn: ["65002"]
|
|
peer_device: ["leaf3"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.2.7"
|
|
description: "underlay to leaf4"
|
|
remote_asn: ["65002"]
|
|
peer_device: ["leaf4"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.2.9"
|
|
description: "underlay to leaf5"
|
|
remote_asn: ["65003"]
|
|
peer_device: ["leaf5"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.2.11"
|
|
description: "underlay to leaf6"
|
|
remote_asn: ["65003"]
|
|
peer_device: ["leaf6"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.2.13"
|
|
description: "underlay to leaf7"
|
|
remote_asn: ["65004"]
|
|
peer_device: ["leaf7"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.2.15"
|
|
description: "underlay to leaf8"
|
|
remote_asn: ["65004"]
|
|
peer_device: ["leaf8"]
|
|
# Spine2 EVPN
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.250.11"
|
|
description: "EVPN to leaf1"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65001"]
|
|
peer_device: ["leaf1"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.250.12"
|
|
description: "EVPN to leaf2"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65001"]
|
|
peer_device: ["leaf2"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.250.13"
|
|
description: "EVPN to leaf3"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65002"]
|
|
peer_device: ["leaf3"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.250.14"
|
|
description: "EVPN to leaf4"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65002"]
|
|
peer_device: ["leaf4"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.250.15"
|
|
description: "EVPN to leaf5"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65003"]
|
|
peer_device: ["leaf5"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.250.16"
|
|
description: "EVPN to leaf6"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65003"]
|
|
peer_device: ["leaf6"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.250.17"
|
|
description: "EVPN to leaf7"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65004"]
|
|
peer_device: ["leaf7"]
|
|
- bgp_config: ["spine2"]
|
|
peer_address: "10.0.250.18"
|
|
description: "EVPN to leaf8"
|
|
peer_group: "evpn"
|
|
remote_asn: ["65004"]
|
|
peer_device: ["leaf8"]
|
|
# ============================================================
|
|
# Leaf1 sessions
|
|
# ============================================================
|
|
- bgp_config: ["leaf1"]
|
|
peer_address: "10.0.1.0"
|
|
description: "underlay to spine1"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf1"]
|
|
peer_address: "10.0.2.0"
|
|
description: "underlay to spine2"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine2"]
|
|
- bgp_config: ["leaf1"]
|
|
peer_address: "10.0.3.1"
|
|
description: "iBGP to leaf2"
|
|
peer_group: "underlay_ibgp"
|
|
peer_device: ["leaf2"]
|
|
- bgp_config: ["leaf1"]
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf1"]
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine2"]
|
|
# ============================================================
|
|
# Leaf2 sessions
|
|
# ============================================================
|
|
- bgp_config: ["leaf2"]
|
|
peer_address: "10.0.1.2"
|
|
description: "underlay to spine1"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf2"]
|
|
peer_address: "10.0.2.2"
|
|
description: "underlay to spine2"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine2"]
|
|
- bgp_config: ["leaf2"]
|
|
peer_address: "10.0.3.0"
|
|
description: "iBGP to leaf1"
|
|
peer_group: "underlay_ibgp"
|
|
peer_device: ["leaf1"]
|
|
- bgp_config: ["leaf2"]
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf2"]
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine2"]
|
|
# ============================================================
|
|
# Leaf3 sessions
|
|
# ============================================================
|
|
- bgp_config: ["leaf3"]
|
|
peer_address: "10.0.1.4"
|
|
description: "underlay to spine1"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf3"]
|
|
peer_address: "10.0.2.4"
|
|
description: "underlay to spine2"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine2"]
|
|
- bgp_config: ["leaf3"]
|
|
peer_address: "10.0.3.3"
|
|
description: "iBGP to leaf4"
|
|
peer_group: "underlay_ibgp"
|
|
peer_device: ["leaf4"]
|
|
- bgp_config: ["leaf3"]
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf3"]
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine2"]
|
|
# ============================================================
|
|
# Leaf4 sessions
|
|
# ============================================================
|
|
- bgp_config: ["leaf4"]
|
|
peer_address: "10.0.1.6"
|
|
description: "underlay to spine1"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf4"]
|
|
peer_address: "10.0.2.6"
|
|
description: "underlay to spine2"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine2"]
|
|
- bgp_config: ["leaf4"]
|
|
peer_address: "10.0.3.2"
|
|
description: "iBGP to leaf3"
|
|
peer_group: "underlay_ibgp"
|
|
peer_device: ["leaf3"]
|
|
- bgp_config: ["leaf4"]
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf4"]
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine2"]
|
|
# ============================================================
|
|
# Leaf5 sessions
|
|
# ============================================================
|
|
- bgp_config: ["leaf5"]
|
|
peer_address: "10.0.1.8"
|
|
description: "underlay to spine1"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf5"]
|
|
peer_address: "10.0.2.8"
|
|
description: "underlay to spine2"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine2"]
|
|
- bgp_config: ["leaf5"]
|
|
peer_address: "10.0.3.5"
|
|
description: "iBGP to leaf6"
|
|
peer_group: "underlay_ibgp"
|
|
peer_device: ["leaf6"]
|
|
- bgp_config: ["leaf5"]
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf5"]
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine2"]
|
|
# ============================================================
|
|
# Leaf6 sessions
|
|
# ============================================================
|
|
- bgp_config: ["leaf6"]
|
|
peer_address: "10.0.1.10"
|
|
description: "underlay to spine1"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf6"]
|
|
peer_address: "10.0.2.10"
|
|
description: "underlay to spine2"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine2"]
|
|
- bgp_config: ["leaf6"]
|
|
peer_address: "10.0.3.4"
|
|
description: "iBGP to leaf5"
|
|
peer_group: "underlay_ibgp"
|
|
peer_device: ["leaf5"]
|
|
- bgp_config: ["leaf6"]
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf6"]
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine2"]
|
|
# ============================================================
|
|
# Leaf7 sessions
|
|
# ============================================================
|
|
- bgp_config: ["leaf7"]
|
|
peer_address: "10.0.1.12"
|
|
description: "underlay to spine1"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf7"]
|
|
peer_address: "10.0.2.12"
|
|
description: "underlay to spine2"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine2"]
|
|
- bgp_config: ["leaf7"]
|
|
peer_address: "10.0.3.7"
|
|
description: "iBGP to leaf8"
|
|
peer_group: "underlay_ibgp"
|
|
peer_device: ["leaf8"]
|
|
- bgp_config: ["leaf7"]
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf7"]
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine2"]
|
|
# ============================================================
|
|
# Leaf8 sessions
|
|
# ============================================================
|
|
- bgp_config: ["leaf8"]
|
|
peer_address: "10.0.1.14"
|
|
description: "underlay to spine1"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf8"]
|
|
peer_address: "10.0.2.14"
|
|
description: "underlay to spine2"
|
|
peer_group: "underlay"
|
|
peer_device: ["spine2"]
|
|
- bgp_config: ["leaf8"]
|
|
peer_address: "10.0.3.6"
|
|
description: "iBGP to leaf7"
|
|
peer_group: "underlay_ibgp"
|
|
peer_device: ["leaf7"]
|
|
- bgp_config: ["leaf8"]
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine1"]
|
|
- bgp_config: ["leaf8"]
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: "evpn"
|
|
peer_device: ["spine2"]
|
|
---
|
|
apiVersion: infrahub.app/v1
|
|
kind: Object
|
|
spec:
|
|
kind: InfraBGPAddressFamily
|
|
data:
|
|
# ============================================================
|
|
# Spine1 address families
|
|
# ============================================================
|
|
- bgp_config: ["spine1"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
networks:
|
|
- ["10.0.250.1/32"]
|
|
- bgp_config: ["spine1"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Spine2 address families
|
|
# ============================================================
|
|
- bgp_config: ["spine2"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
networks:
|
|
- ["10.0.250.2/32"]
|
|
- bgp_config: ["spine2"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Leaf1 address families
|
|
# ============================================================
|
|
- bgp_config: ["leaf1"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "underlay"
|
|
- "underlay_ibgp"
|
|
networks:
|
|
- ["10.0.250.11/32"]
|
|
- ["10.0.255.11/32"]
|
|
- bgp_config: ["leaf1"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Leaf2 address families
|
|
# ============================================================
|
|
- bgp_config: ["leaf2"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "underlay"
|
|
- "underlay_ibgp"
|
|
networks:
|
|
- ["10.0.250.12/32"]
|
|
- ["10.0.255.11/32"]
|
|
- bgp_config: ["leaf2"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Leaf3 address families
|
|
# ============================================================
|
|
- bgp_config: ["leaf3"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "underlay"
|
|
- "underlay_ibgp"
|
|
networks:
|
|
- ["10.0.250.13/32"]
|
|
- ["10.0.255.12/32"]
|
|
- bgp_config: ["leaf3"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Leaf4 address families
|
|
# ============================================================
|
|
- bgp_config: ["leaf4"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "underlay"
|
|
- "underlay_ibgp"
|
|
networks:
|
|
- ["10.0.250.14/32"]
|
|
- ["10.0.255.12/32"]
|
|
- bgp_config: ["leaf4"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Leaf5 address families
|
|
# ============================================================
|
|
- bgp_config: ["leaf5"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "underlay"
|
|
- "underlay_ibgp"
|
|
networks:
|
|
- ["10.0.250.15/32"]
|
|
- ["10.0.255.13/32"]
|
|
- bgp_config: ["leaf5"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Leaf6 address families
|
|
# ============================================================
|
|
- bgp_config: ["leaf6"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "underlay"
|
|
- "underlay_ibgp"
|
|
networks:
|
|
- ["10.0.250.16/32"]
|
|
- ["10.0.255.13/32"]
|
|
- bgp_config: ["leaf6"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Leaf7 address families
|
|
# ============================================================
|
|
- bgp_config: ["leaf7"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "underlay"
|
|
- "underlay_ibgp"
|
|
networks:
|
|
- ["10.0.250.17/32"]
|
|
- ["10.0.255.14/32"]
|
|
- bgp_config: ["leaf7"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|
|
# ============================================================
|
|
# Leaf8 address families
|
|
# ============================================================
|
|
- bgp_config: ["leaf8"]
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "underlay"
|
|
- "underlay_ibgp"
|
|
networks:
|
|
- ["10.0.250.18/32"]
|
|
- ["10.0.255.14/32"]
|
|
- bgp_config: ["leaf8"]
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- "evpn"
|