# VRF Schema for EVPN-VXLAN Fabric # Defines VRF and Route Target configuration for L3 VPN --- version: "1.0" nodes: # ================================================================ # VRF (Virtual Routing and Forwarding) # ================================================================ - name: VRF namespace: Infra description: Virtual Routing and Forwarding instance label: VRF icon: mdi--router include_in_menu: false human_friendly_id: - name__value order_by: - name__value display_label: "{{ name__value }}" attributes: - name: name kind: Text unique: true description: VRF name - name: description kind: Text optional: true - name: route_distinguisher kind: Text optional: true description: "Route Distinguisher (format: ASN:NN or IP:NN)" - name: vrf_id kind: Number optional: true description: VRF table ID relationships: - name: l3vni peer: InfraVNI cardinality: one optional: true description: L3 VNI for symmetric IRB - name: import_targets peer: InfraRouteTarget identifier: vrf_import_targets cardinality: many direction: outbound optional: true - name: export_targets peer: InfraRouteTarget identifier: vrf_export_targets cardinality: many direction: outbound optional: true - name: interfaces peer: InfraInterface cardinality: many optional: true description: Interfaces assigned to this VRF # ================================================================ # Route Target # ================================================================ - name: RouteTarget namespace: Infra description: BGP Route Target for VPN import/export label: Route Target icon: mdi--target include_in_menu: false human_friendly_id: - target__value order_by: - target__value display_label: "{{ target__value }}" attributes: - name: target kind: Text unique: true description: "Route Target value (format: ASN:NN or IP:NN)" - name: description kind: Text optional: true # ================================================================ # VRF Device Assignment # ================================================================ - name: VRFDeviceAssignment namespace: Infra description: VRF assignment to a specific device label: VRF Assignment icon: mdi--router-network include_in_menu: false human_friendly_id: - device__name__value - vrf__name__value display_label: "{{ device__name__value }} - {{ vrf__name__value }}" attributes: - name: route_distinguisher kind: Text optional: true description: "Device-specific RD (overrides VRF default)" relationships: - name: vrf peer: InfraVRF cardinality: one optional: false - name: device peer: InfraDevice cardinality: one kind: Parent optional: false - name: import_targets peer: InfraRouteTarget identifier: vrf_assignment_import_targets cardinality: many direction: outbound optional: true description: Device-specific import RTs - name: export_targets peer: InfraRouteTarget identifier: vrf_assignment_export_targets cardinality: many direction: outbound optional: true description: Device-specific export RTs