981 lines
31 KiB
YAML
981 lines
31 KiB
YAML
# 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
|
|
---
|
|
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: ["10.0.250.1", "evpn"]
|
|
remote_asn: "65001"
|
|
peer_device: leaf1
|
|
- bgp_config: spine1
|
|
peer_address: "10.0.250.12"
|
|
description: "EVPN to leaf2"
|
|
peer_group: ["10.0.250.1", "evpn"]
|
|
remote_asn: "65001"
|
|
peer_device: leaf2
|
|
- bgp_config: spine1
|
|
peer_address: "10.0.250.13"
|
|
description: "EVPN to leaf3"
|
|
peer_group: ["10.0.250.1", "evpn"]
|
|
remote_asn: "65002"
|
|
peer_device: leaf3
|
|
- bgp_config: spine1
|
|
peer_address: "10.0.250.14"
|
|
description: "EVPN to leaf4"
|
|
peer_group: ["10.0.250.1", "evpn"]
|
|
remote_asn: "65002"
|
|
peer_device: leaf4
|
|
- bgp_config: spine1
|
|
peer_address: "10.0.250.15"
|
|
description: "EVPN to leaf5"
|
|
peer_group: ["10.0.250.1", "evpn"]
|
|
remote_asn: "65003"
|
|
peer_device: leaf5
|
|
- bgp_config: spine1
|
|
peer_address: "10.0.250.16"
|
|
description: "EVPN to leaf6"
|
|
peer_group: ["10.0.250.1", "evpn"]
|
|
remote_asn: "65003"
|
|
peer_device: leaf6
|
|
- bgp_config: spine1
|
|
peer_address: "10.0.250.17"
|
|
description: "EVPN to leaf7"
|
|
peer_group: ["10.0.250.1", "evpn"]
|
|
remote_asn: "65004"
|
|
peer_device: leaf7
|
|
- bgp_config: spine1
|
|
peer_address: "10.0.250.18"
|
|
description: "EVPN to leaf8"
|
|
peer_group: ["10.0.250.1", "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: ["10.0.250.2", "evpn"]
|
|
remote_asn: "65001"
|
|
peer_device: leaf1
|
|
- bgp_config: spine2
|
|
peer_address: "10.0.250.12"
|
|
description: "EVPN to leaf2"
|
|
peer_group: ["10.0.250.2", "evpn"]
|
|
remote_asn: "65001"
|
|
peer_device: leaf2
|
|
- bgp_config: spine2
|
|
peer_address: "10.0.250.13"
|
|
description: "EVPN to leaf3"
|
|
peer_group: ["10.0.250.2", "evpn"]
|
|
remote_asn: "65002"
|
|
peer_device: leaf3
|
|
- bgp_config: spine2
|
|
peer_address: "10.0.250.14"
|
|
description: "EVPN to leaf4"
|
|
peer_group: ["10.0.250.2", "evpn"]
|
|
remote_asn: "65002"
|
|
peer_device: leaf4
|
|
- bgp_config: spine2
|
|
peer_address: "10.0.250.15"
|
|
description: "EVPN to leaf5"
|
|
peer_group: ["10.0.250.2", "evpn"]
|
|
remote_asn: "65003"
|
|
peer_device: leaf5
|
|
- bgp_config: spine2
|
|
peer_address: "10.0.250.16"
|
|
description: "EVPN to leaf6"
|
|
peer_group: ["10.0.250.2", "evpn"]
|
|
remote_asn: "65003"
|
|
peer_device: leaf6
|
|
- bgp_config: spine2
|
|
peer_address: "10.0.250.17"
|
|
description: "EVPN to leaf7"
|
|
peer_group: ["10.0.250.2", "evpn"]
|
|
remote_asn: "65004"
|
|
peer_device: leaf7
|
|
- bgp_config: spine2
|
|
peer_address: "10.0.250.18"
|
|
description: "EVPN to leaf8"
|
|
peer_group: ["10.0.250.2", "evpn"]
|
|
remote_asn: "65004"
|
|
peer_device: leaf8
|
|
# ============================================================
|
|
# Leaf1 sessions
|
|
# ============================================================
|
|
- bgp_config: leaf1
|
|
peer_address: "10.0.1.0"
|
|
description: "underlay to spine1"
|
|
peer_group: ["10.0.250.11", "underlay"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf1
|
|
peer_address: "10.0.2.0"
|
|
description: "underlay to spine2"
|
|
peer_group: ["10.0.250.11", "underlay"]
|
|
peer_device: spine2
|
|
- bgp_config: leaf1
|
|
peer_address: "10.0.3.1"
|
|
description: "iBGP to leaf2"
|
|
peer_group: ["10.0.250.11", "underlay_ibgp"]
|
|
peer_device: leaf2
|
|
- bgp_config: leaf1
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: ["10.0.250.11", "evpn"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf1
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: ["10.0.250.11", "evpn"]
|
|
peer_device: spine2
|
|
# ============================================================
|
|
# Leaf2 sessions
|
|
# ============================================================
|
|
- bgp_config: leaf2
|
|
peer_address: "10.0.1.2"
|
|
description: "underlay to spine1"
|
|
peer_group: ["10.0.250.12", "underlay"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf2
|
|
peer_address: "10.0.2.2"
|
|
description: "underlay to spine2"
|
|
peer_group: ["10.0.250.12", "underlay"]
|
|
peer_device: spine2
|
|
- bgp_config: leaf2
|
|
peer_address: "10.0.3.0"
|
|
description: "iBGP to leaf1"
|
|
peer_group: ["10.0.250.12", "underlay_ibgp"]
|
|
peer_device: leaf1
|
|
- bgp_config: leaf2
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: ["10.0.250.12", "evpn"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf2
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: ["10.0.250.12", "evpn"]
|
|
peer_device: spine2
|
|
# ============================================================
|
|
# Leaf3 sessions
|
|
# ============================================================
|
|
- bgp_config: leaf3
|
|
peer_address: "10.0.1.4"
|
|
description: "underlay to spine1"
|
|
peer_group: ["10.0.250.13", "underlay"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf3
|
|
peer_address: "10.0.2.4"
|
|
description: "underlay to spine2"
|
|
peer_group: ["10.0.250.13", "underlay"]
|
|
peer_device: spine2
|
|
- bgp_config: leaf3
|
|
peer_address: "10.0.3.3"
|
|
description: "iBGP to leaf4"
|
|
peer_group: ["10.0.250.13", "underlay_ibgp"]
|
|
peer_device: leaf4
|
|
- bgp_config: leaf3
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: ["10.0.250.13", "evpn"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf3
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: ["10.0.250.13", "evpn"]
|
|
peer_device: spine2
|
|
# ============================================================
|
|
# Leaf4 sessions
|
|
# ============================================================
|
|
- bgp_config: leaf4
|
|
peer_address: "10.0.1.6"
|
|
description: "underlay to spine1"
|
|
peer_group: ["10.0.250.14", "underlay"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf4
|
|
peer_address: "10.0.2.6"
|
|
description: "underlay to spine2"
|
|
peer_group: ["10.0.250.14", "underlay"]
|
|
peer_device: spine2
|
|
- bgp_config: leaf4
|
|
peer_address: "10.0.3.2"
|
|
description: "iBGP to leaf3"
|
|
peer_group: ["10.0.250.14", "underlay_ibgp"]
|
|
peer_device: leaf3
|
|
- bgp_config: leaf4
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: ["10.0.250.14", "evpn"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf4
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: ["10.0.250.14", "evpn"]
|
|
peer_device: spine2
|
|
# ============================================================
|
|
# Leaf5 sessions
|
|
# ============================================================
|
|
- bgp_config: leaf5
|
|
peer_address: "10.0.1.8"
|
|
description: "underlay to spine1"
|
|
peer_group: ["10.0.250.15", "underlay"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf5
|
|
peer_address: "10.0.2.8"
|
|
description: "underlay to spine2"
|
|
peer_group: ["10.0.250.15", "underlay"]
|
|
peer_device: spine2
|
|
- bgp_config: leaf5
|
|
peer_address: "10.0.3.5"
|
|
description: "iBGP to leaf6"
|
|
peer_group: ["10.0.250.15", "underlay_ibgp"]
|
|
peer_device: leaf6
|
|
- bgp_config: leaf5
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: ["10.0.250.15", "evpn"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf5
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: ["10.0.250.15", "evpn"]
|
|
peer_device: spine2
|
|
# ============================================================
|
|
# Leaf6 sessions
|
|
# ============================================================
|
|
- bgp_config: leaf6
|
|
peer_address: "10.0.1.10"
|
|
description: "underlay to spine1"
|
|
peer_group: ["10.0.250.16", "underlay"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf6
|
|
peer_address: "10.0.2.10"
|
|
description: "underlay to spine2"
|
|
peer_group: ["10.0.250.16", "underlay"]
|
|
peer_device: spine2
|
|
- bgp_config: leaf6
|
|
peer_address: "10.0.3.4"
|
|
description: "iBGP to leaf5"
|
|
peer_group: ["10.0.250.16", "underlay_ibgp"]
|
|
peer_device: leaf5
|
|
- bgp_config: leaf6
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: ["10.0.250.16", "evpn"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf6
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: ["10.0.250.16", "evpn"]
|
|
peer_device: spine2
|
|
# ============================================================
|
|
# Leaf7 sessions (+ VRF gold border session)
|
|
# ============================================================
|
|
- bgp_config: leaf7
|
|
peer_address: "10.0.1.12"
|
|
description: "underlay to spine1"
|
|
peer_group: ["10.0.250.17", "underlay"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf7
|
|
peer_address: "10.0.2.12"
|
|
description: "underlay to spine2"
|
|
peer_group: ["10.0.250.17", "underlay"]
|
|
peer_device: spine2
|
|
- bgp_config: leaf7
|
|
peer_address: "10.0.3.7"
|
|
description: "iBGP to leaf8"
|
|
peer_group: ["10.0.250.17", "underlay_ibgp"]
|
|
peer_device: leaf8
|
|
- bgp_config: leaf7
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: ["10.0.250.17", "evpn"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf7
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: ["10.0.250.17", "evpn"]
|
|
peer_device: spine2
|
|
# Border session in VRF gold
|
|
- bgp_config: leaf7
|
|
peer_address: "10.90.90.1"
|
|
description: "VRF gold border to AS 64999"
|
|
remote_asn: "64999"
|
|
vrf: gold
|
|
# ============================================================
|
|
# Leaf8 sessions (+ VRF gold border session)
|
|
# ============================================================
|
|
- bgp_config: leaf8
|
|
peer_address: "10.0.1.14"
|
|
description: "underlay to spine1"
|
|
peer_group: ["10.0.250.18", "underlay"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf8
|
|
peer_address: "10.0.2.14"
|
|
description: "underlay to spine2"
|
|
peer_group: ["10.0.250.18", "underlay"]
|
|
peer_device: spine2
|
|
- bgp_config: leaf8
|
|
peer_address: "10.0.3.6"
|
|
description: "iBGP to leaf7"
|
|
peer_group: ["10.0.250.18", "underlay_ibgp"]
|
|
peer_device: leaf7
|
|
- bgp_config: leaf8
|
|
peer_address: "10.0.250.1"
|
|
description: "EVPN to spine1"
|
|
peer_group: ["10.0.250.18", "evpn"]
|
|
peer_device: spine1
|
|
- bgp_config: leaf8
|
|
peer_address: "10.0.250.2"
|
|
description: "EVPN to spine2"
|
|
peer_group: ["10.0.250.18", "evpn"]
|
|
peer_device: spine2
|
|
# Border session in VRF gold
|
|
- bgp_config: leaf8
|
|
peer_address: "10.90.90.1"
|
|
description: "VRF gold border to AS 64999"
|
|
remote_asn: "64999"
|
|
vrf: gold
|
|
---
|
|
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:
|
|
- ["10.0.250.1", "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:
|
|
- ["10.0.250.2", "evpn"]
|
|
# ============================================================
|
|
# Leaf1 address families
|
|
# ============================================================
|
|
- bgp_config: leaf1
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.11", "underlay"]
|
|
- ["10.0.250.11", "underlay_ibgp"]
|
|
networks:
|
|
- "10.0.250.11/32"
|
|
- "10.0.255.11/32"
|
|
- bgp_config: leaf1
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.11", "evpn"]
|
|
# ============================================================
|
|
# Leaf2 address families
|
|
# ============================================================
|
|
- bgp_config: leaf2
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.12", "underlay"]
|
|
- ["10.0.250.12", "underlay_ibgp"]
|
|
networks:
|
|
- "10.0.250.12/32"
|
|
- "10.0.255.11/32"
|
|
- bgp_config: leaf2
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.12", "evpn"]
|
|
# ============================================================
|
|
# Leaf3 address families
|
|
# ============================================================
|
|
- bgp_config: leaf3
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.13", "underlay"]
|
|
- ["10.0.250.13", "underlay_ibgp"]
|
|
networks:
|
|
- "10.0.250.13/32"
|
|
- "10.0.255.12/32"
|
|
- bgp_config: leaf3
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.13", "evpn"]
|
|
# ============================================================
|
|
# Leaf4 address families
|
|
# ============================================================
|
|
- bgp_config: leaf4
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.14", "underlay"]
|
|
- ["10.0.250.14", "underlay_ibgp"]
|
|
networks:
|
|
- "10.0.250.14/32"
|
|
- "10.0.255.12/32"
|
|
- bgp_config: leaf4
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.14", "evpn"]
|
|
# ============================================================
|
|
# Leaf5 address families
|
|
# ============================================================
|
|
- bgp_config: leaf5
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.15", "underlay"]
|
|
- ["10.0.250.15", "underlay_ibgp"]
|
|
networks:
|
|
- "10.0.250.15/32"
|
|
- "10.0.255.13/32"
|
|
- bgp_config: leaf5
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.15", "evpn"]
|
|
# ============================================================
|
|
# Leaf6 address families
|
|
# ============================================================
|
|
- bgp_config: leaf6
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.16", "underlay"]
|
|
- ["10.0.250.16", "underlay_ibgp"]
|
|
networks:
|
|
- "10.0.250.16/32"
|
|
- "10.0.255.13/32"
|
|
- bgp_config: leaf6
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.16", "evpn"]
|
|
# ============================================================
|
|
# Leaf7 address families
|
|
# ============================================================
|
|
- bgp_config: leaf7
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.17", "underlay"]
|
|
- ["10.0.250.17", "underlay_ibgp"]
|
|
networks:
|
|
- "10.0.250.17/32"
|
|
- "10.0.255.14/32"
|
|
- bgp_config: leaf7
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.17", "evpn"]
|
|
# ============================================================
|
|
# Leaf8 address families
|
|
# ============================================================
|
|
- bgp_config: leaf8
|
|
afi: ipv4
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.18", "underlay"]
|
|
- ["10.0.250.18", "underlay_ibgp"]
|
|
networks:
|
|
- "10.0.250.18/32"
|
|
- "10.0.255.14/32"
|
|
- bgp_config: leaf8
|
|
afi: evpn
|
|
safi: unicast
|
|
active_peer_groups:
|
|
- ["10.0.250.18", "evpn"]
|