Compare commits
7 Commits
f69bba2bf1
...
cf05a5d477
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cf05a5d477 | ||
|
|
f623d12b8c | ||
|
|
e527534820 | ||
|
|
ed820f3380 | ||
|
|
82af2daafc | ||
|
|
719ecfafaa | ||
|
|
3654c2de9d |
@@ -50,7 +50,6 @@ This directory contains the Infrahub schema definitions for modeling an EVPN-VXL
|
||||
│ - Loopback │ │ (underlay, │ │ (neighbors) │
|
||||
│ - Vlan │ │ evpn) │ └──────────────┘
|
||||
│ - Lag │ └──────────────┘
|
||||
│ - Vxlan │
|
||||
└──────┬───────┘
|
||||
│
|
||||
▼
|
||||
@@ -81,7 +80,7 @@ The schema models this topology from `arista-evpn-vxlan-clab`:
|
||||
| Port-Channel1 | InfraMlagInterface (host-facing) |
|
||||
| Ethernet1-8 | InfraInterfaceEthernet |
|
||||
| Loopback0, Loopback1 | InfraInterfaceLoopback |
|
||||
| Vxlan1 | InfraInterfaceVxlan |
|
||||
| Vxlan1 | InfraVTEP |
|
||||
| peer groups | InfraBGPPeerGroup |
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -129,10 +129,6 @@ nodes:
|
||||
label: Border Leaf
|
||||
color: "#f59e0b"
|
||||
description: Fabric role
|
||||
- name: router_id
|
||||
kind: IPHost
|
||||
optional: true
|
||||
description: BGP Router ID (typically Loopback0)
|
||||
- name: status
|
||||
kind: Dropdown
|
||||
default_value: active
|
||||
@@ -258,6 +254,15 @@ nodes:
|
||||
- device__name__value
|
||||
- name__value
|
||||
display_label: "{{ name__value }}"
|
||||
attributes:
|
||||
- name: virtual_router_address
|
||||
kind: IPHost
|
||||
optional: true
|
||||
description: Anycast gateway IP (ip virtual-router address)
|
||||
- name: autostate
|
||||
kind: Boolean
|
||||
default_value: true
|
||||
description: "Enable autostate (set false for MLAG peer SVIs)"
|
||||
relationships:
|
||||
- name: vlan
|
||||
peer: InfraVLAN
|
||||
@@ -299,30 +304,6 @@ nodes:
|
||||
cardinality: many
|
||||
kind: Component
|
||||
|
||||
- name: InterfaceVxlan
|
||||
namespace: Infra
|
||||
description: VXLAN tunnel interface
|
||||
label: VXLAN Interface
|
||||
icon: mdi--tunnel
|
||||
include_in_menu: false
|
||||
inherit_from:
|
||||
- InfraInterface
|
||||
uniqueness_constraints:
|
||||
- ["device", "name__value"]
|
||||
human_friendly_id:
|
||||
- device__name__value
|
||||
- name__value
|
||||
display_label: "{{ name__value }}"
|
||||
attributes:
|
||||
- name: udp_port
|
||||
kind: Number
|
||||
default_value: 4789
|
||||
relationships:
|
||||
- name: source_interface
|
||||
peer: InfraInterfaceLoopback
|
||||
cardinality: one
|
||||
description: VTEP source interface (typically Loopback1)
|
||||
|
||||
# ================================================================
|
||||
# IP Address
|
||||
# ================================================================
|
||||
|
||||
@@ -49,6 +49,7 @@ nodes:
|
||||
attributes:
|
||||
- name: router_id
|
||||
kind: IPHost
|
||||
unique: true
|
||||
description: BGP Router ID
|
||||
- name: default_ipv4_unicast
|
||||
kind: Boolean
|
||||
@@ -65,6 +66,18 @@ nodes:
|
||||
kind: Number
|
||||
default_value: 64
|
||||
description: Maximum ECMP routes
|
||||
- name: ebgp_distance
|
||||
kind: Number
|
||||
default_value: 20
|
||||
description: eBGP administrative distance
|
||||
- name: ibgp_distance
|
||||
kind: Number
|
||||
default_value: 200
|
||||
description: iBGP administrative distance
|
||||
- name: local_distance
|
||||
kind: Number
|
||||
default_value: 200
|
||||
description: Local route administrative distance
|
||||
relationships:
|
||||
- name: device
|
||||
peer: InfraDevice
|
||||
@@ -92,7 +105,10 @@ nodes:
|
||||
label: BGP Peer Group
|
||||
icon: mdi--account-group
|
||||
include_in_menu: false
|
||||
uniqueness_constraints:
|
||||
- ["bgp_config", "name__value"]
|
||||
human_friendly_id:
|
||||
- bgp_config__router_id__value
|
||||
- name__value
|
||||
display_label: "{{ name__value }}"
|
||||
attributes:
|
||||
@@ -165,7 +181,10 @@ nodes:
|
||||
label: BGP Session
|
||||
icon: mdi--connection
|
||||
include_in_menu: false
|
||||
uniqueness_constraints:
|
||||
- ["bgp_config", "peer_address__value"]
|
||||
human_friendly_id:
|
||||
- bgp_config__router_id__value
|
||||
- peer_address__value
|
||||
display_label: "{{ peer_address__value }}"
|
||||
attributes:
|
||||
|
||||
@@ -72,12 +72,6 @@ nodes:
|
||||
- name: description
|
||||
kind: Text
|
||||
description: Link description (e.g., spine1:eth1 <-> leaf1:eth11)
|
||||
- name: local_ip
|
||||
kind: IPNetwork
|
||||
description: Local interface IP with mask
|
||||
- name: remote_ip
|
||||
kind: IPNetwork
|
||||
description: Remote interface IP with mask
|
||||
- name: mtu
|
||||
kind: Number
|
||||
default_value: 9214
|
||||
@@ -97,6 +91,11 @@ nodes:
|
||||
identifier: underlay_link_local_interface
|
||||
cardinality: one
|
||||
direction: outbound
|
||||
- name: local_ip_address
|
||||
peer: InfraIPAddress
|
||||
identifier: underlay_link_local_ip
|
||||
cardinality: one
|
||||
direction: outbound
|
||||
- name: remote_device
|
||||
peer: InfraDevice
|
||||
identifier: underlay_link_remote_device
|
||||
@@ -107,6 +106,11 @@ nodes:
|
||||
identifier: underlay_link_remote_interface
|
||||
cardinality: one
|
||||
direction: outbound
|
||||
- name: remote_ip_address
|
||||
peer: InfraIPAddress
|
||||
identifier: underlay_link_remote_ip
|
||||
cardinality: one
|
||||
direction: outbound
|
||||
|
||||
# ================================================================
|
||||
# Host Connection
|
||||
|
||||
@@ -20,6 +20,7 @@ nodes:
|
||||
attributes:
|
||||
- name: vlan_id
|
||||
kind: Number
|
||||
unique: true
|
||||
description: VLAN ID (1-4094)
|
||||
- name: name
|
||||
kind: Text
|
||||
@@ -51,6 +52,14 @@ nodes:
|
||||
- name: mlag_ibgp
|
||||
label: MLAG iBGP
|
||||
description: VLAN purpose
|
||||
- name: trunk_groups
|
||||
kind: List
|
||||
optional: true
|
||||
description: "Trunk groups restricting VLAN propagation (e.g., mlag-peer)"
|
||||
- name: stp_enabled
|
||||
kind: Boolean
|
||||
default_value: true
|
||||
description: "Enable spanning-tree on this VLAN (set false for MLAG peer VLANs)"
|
||||
relationships:
|
||||
- name: vni
|
||||
peer: InfraVNI
|
||||
|
||||
Reference in New Issue
Block a user