Compare commits

...

7 Commits

5 changed files with 48 additions and 36 deletions

View File

@@ -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

View File

@@ -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
# ================================================================

View File

@@ -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:

View File

@@ -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

View File

@@ -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