# Extensions Schema for EVPN-VXLAN Fabric # Custom attributes and fabric-specific configurations --- version: "1.0" nodes: # ============================================================================= # Fabric (Top-level container for all fabric objects) # ============================================================================= - name: Fabric namespace: Infra description: EVPN-VXLAN Fabric definition label: Fabric icon: mdi--vector-polygon default_filter: name__value order_by: - name__value display_labels: - name__value attributes: - name: name kind: Text unique: true description: Fabric name (e.g., arista-evpn-fabric) - name: description kind: Text optional: true - name: underlay_protocol kind: Dropdown default_value: ebgp choices: - name: ebgp label: eBGP - name: ospf label: OSPF - name: isis label: IS-IS - name: overlay_protocol kind: Dropdown default_value: evpn choices: - name: evpn label: EVPN - name: ingress_replication label: Ingress Replication - name: anycast_gateway_mac kind: Text optional: true description: "Shared MAC for anycast gateway (format: xxxx.xxxx.xxxx)" relationships: - name: spine_asn peer: InfraAutonomousSystem cardinality: one optional: true description: AS used by spine layer - name: sites peer: LocationSite cardinality: many optional: true # ============================================================================= # Underlay P2P Link # ============================================================================= - name: UnderlayLink namespace: Infra description: Point-to-point underlay link between devices label: Underlay Link icon: mdi--cable-data display_labels: - local_device__name__value - remote_device__name__value attributes: - 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 relationships: - name: fabric peer: InfraFabric cardinality: one kind: Parent - name: local_device peer: InfraDevice identifier: underlay_link_local_device cardinality: one direction: outbound - name: local_interface peer: InfraInterfaceEthernet identifier: underlay_link_local_interface cardinality: one direction: outbound - name: remote_device peer: InfraDevice identifier: underlay_link_remote_device cardinality: one direction: outbound - name: remote_interface peer: InfraInterfaceEthernet identifier: underlay_link_remote_interface cardinality: one direction: outbound # ============================================================================= # Host Connection # ============================================================================= - name: HostConnection namespace: Infra description: Host connection to fabric (single or dual-homed) label: Host Connection icon: mdi--desktop-tower default_filter: hostname__value display_labels: - hostname__value attributes: - name: hostname kind: Text description: Connected host name - name: description kind: Text optional: true - name: connection_type kind: Dropdown default_value: dual_homed choices: - name: single_homed label: Single-Homed - name: dual_homed label: Dual-Homed (MLAG) - name: lacp_mode kind: Dropdown default_value: active choices: - name: active label: Active - name: passive label: Passive relationships: - name: vlans peer: InfraVLAN cardinality: many description: VLANs allowed on this connection - name: mlag_interface peer: InfraMlagInterface cardinality: one optional: true description: MLAG interface for dual-homed - name: lag_interface peer: InfraInterfaceLag cardinality: one optional: true description: LAG for single-homed