diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/_variables.md b/enterprise_wan/ewan_adv_core_edge/configuration/snips/_variables.md index e901c49..356a0d4 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/_variables.md +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/_variables.md @@ -8,11 +8,11 @@ with site-specific values when adapting snips to a new deployment. | Variable | Example | Used in | |----------|---------|---------| | `$CORE_INTF` | `et-0/0/1` | physical-uplink-mpls, rewrite-rules-exp | -| `$ACCESS_INTF` | `xe-0/0/9:0` | rewrite-rules-exp, ccc-vpws-mux | +| `$ACCESS_INTF` | `xe-0/0/9:0` | rewrite-rules-exp, vlan-ccc-esi | | `$LAG_INTF` | `ae0` | lag-flexible-services | | `$LAG_MEMBER` | `xe-0/0/9:0` | lag-flexible-services | -| `$UNIT` | `301` | ccc-vpws-mux, irb-gateway, rewrite-rules-exp | -| `$VLAN_ID` | `301` | ccc-vpws-mux, irb-gateway | +| `$UNIT` | `301` | vlan-ccc-esi, irb-gateway, rewrite-rules-exp | +| `$VLAN_ID` | `301` | vlan-ccc-esi, irb-gateway | | `$LOOPBACK_IPV4` | `192.168.0.1/32` | loopback | | `$LOOPBACK_IPV6` | `fd00::1/128` | loopback | | `$IRB_IPV4` | `10.0.1.1/24` | irb-gateway | @@ -37,14 +37,14 @@ with site-specific values when adapting snips to a new deployment. | Variable | Example | Used in | |----------|---------|---------| -| `$VPN_INSTANCE` | `vpws_group_14_1` | evpn-vpws-fxc, evpn-vpws-simple | +| `$VPN_INSTANCE` | `vpws_group_14_1` | evpn-fxc-vlan-aware, evpn-vpws-vlan-based | | `$RD` | `192.168.0.1:14001` | all services | | `$RT_IMPORT` | `target:65001:14001` | all services | | `$RT_EXPORT` | `target:65001:14001` | all services | -| `$LOCAL_ID` | `1` | evpn-vpws-fxc, evpn-vpws-simple | -| `$REMOTE_ID` | `2` | evpn-vpws-fxc, evpn-vpws-simple | -| `$FXC_INTF` | `lsi.*` | evpn-vpws-fxc | -| `$ELAN_VNI` | `5001` | evpn-elan-simple (if extended) | +| `$LOCAL_ID` | `1` | evpn-fxc-vlan-aware, evpn-vpws-vlan-based | +| `$REMOTE_ID` | `2` | evpn-fxc-vlan-aware, evpn-vpws-vlan-based | +| `$FXC_INTF` | `lsi.*` | evpn-fxc-vlan-aware | +| `$ELAN_VNI` | `5001` | evpn-elan-vlan-based (if extended) | ## CoS / QoS diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/ccc-vpws-mux.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/ccc-vpws-mux.conf deleted file mode 100644 index 479741a..0000000 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/ccc-vpws-mux.conf +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Topic: VPWS and ELAN attachment-circuit units (vlan-ccc with ESI, vlan-bridge) - * Variant: Evolved-OS (EVO) - * Seen on: - * Junos: wanedge1_mx304 wanedge2_mx10004 - * EVO: wanedge3_acx7509 wanedge4_acx7100-48l - * - * Highlights: - * - Body is structurally identical to the Junos sibling - * - Same ESI format and all-active multi-homing semantics - * - EVO uses ether-options { 802.3ad } for member links (vs gigether-options on MX) - * - vlan-bridge units on EVO feed mac-vrf instances (not instance-type evpn) - * - * Pair with: - * - evo/interfaces/lag-flexible-services.conf (the parent ae interface) - * - evo/services/evpn-vpws-simple.conf (instances binding these vlan-ccc units) - * - evo/services/mac-vrf-elan.conf (instances binding these vlan-bridge units) - * - evo/oam/cfm-maintenance-domain.conf - * - evo/services/evpn-vpws-fxc.conf - * - * Variables (example values from wanedge3_acx7509): - * $LAG_INTF e.g. ae0 - * $UNIT e.g. 1 - * $VLAN_ID e.g. 1 - * $ESI e.g. 00:34:34:34:34:34:34:34:11:01 - */ - -/* --- VPWS AC (vlan-ccc with ESI, multi-homed) --- */ - -interfaces { - $LAG_INTF { - unit $UNIT { - encapsulation vlan-ccc; - vlan-id $VLAN_ID; - esi { - $ESI; - all-active; - } - family ccc; - } - } -} - -/* --- ELAN AC (vlan-bridge, no ESI needed for bridge units) --- */ - -interfaces { - $LAG_INTF { - unit $UNIT { - encapsulation vlan-bridge; - vlan-id $VLAN_ID; - } - } -} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/irb-gateway.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/irb-gateway.conf index 40d6f7a..efa7abf 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/irb-gateway.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/irb-gateway.conf @@ -11,7 +11,7 @@ * - Referenced via l3-interface in the mac-vrf vlans stanza (vs routing-interface on Junos) * * Pair with: - * - evo/services/mac-vrf-elan.conf (mac-vrf with l3-interface irb.$UNIT) + * - evo/services/evpn-elan-vlan-based-irb.conf (mac-vrf with l3-interface irb.$UNIT) * - evo/services/evpn-vrf-ip-prefix.conf (VRF binding interface irb.$UNIT) * * Variables (example values from wanedge3_acx7509): diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/lag-flexible-services.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/lag-flexible-services.conf index fdd8a5c..3b1ed36 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/lag-flexible-services.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/lag-flexible-services.conf @@ -12,8 +12,12 @@ * - Member links use ether-options { 802.3ad ae0; } (vs gigether-options on Junos MX) * * Pair with: - * - evo/interfaces/ccc-vpws-mux.conf (per-unit VPWS/ELAN AC config on this LAG) - * - evo/services/evpn-vpws-fxc.conf (instances referencing ae0.* units) + * - evo/interfaces/vlan-ccc-esi.conf (per-unit VPWS AC config on this LAG) + * - evo/interfaces/vlan-bridge.conf (per-unit ELAN AC config on this LAG) + * - evo/services/evpn-vpws-vlan-based.conf (VPWS instances binding vlan-ccc units) + * - evo/services/evpn-fxc-vlan-aware.conf (FXC instances referencing ae0.* units) + * - evo/services/evpn-elan-vlan-bundle.conf (ELAN instances binding vlan-bridge units) + * - evo/services/evpn-elan-vlan-based-irb.conf (ELAN+IRB instances binding vlan-bridge units) * - evo/bootstrap/chassis-network-services.conf * - evo/transport/forwarding-options-hash.conf * diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/vlan-bridge.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/vlan-bridge.conf new file mode 100644 index 0000000..ba5988e --- /dev/null +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/vlan-bridge.conf @@ -0,0 +1,33 @@ +/* + * Topic: ELAN attachment-circuit (vlan-bridge encapsulation) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: wanedge1_mx304 wanedge2_mx10004 + * EVO: wanedge3_acx7509 wanedge4_acx7100-48l + * + * Highlights: + * - encapsulation vlan-bridge carries L2 multipoint ELAN traffic + * - No ESI needed — bridging semantics don't require per-unit multi-homing + * (the parent LAG ESI handles it at the bundle level) + * - No family statement — bridging is implied by the encapsulation + * - Scale: ~1000 vlan-bridge units per ae0 in this JVD + * + * Pair with: + * - evo/interfaces/lag-flexible-services.conf (the parent ae interface) + * - evo/services/evpn-elan-vlan-bundle.conf (ELAN instances binding these units) + * - evo/services/evpn-elan-vlan-based-irb.conf (ELAN+IRB instances binding these units) + * + * Variables (example values from wanedge3_acx7509): + * $LAG_INTF e.g. ae0 + * $UNIT e.g. 2001 + * $VLAN_ID e.g. 2001 + */ + +interfaces { + $LAG_INTF { + unit $UNIT { + encapsulation vlan-bridge; + vlan-id $VLAN_ID; + } + } +} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/vlan-ccc-esi.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/vlan-ccc-esi.conf new file mode 100644 index 0000000..42a44aa --- /dev/null +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/vlan-ccc-esi.conf @@ -0,0 +1,40 @@ +/* + * Topic: VPWS attachment-circuit (vlan-ccc with ESI all-active multi-homing) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: wanedge1_mx304 wanedge2_mx10004 + * EVO: wanedge3_acx7509 wanedge4_acx7100-48l + * + * Highlights: + * - encapsulation vlan-ccc carries point-to-point VPWS traffic + * - ESI with all-active enables per-flow multi-homing across PE pairs + * - ESI is a 10-byte identifier — must be identical on both multi-homed PEs + * - family ccc is required for circuit cross-connect semantics + * - Scale: ~1500 vlan-ccc units per ae0 in this JVD + * + * Pair with: + * - evo/interfaces/lag-flexible-services.conf (the parent ae interface) + * - evo/services/evpn-vpws-vlan-based.conf (instances binding these vlan-ccc units) + * - evo/services/evpn-fxc-vlan-aware.conf (FXC instances binding these units) + * - evo/oam/cfm-maintenance-domain.conf + * + * Variables (example values from wanedge3_acx7509): + * $LAG_INTF e.g. ae0 + * $UNIT e.g. 1 + * $VLAN_ID e.g. 1 + * $ESI e.g. 00:34:34:34:34:34:34:34:11:01 + */ + +interfaces { + $LAG_INTF { + unit $UNIT { + encapsulation vlan-ccc; + vlan-id $VLAN_ID; + esi { + $ESI; + all-active; + } + family ccc; + } + } +} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/oam/cfm-maintenance-domain.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/oam/cfm-maintenance-domain.conf index 10724c6..5be50a6 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/oam/cfm-maintenance-domain.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/oam/cfm-maintenance-domain.conf @@ -12,7 +12,7 @@ * * Pair with: * - evo/oam/cfm-sla-iterator.conf (performance measurement on these MEPs) - * - evo/interfaces/ccc-vpws-mux.conf (AC interfaces referenced by MEPs) + * - evo/interfaces/vlan-ccc-esi.conf (AC interfaces referenced by MEPs) * * Variables: * $MD_NAME e.g. m-d301 diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-elan-vlan-based-irb.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-elan-vlan-based-irb.conf new file mode 100644 index 0000000..6356f1a --- /dev/null +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-elan-vlan-based-irb.conf @@ -0,0 +1,60 @@ +/* + * Topic: EVPN-ELAN vlan-based with IRB gateway (L2+L3 integrated) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: wanedge3_acx7509 wanedge4_acx7100-48l + * + * Highlights: + * - EVO uses instance-type mac-vrf with service-type vlan-based + * - Each VLAN gets explicit vlan-id + l3-interface for IRB routing + * - encapsulation mpls explicitly sets EVPN/MPLS data-plane + * - default-gateway do-not-advertise suppresses Type-5 default from this instance + * - no-control-word is explicit on EVO + * - The IRB interface is associated with a VRF instance for ip-prefix-route advertisement + * - Scale: ~600 vlan-based ELAN instances per WAN edge in this JVD + * + * Pair with: + * - evo/services/evpn-vrf-ip-prefix.conf (the L3 VRF binding irb.$UNIT) + * - evo/interfaces/irb-gateway.conf (IRB unit config) + * - evo/interfaces/vlan-bridge.conf (the vlan-bridge AC units) + * - evo/interfaces/lag-flexible-services.conf (the parent ae interface) + * + * JVD service mapping: + * 1225 instances across 2 EVO WAN-edge devices + * wanedge3_acx7509: 600 + * wanedge4_acx7100-48l: 625 + * Examples: elan_group_95_476, elan_group_95_478, elan_group_95_480 + * + * Variables (example values from wanedge3_acx7509): + * $INSTANCE_NAME e.g. elan_group_95_476 + * $AC_INTF_1 e.g. ae0.476 + * $VLAN_NAME e.g. svbased_476 + * $VLAN_ID e.g. 476 + * $IRB_UNIT e.g. irb.476 + * $RD e.g. 44.44.44.44:476 + * $RT e.g. target:62525:476 + */ + +routing-instances { + $INSTANCE_NAME { + instance-type mac-vrf; + protocols { + evpn { + encapsulation mpls; + default-gateway do-not-advertise; + no-control-word; + } + } + service-type vlan-based; + route-distinguisher $RD; + vrf-target $RT; + vlans { + $VLAN_NAME { + vlan-id $VLAN_ID; + interface $AC_INTF_1; + l3-interface $IRB_UNIT; + } + } + } +} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-elan-vlan-bundle.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-elan-vlan-bundle.conf new file mode 100644 index 0000000..ba104d1 --- /dev/null +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-elan-vlan-bundle.conf @@ -0,0 +1,52 @@ +/* + * Topic: EVPN-ELAN vlan-bundle (L2 multipoint, no IRB) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: wanedge3_acx7509 wanedge4_acx7100-48l + * + * Highlights: + * - EVO uses instance-type mac-vrf (Junos MX uses instance-type evpn) + * - service-type vlan-bundle: multiple ACs grouped under a single vlans stanza + * - Pure L2 switching — no IRB, no per-VLAN L3 gateway + * - no-control-word is explicit on EVO + * - Scale: ~600 vlan-bundle ELAN instances per WAN edge in this JVD + * + * Pair with: + * - evo/interfaces/vlan-bridge.conf (the vlan-bridge AC units) + * - evo/interfaces/lag-flexible-services.conf (the parent ae interface) + * + * JVD service mapping: + * 1200 instances across 2 EVO WAN-edge devices + * wanedge3_acx7509: 600 + * wanedge4_acx7100-48l: 600 + * Examples: elan_group_500_2001, elan_group_500_2003, elan_group_500_2005 + * + * Variables (example values from wanedge3_acx7509): + * $INSTANCE_NAME e.g. elan_group_500_2001 + * $AC_INTF_1 e.g. ae0.2001 + * $AC_INTF_2 e.g. ae0.2002 + * $VLAN_NAME e.g. mvbundle_2001 + * $RD e.g. 44.44.44.44:2001 + * $RT e.g. target:62525:2001 + */ + +routing-instances { + $INSTANCE_NAME { + instance-type mac-vrf; + protocols { + evpn { + no-control-word; + } + } + service-type vlan-bundle; + route-distinguisher $RD; + vrf-target $RT; + vlans { + $VLAN_NAME { + interface $AC_INTF_1; + interface $AC_INTF_2; + } + } + } +} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-fxc.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-fxc-vlan-aware.conf similarity index 89% rename from enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-fxc.conf rename to enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-fxc-vlan-aware.conf index fd0e91a..136cb21 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-fxc.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-fxc-vlan-aware.conf @@ -1,12 +1,11 @@ /* - * Topic: EVPN-VPWS with Flexible Cross-Connect (multi-AC VLAN-aware) + * Topic: EVPN FXC vlan-aware (Flexible Cross-Connect, multi-AC) * Variant: Evolved-OS (EVO) * Seen on: * Junos: wanedge1_mx304 wanedge2_mx10004 * EVO: wanedge3_acx7509 wanedge4_acx7100-48l * * Highlights: - * - Body is structurally identical to the Junos sibling (only local/remote IDs differ per-site) * - Multi-homed VPWS carrying 2+ VLANs per instance via flexible-cross-connect-vlan-aware * - Each AC interface gets its own vpws-service-id pair (local/remote must be swapped on the far end) * - All ACs share a single RD and RT; the service-id disambiguates circuits within the instance @@ -14,7 +13,7 @@ * * Pair with: * - evo/interfaces/lag-flexible-services.conf (the ae0 bundle carrying these ACs) - * - evo/interfaces/ccc-vpws-mux.conf (per-AC unit config on ae0) + * - evo/interfaces/vlan-ccc-esi.conf (per-AC unit config on ae0) * * JVD service mapping: * 1800 instances across 4 WAN-edge devices diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-simple.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-vlan-based.conf similarity index 78% rename from enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-simple.conf rename to enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-vlan-based.conf index 57c06a2..9161d89 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-simple.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-vlan-based.conf @@ -1,19 +1,19 @@ /* - * Topic: EVPN-VPWS point-to-point pseudowire (single AC, control-word) + * Topic: EVPN-VPWS vlan-based point-to-point pseudowire (single AC, control-word) * Variant: Evolved-OS (EVO) * Seen on: * Junos: wanedge1_mx304 wanedge2_mx10004 * EVO: wanedge3_acx7509 wanedge4_acx7100-48l * * Highlights: - * - Body is structurally identical to the Junos sibling - * - Simplest VPWS: one AC interface, one vpws-service-id pair, control-word enabled + * - Single AC interface, one vpws-service-id pair, control-word enabled * - control-word ensures correct sequencing and prevents fat-pipe reordering issues * - local/remote IDs must be mirror-swapped on the PE peer (local 30 ↔ remote 20) - * - Scale: ~1000 simple VPWS instances per WAN edge in this JVD + * - Scale: ~1000 VPWS instances per WAN edge in this JVD * * Pair with: - * - evo/interfaces/ccc-vpws-mux.conf (the per-unit AC config on the physical/LAG interface) + * - evo/interfaces/vlan-ccc-esi.conf (the per-unit AC config on the LAG interface) + * - evo/interfaces/lag-flexible-services.conf (the parent ae interface) * * JVD service mapping: * 1800 instances across 4 WAN-edge devices diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vrf-ip-prefix.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vrf-ip-prefix.conf index a16ab49..fd72c2d 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vrf-ip-prefix.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vrf-ip-prefix.conf @@ -14,7 +14,7 @@ * - Scale: ~350 VRF instances per WAN edge in this JVD * * Pair with: - * - evo/services/mac-vrf-elan.conf (the bridge domain whose IRB feeds this VRF) + * - evo/services/evpn-elan-vlan-based-irb.conf (the bridge domain whose IRB feeds this VRF) * - evo/interfaces/irb-gateway.conf (IRB unit addressing) * * JVD service mapping: diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/mac-vrf-elan.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/mac-vrf-elan.conf deleted file mode 100644 index e3971f0..0000000 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/mac-vrf-elan.conf +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Topic: MAC-VRF ELAN bridge domain (L2 multipoint, with optional IRB) - * Variant: Evolved-OS (EVO) - * Seen on: - * Junos: (none) - * EVO: wanedge3_acx7509 wanedge4_acx7100-48l - * - * Highlights: - * - EVO equivalent of Junos instance-type evpn; uses instance-type mac-vrf instead - * - Two service-type modes shown: vlan-bundle (simple L2) and vlan-based (with IRB gateway) - * - vlan-bundle: ACs grouped under a single vlans stanza, no per-VLAN L3 - * - vlan-based: each VLAN gets explicit vlan-id + l3-interface for IRB routing - * - no-control-word is explicit on EVO (Junos omits it when not needed) - * - default-gateway do-not-advertise suppresses Type-5 default (bridged+IRB variant only) - * - * Pair with: - * - evo/services/evpn-vrf-ip-prefix.conf (the L3 VRF binding irb.$UNIT — vlan-based only) - * - evo/interfaces/irb-gateway.conf (IRB unit config) - * - evo/interfaces/ccc-vpws-mux.conf - * - * JVD service mapping: - * 1925 instances across 4 WAN-edge devices - * wanedge1_mx304: 1200 - * wanedge2_mx10004: 1200 - * wanedge3_acx7509: 1200 - * wanedge4_acx7100-48l: 1225 - * Examples: elan_group_500_2001, elan_group_500_2003, elan_group_500_2005 - * - * Variables (example values from wanedge3_acx7509): - * $INSTANCE_NAME e.g. elan_group_500_2001 / elan_group_95_476 - * $SERVICE_TYPE e.g. vlan-bundle / vlan-based - * $AC_INTF_1 e.g. ae0.2001 - * $AC_INTF_2 e.g. ae0.2002 - * $VLAN_NAME e.g. mvbundle_2001 / svbased_476 - * $VLAN_ID e.g. 476 - * $IRB_UNIT e.g. irb.476 - * $RD e.g. 44.44.44.44:2001 - * $RT e.g. target:62525:2001 - */ - -/* --- Variant A: vlan-bundle (simple L2, no IRB) --- */ - -routing-instances { - $INSTANCE_NAME { - instance-type mac-vrf; - protocols { - evpn { - no-control-word; - } - } - service-type vlan-bundle; - route-distinguisher $RD; - vrf-target $RT; - vlans { - $VLAN_NAME { - interface $AC_INTF_1; - interface $AC_INTF_2; - } - } - } -} - -/* --- Variant B: vlan-based (with IRB gateway) --- */ - -routing-instances { - $INSTANCE_NAME { - instance-type mac-vrf; - protocols { - evpn { - encapsulation mpls; - default-gateway do-not-advertise; - no-control-word; - } - } - service-type vlan-based; - route-distinguisher $RD; - vrf-target $RT; - vlans { - $VLAN_NAME { - vlan-id $VLAN_ID; - interface $AC_INTF_1; - l3-interface $IRB_UNIT; - } - } - } -} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/ccc-vpws-mux.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/ccc-vpws-mux.conf deleted file mode 100644 index 5ba5f90..0000000 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/ccc-vpws-mux.conf +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Topic: VPWS and ELAN attachment-circuit units (vlan-ccc with ESI, vlan-bridge) - * Seen on: - * Junos: wanedge1_mx304 wanedge2_mx10004 - * EVO: wanedge3_acx7509 wanedge4_acx7100-48l - * - * Highlights: - * - vlan-ccc units carry point-to-point VPWS traffic; vlan-bridge units carry ELAN L2 frames - * - ESI with all-active enables per-flow multi-homing across PE pairs sharing the same LAG - * - ESI is a 10-byte identifier — must be identical on both multi-homed PEs for the same AC - * - Units without ESI are single-homed (e.g. traffic-generator facing ports) - * - vlan-bridge units have no family statement — bridging is implied by the encapsulation - * - Scale: ~1500 vlan-ccc units + ~1000 vlan-bridge units per ae0 in this JVD - * - * Pair with: - * - junos/interfaces/lag-flexible-services.conf (the parent ae interface) - * - junos/services/evpn-vpws-simple.conf (instances binding these vlan-ccc units) - * - junos/services/evpn-elan-simple.conf (instances binding these vlan-bridge units) - * - junos/services/evpn-elan-bridged.conf (bridged ELAN instances with IRB + VRF) - * - junos/oam/cfm-maintenance-domain.conf - * - junos/services/evpn-vpws-fxc.conf - * - * Variables (example values from wanedge1_mx304): - * $LAG_INTF e.g. ae0 - * $UNIT e.g. 1 - * $VLAN_ID e.g. 1 - * $ESI e.g. 00:12:12:12:12:12:12:12:11:01 - */ - -/* --- VPWS AC (vlan-ccc with ESI, multi-homed) --- */ - -interfaces { - $LAG_INTF { - unit $UNIT { - encapsulation vlan-ccc; - vlan-id $VLAN_ID; - esi { - $ESI; - all-active; - } - family ccc; - } - } -} - -/* --- ELAN AC (vlan-bridge, no ESI needed for bridge units) --- */ - -interfaces { - $LAG_INTF { - unit $UNIT { - encapsulation vlan-bridge; - vlan-id $VLAN_ID; - } - } -} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/irb-gateway.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/irb-gateway.conf index dc12c0c..1f73070 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/irb-gateway.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/irb-gateway.conf @@ -12,7 +12,7 @@ * - Scale: ~350 IRB units per WAN edge in this JVD (one per VRF) * * Pair with: - * - junos/services/evpn-elan-bridged.conf (ELAN instance referencing routing-interface irb.$UNIT) + * - junos/services/evpn-elan-vlan-based-irb.conf (ELAN instance referencing routing-interface irb.$UNIT) * - junos/services/evpn-vrf-ip-prefix.conf (VRF instance referencing interface irb.$UNIT) * * Variables (example values from wanedge1_mx304): diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/lag-flexible-services.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/lag-flexible-services.conf index f7c4cee..9d2839b 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/lag-flexible-services.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/lag-flexible-services.conf @@ -13,8 +13,12 @@ * - Scale: ae0 carries ~2500+ units (VPWS + ELAN) in this JVD * * Pair with: - * - junos/interfaces/ccc-vpws-mux.conf (per-unit VPWS/ELAN AC config on this LAG) - * - junos/services/evpn-vpws-fxc.conf (instances referencing ae0.* units) + * - junos/interfaces/vlan-ccc-esi.conf (per-unit VPWS AC config on this LAG) + * - junos/interfaces/vlan-bridge.conf (per-unit ELAN AC config on this LAG) + * - junos/services/evpn-vpws-vlan-based.conf (VPWS instances binding vlan-ccc units) + * - junos/services/evpn-fxc-vlan-aware.conf (FXC instances referencing ae0.* units) + * - junos/services/evpn-elan-vlan-based.conf (ELAN instances binding vlan-bridge units) + * - junos/services/evpn-elan-vlan-based-irb.conf (ELAN+IRB instances binding vlan-bridge units) * - junos/transport/forwarding-options-hash.conf * * Variables (example values from wanedge1_mx304): diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/vlan-bridge.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/vlan-bridge.conf new file mode 100644 index 0000000..ca10581 --- /dev/null +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/vlan-bridge.conf @@ -0,0 +1,32 @@ +/* + * Topic: ELAN attachment-circuit (vlan-bridge encapsulation) + * Seen on: + * Junos: wanedge1_mx304 wanedge2_mx10004 + * EVO: wanedge3_acx7509 wanedge4_acx7100-48l + * + * Highlights: + * - encapsulation vlan-bridge carries L2 multipoint ELAN traffic + * - No ESI needed — bridging semantics don't require per-unit multi-homing + * (the parent LAG ESI handles it at the bundle level) + * - No family statement — bridging is implied by the encapsulation + * - Scale: ~1000 vlan-bridge units per ae0 in this JVD + * + * Pair with: + * - junos/interfaces/lag-flexible-services.conf (the parent ae interface) + * - junos/services/evpn-elan-vlan-based.conf (ELAN instances binding these units) + * - junos/services/evpn-elan-vlan-based-irb.conf (ELAN+IRB instances binding these units) + * + * Variables (example values from wanedge1_mx304): + * $LAG_INTF e.g. ae0 + * $UNIT e.g. 2001 + * $VLAN_ID e.g. 2001 + */ + +interfaces { + $LAG_INTF { + unit $UNIT { + encapsulation vlan-bridge; + vlan-id $VLAN_ID; + } + } +} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/vlan-ccc-esi.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/vlan-ccc-esi.conf new file mode 100644 index 0000000..b3f2e09 --- /dev/null +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/vlan-ccc-esi.conf @@ -0,0 +1,39 @@ +/* + * Topic: VPWS attachment-circuit (vlan-ccc with ESI all-active multi-homing) + * Seen on: + * Junos: wanedge1_mx304 wanedge2_mx10004 + * EVO: wanedge3_acx7509 wanedge4_acx7100-48l + * + * Highlights: + * - encapsulation vlan-ccc carries point-to-point VPWS traffic + * - ESI with all-active enables per-flow multi-homing across PE pairs + * - ESI is a 10-byte identifier — must be identical on both multi-homed PEs + * - family ccc is required for circuit cross-connect semantics + * - Scale: ~1500 vlan-ccc units per ae0 in this JVD + * + * Pair with: + * - junos/interfaces/lag-flexible-services.conf (the parent ae interface) + * - junos/services/evpn-vpws-vlan-based.conf (instances binding these vlan-ccc units) + * - junos/services/evpn-fxc-vlan-aware.conf (FXC instances binding these units) + * - junos/oam/cfm-maintenance-domain.conf + * + * Variables (example values from wanedge1_mx304): + * $LAG_INTF e.g. ae0 + * $UNIT e.g. 1 + * $VLAN_ID e.g. 1 + * $ESI e.g. 00:12:12:12:12:12:12:12:11:01 + */ + +interfaces { + $LAG_INTF { + unit $UNIT { + encapsulation vlan-ccc; + vlan-id $VLAN_ID; + esi { + $ESI; + all-active; + } + family ccc; + } + } +} diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/oam/cfm-maintenance-domain.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/oam/cfm-maintenance-domain.conf index 8f0ea82..2f6f1eb 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/oam/cfm-maintenance-domain.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/oam/cfm-maintenance-domain.conf @@ -14,7 +14,7 @@ * * Pair with: * - junos/oam/cfm-sla-iterator.conf (performance measurement on these MEPs) - * - junos/interfaces/ccc-vpws-mux.conf (the AC interfaces referenced by MEPs) + * - junos/interfaces/vlan-ccc-esi.conf (the AC interfaces referenced by MEPs) * * Variables (example values from wanedge1_mx304): * $MD_NAME e.g. m-d301 diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-bridged.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-vlan-based-irb.conf similarity index 75% rename from enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-bridged.conf rename to enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-vlan-based-irb.conf index 57f3b7a..b4f6f4f 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-bridged.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-vlan-based-irb.conf @@ -1,11 +1,11 @@ /* - * Topic: EVPN ELAN bridge domain with IRB gateway (L2+L3 integrated) + * Topic: EVPN-ELAN vlan-based with IRB gateway (L2+L3 integrated) * Seen on: * Junos: wanedge1_mx304 wanedge2_mx10004 - * EVO: (none) + * EVO: (none — EVO uses mac-vrf; see evo/services/evpn-elan-vlan-based-irb.conf) * * Highlights: - * - Junos-specific: uses instance-type evpn with routing-interface (EVO uses mac-vrf + l3-interface) + * - Junos-specific: uses instance-type evpn with routing-interface * - no-normalization preserves original VLAN tags through the bridge domain * - encapsulation mpls explicitly sets EVPN/MPLS data-plane (vs VXLAN) * - default-gateway do-not-advertise suppresses Type-5 default from this instance @@ -13,10 +13,10 @@ * - The IRB interface is associated with a VRF instance for ip-prefix-route advertisement * * Pair with: - * - junos/interfaces/ccc-vpws-mux.conf (the vlan-bridge AC units on this LAG) - * - junos/services/evpn-vrf-ip-prefix.conf (the L3 VRF that binds to irb.$UNIT) - * - junos/interfaces/irb-gateway.conf (IRB unit with anycast or per-PE addressing) - * - junos/services/evpn-elan-simple.conf + * - junos/interfaces/vlan-bridge.conf (the vlan-bridge AC units on this LAG) + * - junos/interfaces/lag-flexible-services.conf (the parent ae interface) + * - junos/services/evpn-vrf-ip-prefix.conf (the L3 VRF that binds to irb.$UNIT) + * - junos/interfaces/irb-gateway.conf (IRB unit with anycast or per-PE addressing) * * JVD service mapping: * 525 instances across 4 WAN-edge devices diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-simple.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-vlan-based.conf similarity index 76% rename from enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-simple.conf rename to enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-vlan-based.conf index c3ed014..70755b8 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-simple.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-vlan-based.conf @@ -1,19 +1,19 @@ /* - * Topic: EVPN ELAN bridge domain — simple L2 multipoint (no IRB) + * Topic: EVPN-ELAN vlan-based (L2 multipoint, no IRB) * Seen on: * Junos: wanedge1_mx304 wanedge2_mx10004 - * EVO: (none) + * EVO: (none — EVO uses mac-vrf; see evo/services/evpn-elan-vlan-bundle.conf) * * Highlights: * - Junos-specific: uses instance-type evpn (EVO uses mac-vrf instead) * - Minimal ELAN: just protocols { evpn; } — no encapsulation or gateway knobs needed * - Multiple ACs per instance for multi-homing or multi-site bridging * - No IRB interface — pure L2 switching across the MPLS/EVPN fabric - * - Scale: ~500 simple ELAN instances per WAN edge in this JVD + * - Scale: ~500 ELAN instances per WAN edge in this JVD * * Pair with: - * - junos/interfaces/ccc-vpws-mux.conf (per-unit VLAN-bridge AC config) - * - junos/services/evpn-elan-bridged.conf (variant with IRB for L3 gateway) + * - junos/interfaces/vlan-bridge.conf (per-unit vlan-bridge AC config) + * - junos/interfaces/lag-flexible-services.conf (the parent ae interface) * * JVD service mapping: * 1925 instances across 4 WAN-edge devices diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-fxc.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-fxc-vlan-aware.conf similarity index 93% rename from enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-fxc.conf rename to enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-fxc-vlan-aware.conf index 5a6e985..c46febd 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-fxc.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-fxc-vlan-aware.conf @@ -1,5 +1,5 @@ /* - * Topic: EVPN-VPWS with Flexible Cross-Connect (multi-AC VLAN-aware) + * Topic: EVPN FXC vlan-aware (Flexible Cross-Connect, multi-AC) * Seen on: * Junos: wanedge1_mx304 wanedge2_mx10004 * EVO: wanedge3_acx7509 wanedge4_acx7100-48l @@ -12,7 +12,7 @@ * * Pair with: * - junos/interfaces/lag-flexible-services.conf (the ae0 bundle carrying these ACs) - * - junos/interfaces/ccc-vpws-mux.conf (per-AC unit config on ae0) + * - junos/interfaces/vlan-ccc-esi.conf (per-AC unit config on ae0) * * JVD service mapping: * 1800 instances across 4 WAN-edge devices diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-simple.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-vlan-based.conf similarity index 77% rename from enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-simple.conf rename to enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-vlan-based.conf index 39e9396..c4db6d6 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-simple.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-vlan-based.conf @@ -1,17 +1,18 @@ /* - * Topic: EVPN-VPWS point-to-point pseudowire (single AC, control-word) + * Topic: EVPN-VPWS vlan-based point-to-point pseudowire (single AC, control-word) * Seen on: * Junos: wanedge1_mx304 wanedge2_mx10004 * EVO: wanedge3_acx7509 wanedge4_acx7100-48l * * Highlights: - * - Simplest VPWS: one AC interface, one vpws-service-id pair, control-word enabled + * - Single AC interface, one vpws-service-id pair, control-word enabled * - control-word ensures correct sequencing and prevents fat-pipe reordering issues * - local/remote IDs must be mirror-swapped on the PE peer (local 10 ↔ remote 40) - * - Scale: ~1000 simple VPWS instances per WAN edge in this JVD + * - Scale: ~1000 VPWS instances per WAN edge in this JVD * * Pair with: - * - junos/interfaces/ccc-vpws-mux.conf (the per-unit AC config on the physical/LAG interface) + * - junos/interfaces/vlan-ccc-esi.conf (the per-unit AC config on the LAG interface) + * - junos/interfaces/lag-flexible-services.conf (the parent ae interface) * * JVD service mapping: * 1800 instances across 4 WAN-edge devices diff --git a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vrf-ip-prefix.conf b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vrf-ip-prefix.conf index 34dc2d8..38287b1 100644 --- a/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vrf-ip-prefix.conf +++ b/enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vrf-ip-prefix.conf @@ -13,7 +13,7 @@ * - Scale: ~350 VRF instances per WAN edge in this JVD * * Pair with: - * - junos/services/evpn-elan-bridged.conf (the bridge domain whose IRB feeds this VRF) + * - junos/services/evpn-elan-vlan-based-irb.conf (the bridge domain whose IRB feeds this VRF) * - junos/interfaces/irb-gateway.conf (IRB unit addressing) * * JVD service mapping: diff --git a/portal/src/data/snips.json b/portal/src/data/snips.json index bf013fb..096d5eb 100644 --- a/portal/src/data/snips.json +++ b/portal/src/data/snips.json @@ -1,9 +1,9 @@ { - "generatedAt": "2026-06-01T19:26:34.548Z", + "generatedAt": "2026-06-01T21:17:03.921Z", "counts": { - "total": 442, - "junos": 216, - "evo": 226, + "total": 445, + "junos": 217, + "evo": 228, "jvds": 8 }, "categories": [ @@ -90,9 +90,9 @@ "area": "Enterprise WAN", "repoPath": "enterprise_wan/ewan_adv_core_edge", "counts": { - "junos": 24, - "evo": 24, - "total": 48 + "junos": 25, + "evo": 26, + "total": 51 } }, { @@ -5682,93 +5682,6 @@ ], "parseWarnings": [] }, - { - "id": "ewan_adv_core_edge/evo/interfaces/ccc-vpws-mux", - "jvd": "ewan_adv_core_edge", - "jvdLabel": "Enterprise WAN: Advanced Core/Edge", - "area": "Enterprise WAN", - "os": "Junos EVO", - "osKey": "evo", - "category": "interfaces", - "name": "ccc-vpws-mux", - "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/ccc-vpws-mux.conf", - "topic": "VPWS and ELAN attachment-circuit units (vlan-ccc with ESI, vlan-bridge)", - "seenOn": { - "junos": [ - "wanedge1_mx304", - "wanedge2_mx10004" - ], - "evo": [ - "wanedge3_acx7509", - "wanedge4_acx7100-48l" - ] - }, - "highlights": [ - "Body is structurally identical to the Junos sibling", - "Same ESI format and all-active multi-homing semantics", - "EVO uses ether-options { 802.3ad } for member links (vs gigether-options on MX)", - "vlan-bridge units on EVO feed mac-vrf instances (not instance-type evpn)" - ], - "pairWith": [ - { - "raw": "evo/interfaces/lag-flexible-services.conf (the parent ae interface)", - "id": "ewan_adv_core_edge/evo/interfaces/lag-flexible-services", - "note": "the parent ae interface" - }, - { - "raw": "evo/services/evpn-vpws-simple.conf (instances binding these vlan-ccc units)", - "id": "ewan_adv_core_edge/evo/services/evpn-vpws-simple", - "note": "instances binding these vlan-ccc units" - }, - { - "raw": "evo/services/mac-vrf-elan.conf (instances binding these vlan-bridge units)", - "id": "ewan_adv_core_edge/evo/services/mac-vrf-elan", - "note": "instances binding these vlan-bridge units" - }, - { - "raw": "evo/oam/cfm-maintenance-domain.conf", - "id": "ewan_adv_core_edge/evo/oam/cfm-maintenance-domain", - "note": null - }, - { - "raw": "evo/services/evpn-vpws-fxc.conf", - "id": "ewan_adv_core_edge/evo/services/evpn-vpws-fxc", - "note": null - } - ], - "variables": [ - { - "name": "$LAG_INTF", - "example": "ae0" - }, - { - "name": "$UNIT", - "example": "1" - }, - { - "name": "$VLAN_ID", - "example": "1" - }, - { - "name": "$ESI", - "example": "00:34:34:34:34:34:34:34:11:01" - } - ], - "jvdServiceMapping": [], - "body": "/* --- VPWS AC (vlan-ccc with ESI, multi-homed) --- */\n\ninterfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-ccc;\n vlan-id $VLAN_ID;\n esi {\n $ESI;\n all-active;\n }\n family ccc;\n }\n }\n}\n\n/* --- ELAN AC (vlan-bridge, no ESI needed for bridge units) --- */\n\ninterfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-bridge;\n vlan-id $VLAN_ID;\n }\n }\n}", - "bodyHtml": "
/* --- VPWS AC (vlan-ccc with ESI, multi-homed) --- */\n\ninterfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-ccc;\n vlan-id $VLAN_ID;\n esi {\n $ESI;\n all-active;\n }\n family ccc;\n }\n }\n}\n\n/* --- ELAN AC (vlan-bridge, no ESI needed for bridge units) --- */\n\ninterfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-bridge;\n vlan-id $VLAN_ID;\n }\n }\n}",
- "bytes": 502,
- "lineCount": 26,
- "techFamily": "Interfaces",
- "subfamily": "Interfaces",
- "usecases": [
- "Enterprise WAN",
- "EVPN-VPWS",
- "EVPN-ELAN",
- "MPLS"
- ],
- "parseWarnings": []
- },
{
"id": "ewan_adv_core_edge/evo/interfaces/irb-gateway",
"jvd": "ewan_adv_core_edge",
@@ -5797,8 +5710,8 @@
],
"pairWith": [
{
- "raw": "evo/services/mac-vrf-elan.conf (mac-vrf with l3-interface irb.$UNIT)",
- "id": "ewan_adv_core_edge/evo/services/mac-vrf-elan",
+ "raw": "evo/services/evpn-elan-vlan-based-irb.conf (mac-vrf with l3-interface irb.$UNIT)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-elan-vlan-based-irb",
"note": "mac-vrf with l3-interface irb.$UNIT"
},
{
@@ -5861,14 +5774,34 @@
],
"pairWith": [
{
- "raw": "evo/interfaces/ccc-vpws-mux.conf (per-unit VPWS/ELAN AC config on this LAG)",
- "id": "ewan_adv_core_edge/evo/interfaces/ccc-vpws-mux",
- "note": "per-unit VPWS/ELAN AC config on this LAG"
+ "raw": "evo/interfaces/vlan-ccc-esi.conf (per-unit VPWS AC config on this LAG)",
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-ccc-esi",
+ "note": "per-unit VPWS AC config on this LAG"
+ },
+ {
+ "raw": "evo/interfaces/vlan-bridge.conf (per-unit ELAN AC config on this LAG)",
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-bridge",
+ "note": "per-unit ELAN AC config on this LAG"
+ },
+ {
+ "raw": "evo/services/evpn-vpws-vlan-based.conf (VPWS instances binding vlan-ccc units)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-vpws-vlan-based",
+ "note": "VPWS instances binding vlan-ccc units"
},
{
- "raw": "evo/services/evpn-vpws-fxc.conf (instances referencing ae0.* units)",
- "id": "ewan_adv_core_edge/evo/services/evpn-vpws-fxc",
- "note": "instances referencing ae0.* units"
+ "raw": "evo/services/evpn-fxc-vlan-aware.conf (FXC instances referencing ae0.* units)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-fxc-vlan-aware",
+ "note": "FXC instances referencing ae0.* units"
+ },
+ {
+ "raw": "evo/services/evpn-elan-vlan-bundle.conf (ELAN instances binding vlan-bridge units)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-elan-vlan-bundle",
+ "note": "ELAN instances binding vlan-bridge units"
+ },
+ {
+ "raw": "evo/services/evpn-elan-vlan-based-irb.conf (ELAN+IRB instances binding vlan-bridge units)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-elan-vlan-based-irb",
+ "note": "ELAN+IRB instances binding vlan-bridge units"
},
{
"raw": "evo/bootstrap/chassis-network-services.conf",
@@ -6051,6 +5984,162 @@
],
"parseWarnings": []
},
+ {
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-bridge",
+ "jvd": "ewan_adv_core_edge",
+ "jvdLabel": "Enterprise WAN: Advanced Core/Edge",
+ "area": "Enterprise WAN",
+ "os": "Junos EVO",
+ "osKey": "evo",
+ "category": "interfaces",
+ "name": "vlan-bridge",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/vlan-bridge.conf",
+ "topic": "ELAN attachment-circuit (vlan-bridge encapsulation)",
+ "seenOn": {
+ "junos": [
+ "wanedge1_mx304",
+ "wanedge2_mx10004"
+ ],
+ "evo": [
+ "wanedge3_acx7509",
+ "wanedge4_acx7100-48l"
+ ]
+ },
+ "highlights": [
+ "encapsulation vlan-bridge carries L2 multipoint ELAN traffic",
+ "No ESI needed — bridging semantics don't require per-unit multi-homing (the parent LAG ESI handles it at the bundle level)",
+ "No family statement — bridging is implied by the encapsulation",
+ "Scale: ~1000 vlan-bridge units per ae0 in this JVD"
+ ],
+ "pairWith": [
+ {
+ "raw": "evo/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/evo/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
+ },
+ {
+ "raw": "evo/services/evpn-elan-vlan-bundle.conf (ELAN instances binding these units)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-elan-vlan-bundle",
+ "note": "ELAN instances binding these units"
+ },
+ {
+ "raw": "evo/services/evpn-elan-vlan-based-irb.conf (ELAN+IRB instances binding these units)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-elan-vlan-based-irb",
+ "note": "ELAN+IRB instances binding these units"
+ }
+ ],
+ "variables": [
+ {
+ "name": "$LAG_INTF",
+ "example": "ae0"
+ },
+ {
+ "name": "$UNIT",
+ "example": "2001"
+ },
+ {
+ "name": "$VLAN_ID",
+ "example": "2001"
+ }
+ ],
+ "jvdServiceMapping": [],
+ "body": "interfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-bridge;\n vlan-id $VLAN_ID;\n }\n }\n}",
+ "bodyHtml": "interfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-bridge;\n vlan-id $VLAN_ID;\n }\n }\n}",
+ "bytes": 136,
+ "lineCount": 8,
+ "techFamily": "Interfaces",
+ "subfamily": "Interfaces",
+ "usecases": [
+ "Enterprise WAN",
+ "EVPN-VPWS",
+ "EVPN-ELAN",
+ "MPLS"
+ ],
+ "parseWarnings": []
+ },
+ {
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-ccc-esi",
+ "jvd": "ewan_adv_core_edge",
+ "jvdLabel": "Enterprise WAN: Advanced Core/Edge",
+ "area": "Enterprise WAN",
+ "os": "Junos EVO",
+ "osKey": "evo",
+ "category": "interfaces",
+ "name": "vlan-ccc-esi",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/interfaces/vlan-ccc-esi.conf",
+ "topic": "VPWS attachment-circuit (vlan-ccc with ESI all-active multi-homing)",
+ "seenOn": {
+ "junos": [
+ "wanedge1_mx304",
+ "wanedge2_mx10004"
+ ],
+ "evo": [
+ "wanedge3_acx7509",
+ "wanedge4_acx7100-48l"
+ ]
+ },
+ "highlights": [
+ "encapsulation vlan-ccc carries point-to-point VPWS traffic",
+ "ESI with all-active enables per-flow multi-homing across PE pairs",
+ "ESI is a 10-byte identifier — must be identical on both multi-homed PEs",
+ "family ccc is required for circuit cross-connect semantics",
+ "Scale: ~1500 vlan-ccc units per ae0 in this JVD"
+ ],
+ "pairWith": [
+ {
+ "raw": "evo/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/evo/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
+ },
+ {
+ "raw": "evo/services/evpn-vpws-vlan-based.conf (instances binding these vlan-ccc units)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-vpws-vlan-based",
+ "note": "instances binding these vlan-ccc units"
+ },
+ {
+ "raw": "evo/services/evpn-fxc-vlan-aware.conf (FXC instances binding these units)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-fxc-vlan-aware",
+ "note": "FXC instances binding these units"
+ },
+ {
+ "raw": "evo/oam/cfm-maintenance-domain.conf",
+ "id": "ewan_adv_core_edge/evo/oam/cfm-maintenance-domain",
+ "note": null
+ }
+ ],
+ "variables": [
+ {
+ "name": "$LAG_INTF",
+ "example": "ae0"
+ },
+ {
+ "name": "$UNIT",
+ "example": "1"
+ },
+ {
+ "name": "$VLAN_ID",
+ "example": "1"
+ },
+ {
+ "name": "$ESI",
+ "example": "00:34:34:34:34:34:34:34:11:01"
+ }
+ ],
+ "jvdServiceMapping": [],
+ "body": "interfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-ccc;\n vlan-id $VLAN_ID;\n esi {\n $ESI;\n all-active;\n }\n family ccc;\n }\n }\n}",
+ "bodyHtml": "interfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-ccc;\n vlan-id $VLAN_ID;\n esi {\n $ESI;\n all-active;\n }\n family ccc;\n }\n }\n}",
+ "bytes": 239,
+ "lineCount": 13,
+ "techFamily": "Interfaces",
+ "subfamily": "Interfaces",
+ "usecases": [
+ "Enterprise WAN",
+ "EVPN-VPWS",
+ "EVPN-ELAN",
+ "MPLS"
+ ],
+ "parseWarnings": []
+ },
{
"id": "ewan_adv_core_edge/evo/oam/cfm-maintenance-domain",
"jvd": "ewan_adv_core_edge",
@@ -6083,8 +6172,8 @@
"note": "performance measurement on these MEPs"
},
{
- "raw": "evo/interfaces/ccc-vpws-mux.conf (AC interfaces referenced by MEPs)",
- "id": "ewan_adv_core_edge/evo/interfaces/ccc-vpws-mux",
+ "raw": "evo/interfaces/vlan-ccc-esi.conf (AC interfaces referenced by MEPs)",
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-ccc-esi",
"note": "AC interfaces referenced by MEPs"
}
],
@@ -6246,16 +6335,198 @@
"parseWarnings": []
},
{
- "id": "ewan_adv_core_edge/evo/services/evpn-vpws-fxc",
+ "id": "ewan_adv_core_edge/evo/services/evpn-elan-vlan-based-irb",
+ "jvd": "ewan_adv_core_edge",
+ "jvdLabel": "Enterprise WAN: Advanced Core/Edge",
+ "area": "Enterprise WAN",
+ "os": "Junos EVO",
+ "osKey": "evo",
+ "category": "services",
+ "name": "evpn-elan-vlan-based-irb",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-elan-vlan-based-irb.conf",
+ "topic": "EVPN-ELAN vlan-based with IRB gateway (L2+L3 integrated)",
+ "seenOn": {
+ "junos": [],
+ "evo": [
+ "wanedge3_acx7509",
+ "wanedge4_acx7100-48l"
+ ]
+ },
+ "highlights": [
+ "EVO uses instance-type mac-vrf with service-type vlan-based",
+ "Each VLAN gets explicit vlan-id + l3-interface for IRB routing",
+ "encapsulation mpls explicitly sets EVPN/MPLS data-plane",
+ "default-gateway do-not-advertise suppresses Type-5 default from this instance",
+ "no-control-word is explicit on EVO",
+ "The IRB interface is associated with a VRF instance for ip-prefix-route advertisement",
+ "Scale: ~600 vlan-based ELAN instances per WAN edge in this JVD"
+ ],
+ "pairWith": [
+ {
+ "raw": "evo/services/evpn-vrf-ip-prefix.conf (the L3 VRF binding irb.$UNIT)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-vrf-ip-prefix",
+ "note": "the L3 VRF binding irb.$UNIT"
+ },
+ {
+ "raw": "evo/interfaces/irb-gateway.conf (IRB unit config)",
+ "id": "ewan_adv_core_edge/evo/interfaces/irb-gateway",
+ "note": "IRB unit config"
+ },
+ {
+ "raw": "evo/interfaces/vlan-bridge.conf (the vlan-bridge AC units)",
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-bridge",
+ "note": "the vlan-bridge AC units"
+ },
+ {
+ "raw": "evo/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/evo/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
+ }
+ ],
+ "variables": [
+ {
+ "name": "$INSTANCE_NAME",
+ "example": "elan_group_95_476"
+ },
+ {
+ "name": "$AC_INTF_1",
+ "example": "ae0.476"
+ },
+ {
+ "name": "$VLAN_NAME",
+ "example": "svbased_476"
+ },
+ {
+ "name": "$VLAN_ID",
+ "example": "476"
+ },
+ {
+ "name": "$IRB_UNIT",
+ "example": "irb.476"
+ },
+ {
+ "name": "$RD",
+ "example": "44.44.44.44:476"
+ },
+ {
+ "name": "$RT",
+ "example": "target:62525:476"
+ }
+ ],
+ "jvdServiceMapping": [
+ " 1225 instances across 2 EVO WAN-edge devices",
+ " wanedge3_acx7509: 600",
+ " wanedge4_acx7100-48l: 625",
+ " Examples: elan_group_95_476, elan_group_95_478, elan_group_95_480"
+ ],
+ "body": "routing-instances {\n $INSTANCE_NAME {\n instance-type mac-vrf;\n protocols {\n evpn {\n encapsulation mpls;\n default-gateway do-not-advertise;\n no-control-word;\n }\n }\n service-type vlan-based;\n route-distinguisher $RD;\n vrf-target $RT;\n vlans {\n $VLAN_NAME {\n vlan-id $VLAN_ID;\n interface $AC_INTF_1;\n l3-interface $IRB_UNIT;\n }\n }\n }\n}",
+ "bodyHtml": "routing-instances {\n $INSTANCE_NAME {\n instance-type mac-vrf;\n protocols {\n evpn {\n encapsulation mpls;\n default-gateway do-not-advertise;\n no-control-word;\n }\n }\n service-type vlan-based;\n route-distinguisher $RD;\n vrf-target $RT;\n vlans {\n $VLAN_NAME {\n vlan-id $VLAN_ID;\n interface $AC_INTF_1;\n l3-interface $IRB_UNIT;\n }\n }\n }\n}",
+ "bytes": 528,
+ "lineCount": 22,
+ "techFamily": "Service Overlay",
+ "subfamily": "EVPN-ELAN",
+ "usecases": [
+ "Enterprise WAN",
+ "EVPN-VPWS",
+ "EVPN-ELAN",
+ "MPLS"
+ ],
+ "parseWarnings": []
+ },
+ {
+ "id": "ewan_adv_core_edge/evo/services/evpn-elan-vlan-bundle",
+ "jvd": "ewan_adv_core_edge",
+ "jvdLabel": "Enterprise WAN: Advanced Core/Edge",
+ "area": "Enterprise WAN",
+ "os": "Junos EVO",
+ "osKey": "evo",
+ "category": "services",
+ "name": "evpn-elan-vlan-bundle",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-elan-vlan-bundle.conf",
+ "topic": "EVPN-ELAN vlan-bundle (L2 multipoint, no IRB)",
+ "seenOn": {
+ "junos": [],
+ "evo": [
+ "wanedge3_acx7509",
+ "wanedge4_acx7100-48l"
+ ]
+ },
+ "highlights": [
+ "EVO uses instance-type mac-vrf (Junos MX uses instance-type evpn)",
+ "service-type vlan-bundle: multiple ACs grouped under a single vlans stanza",
+ "Pure L2 switching — no IRB, no per-VLAN L3 gateway",
+ "no-control-word is explicit on EVO",
+ "Scale: ~600 vlan-bundle ELAN instances per WAN edge in this JVD"
+ ],
+ "pairWith": [
+ {
+ "raw": "evo/interfaces/vlan-bridge.conf (the vlan-bridge AC units)",
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-bridge",
+ "note": "the vlan-bridge AC units"
+ },
+ {
+ "raw": "evo/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/evo/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
+ }
+ ],
+ "variables": [
+ {
+ "name": "$INSTANCE_NAME",
+ "example": "elan_group_500_2001"
+ },
+ {
+ "name": "$AC_INTF_1",
+ "example": "ae0.2001"
+ },
+ {
+ "name": "$AC_INTF_2",
+ "example": "ae0.2002"
+ },
+ {
+ "name": "$VLAN_NAME",
+ "example": "mvbundle_2001"
+ },
+ {
+ "name": "$RD",
+ "example": "44.44.44.44:2001"
+ },
+ {
+ "name": "$RT",
+ "example": "target:62525:2001"
+ }
+ ],
+ "jvdServiceMapping": [
+ " 1200 instances across 2 EVO WAN-edge devices",
+ " wanedge3_acx7509: 600",
+ " wanedge4_acx7100-48l: 600",
+ " Examples: elan_group_500_2001, elan_group_500_2003, elan_group_500_2005"
+ ],
+ "body": "routing-instances {\n $INSTANCE_NAME {\n instance-type mac-vrf;\n protocols {\n evpn {\n no-control-word;\n }\n }\n service-type vlan-bundle;\n route-distinguisher $RD;\n vrf-target $RT;\n vlans {\n $VLAN_NAME {\n interface $AC_INTF_1;\n interface $AC_INTF_2;\n }\n }\n }\n}",
+ "bodyHtml": "routing-instances {\n $INSTANCE_NAME {\n instance-type mac-vrf;\n protocols {\n evpn {\n no-control-word;\n }\n }\n service-type vlan-bundle;\n route-distinguisher $RD;\n vrf-target $RT;\n vlans {\n $VLAN_NAME {\n interface $AC_INTF_1;\n interface $AC_INTF_2;\n }\n }\n }\n}",
+ "bytes": 407,
+ "lineCount": 19,
+ "techFamily": "Service Overlay",
+ "subfamily": "EVPN-ELAN",
+ "usecases": [
+ "Enterprise WAN",
+ "EVPN-VPWS",
+ "EVPN-ELAN",
+ "MPLS"
+ ],
+ "parseWarnings": []
+ },
+ {
+ "id": "ewan_adv_core_edge/evo/services/evpn-fxc-vlan-aware",
"jvd": "ewan_adv_core_edge",
"jvdLabel": "Enterprise WAN: Advanced Core/Edge",
"area": "Enterprise WAN",
"os": "Junos EVO",
"osKey": "evo",
"category": "services",
- "name": "evpn-vpws-fxc",
- "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-fxc.conf",
- "topic": "EVPN-VPWS with Flexible Cross-Connect (multi-AC VLAN-aware)",
+ "name": "evpn-fxc-vlan-aware",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-fxc-vlan-aware.conf",
+ "topic": "EVPN FXC vlan-aware (Flexible Cross-Connect, multi-AC)",
"seenOn": {
"junos": [
"wanedge1_mx304",
@@ -6267,7 +6538,6 @@
]
},
"highlights": [
- "Body is structurally identical to the Junos sibling (only local/remote IDs differ per-site)",
"Multi-homed VPWS carrying 2+ VLANs per instance via flexible-cross-connect-vlan-aware",
"Each AC interface gets its own vpws-service-id pair (local/remote must be swapped on the far end)",
"All ACs share a single RD and RT; the service-id disambiguates circuits within the instance",
@@ -6280,8 +6550,8 @@
"note": "the ae0 bundle carrying these ACs"
},
{
- "raw": "evo/interfaces/ccc-vpws-mux.conf (per-AC unit config on ae0)",
- "id": "ewan_adv_core_edge/evo/interfaces/ccc-vpws-mux",
+ "raw": "evo/interfaces/vlan-ccc-esi.conf (per-AC unit config on ae0)",
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-ccc-esi",
"note": "per-AC unit config on ae0"
}
],
@@ -6336,7 +6606,7 @@
"bytes": 722,
"lineCount": 26,
"techFamily": "Service Overlay",
- "subfamily": "EVPN-VPWS",
+ "subfamily": "EVPN",
"usecases": [
"Enterprise WAN",
"EVPN-VPWS",
@@ -6346,16 +6616,16 @@
"parseWarnings": []
},
{
- "id": "ewan_adv_core_edge/evo/services/evpn-vpws-simple",
+ "id": "ewan_adv_core_edge/evo/services/evpn-vpws-vlan-based",
"jvd": "ewan_adv_core_edge",
"jvdLabel": "Enterprise WAN: Advanced Core/Edge",
"area": "Enterprise WAN",
"os": "Junos EVO",
"osKey": "evo",
"category": "services",
- "name": "evpn-vpws-simple",
- "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-simple.conf",
- "topic": "EVPN-VPWS point-to-point pseudowire (single AC, control-word)",
+ "name": "evpn-vpws-vlan-based",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/evpn-vpws-vlan-based.conf",
+ "topic": "EVPN-VPWS vlan-based point-to-point pseudowire (single AC, control-word)",
"seenOn": {
"junos": [
"wanedge1_mx304",
@@ -6367,17 +6637,21 @@
]
},
"highlights": [
- "Body is structurally identical to the Junos sibling",
- "Simplest VPWS: one AC interface, one vpws-service-id pair, control-word enabled",
+ "Single AC interface, one vpws-service-id pair, control-word enabled",
"control-word ensures correct sequencing and prevents fat-pipe reordering issues",
"local/remote IDs must be mirror-swapped on the PE peer (local 30 ↔ remote 20)",
- "Scale: ~1000 simple VPWS instances per WAN edge in this JVD"
+ "Scale: ~1000 VPWS instances per WAN edge in this JVD"
],
"pairWith": [
{
- "raw": "evo/interfaces/ccc-vpws-mux.conf (the per-unit AC config on the physical/LAG interface)",
- "id": "ewan_adv_core_edge/evo/interfaces/ccc-vpws-mux",
- "note": "the per-unit AC config on the physical/LAG interface"
+ "raw": "evo/interfaces/vlan-ccc-esi.conf (the per-unit AC config on the LAG interface)",
+ "id": "ewan_adv_core_edge/evo/interfaces/vlan-ccc-esi",
+ "note": "the per-unit AC config on the LAG interface"
+ },
+ {
+ "raw": "evo/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/evo/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
}
],
"variables": [
@@ -6459,8 +6733,8 @@
],
"pairWith": [
{
- "raw": "evo/services/mac-vrf-elan.conf (the bridge domain whose IRB feeds this VRF)",
- "id": "ewan_adv_core_edge/evo/services/mac-vrf-elan",
+ "raw": "evo/services/evpn-elan-vlan-based-irb.conf (the bridge domain whose IRB feeds this VRF)",
+ "id": "ewan_adv_core_edge/evo/services/evpn-elan-vlan-based-irb",
"note": "the bridge domain whose IRB feeds this VRF"
},
{
@@ -6513,109 +6787,6 @@
],
"parseWarnings": []
},
- {
- "id": "ewan_adv_core_edge/evo/services/mac-vrf-elan",
- "jvd": "ewan_adv_core_edge",
- "jvdLabel": "Enterprise WAN: Advanced Core/Edge",
- "area": "Enterprise WAN",
- "os": "Junos EVO",
- "osKey": "evo",
- "category": "services",
- "name": "mac-vrf-elan",
- "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/evo/services/mac-vrf-elan.conf",
- "topic": "MAC-VRF ELAN bridge domain (L2 multipoint, with optional IRB)",
- "seenOn": {
- "junos": [],
- "evo": [
- "wanedge3_acx7509",
- "wanedge4_acx7100-48l"
- ]
- },
- "highlights": [
- "EVO equivalent of Junos instance-type evpn; uses instance-type mac-vrf instead",
- "Two service-type modes shown: vlan-bundle (simple L2) and vlan-based (with IRB gateway)",
- "vlan-bundle: ACs grouped under a single vlans stanza, no per-VLAN L3",
- "vlan-based: each VLAN gets explicit vlan-id + l3-interface for IRB routing",
- "no-control-word is explicit on EVO (Junos omits it when not needed)",
- "default-gateway do-not-advertise suppresses Type-5 default (bridged+IRB variant only)"
- ],
- "pairWith": [
- {
- "raw": "evo/services/evpn-vrf-ip-prefix.conf (the L3 VRF binding irb.$UNIT — vlan-based only)",
- "id": "ewan_adv_core_edge/evo/services/evpn-vrf-ip-prefix",
- "note": "the L3 VRF binding irb.$UNIT — vlan-based only"
- },
- {
- "raw": "evo/interfaces/irb-gateway.conf (IRB unit config)",
- "id": "ewan_adv_core_edge/evo/interfaces/irb-gateway",
- "note": "IRB unit config"
- },
- {
- "raw": "evo/interfaces/ccc-vpws-mux.conf",
- "id": "ewan_adv_core_edge/evo/interfaces/ccc-vpws-mux",
- "note": null
- }
- ],
- "variables": [
- {
- "name": "$INSTANCE_NAME",
- "example": "elan_group_500_2001 / elan_group_95_476"
- },
- {
- "name": "$SERVICE_TYPE",
- "example": "vlan-bundle / vlan-based"
- },
- {
- "name": "$AC_INTF_1",
- "example": "ae0.2001"
- },
- {
- "name": "$AC_INTF_2",
- "example": "ae0.2002"
- },
- {
- "name": "$VLAN_NAME",
- "example": "mvbundle_2001 / svbased_476"
- },
- {
- "name": "$VLAN_ID",
- "example": "476"
- },
- {
- "name": "$IRB_UNIT",
- "example": "irb.476"
- },
- {
- "name": "$RD",
- "example": "44.44.44.44:2001"
- },
- {
- "name": "$RT",
- "example": "target:62525:2001"
- }
- ],
- "jvdServiceMapping": [
- " 1925 instances across 4 WAN-edge devices",
- " wanedge1_mx304: 1200",
- " wanedge2_mx10004: 1200",
- " wanedge3_acx7509: 1200",
- " wanedge4_acx7100-48l: 1225",
- " Examples: elan_group_500_2001, elan_group_500_2003, elan_group_500_2005"
- ],
- "body": "/* --- Variant A: vlan-bundle (simple L2, no IRB) --- */\n\nrouting-instances {\n $INSTANCE_NAME {\n instance-type mac-vrf;\n protocols {\n evpn {\n no-control-word;\n }\n }\n service-type vlan-bundle;\n route-distinguisher $RD;\n vrf-target $RT;\n vlans {\n $VLAN_NAME {\n interface $AC_INTF_1;\n interface $AC_INTF_2;\n }\n }\n }\n}\n\n/* --- Variant B: vlan-based (with IRB gateway) --- */\n\nrouting-instances {\n $INSTANCE_NAME {\n instance-type mac-vrf;\n protocols {\n evpn {\n encapsulation mpls;\n default-gateway do-not-advertise;\n no-control-word;\n }\n }\n service-type vlan-based;\n route-distinguisher $RD;\n vrf-target $RT;\n vlans {\n $VLAN_NAME {\n vlan-id $VLAN_ID;\n interface $AC_INTF_1;\n l3-interface $IRB_UNIT;\n }\n }\n }\n}",
- "bodyHtml": "/* --- Variant A: vlan-bundle (simple L2, no IRB) --- */\n\nrouting-instances {\n $INSTANCE_NAME {\n instance-type mac-vrf;\n protocols {\n evpn {\n no-control-word;\n }\n }\n service-type vlan-bundle;\n route-distinguisher $RD;\n vrf-target $RT;\n vlans {\n $VLAN_NAME {\n interface $AC_INTF_1;\n interface $AC_INTF_2;\n }\n }\n }\n}\n\n/* --- Variant B: vlan-based (with IRB gateway) --- */\n\nrouting-instances {\n $INSTANCE_NAME {\n instance-type mac-vrf;\n protocols {\n evpn {\n encapsulation mpls;\n default-gateway do-not-advertise;\n no-control-word;\n }\n }\n service-type vlan-based;\n route-distinguisher $RD;\n vrf-target $RT;\n vlans {\n $VLAN_NAME {\n vlan-id $VLAN_ID;\n interface $AC_INTF_1;\n l3-interface $IRB_UNIT;\n }\n }\n }\n}",
- "bytes": 1051,
- "lineCount": 46,
- "techFamily": "Service Overlay",
- "subfamily": "Services",
- "usecases": [
- "Enterprise WAN",
- "EVPN-VPWS",
- "EVPN-ELAN",
- "MPLS"
- ],
- "parseWarnings": []
- },
{
"id": "ewan_adv_core_edge/evo/transport/bgp-ibgp-evpn",
"jvd": "ewan_adv_core_edge",
@@ -7500,100 +7671,6 @@
],
"parseWarnings": []
},
- {
- "id": "ewan_adv_core_edge/junos/interfaces/ccc-vpws-mux",
- "jvd": "ewan_adv_core_edge",
- "jvdLabel": "Enterprise WAN: Advanced Core/Edge",
- "area": "Enterprise WAN",
- "os": "Junos",
- "osKey": "junos",
- "category": "interfaces",
- "name": "ccc-vpws-mux",
- "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/ccc-vpws-mux.conf",
- "topic": "VPWS and ELAN attachment-circuit units (vlan-ccc with ESI, vlan-bridge)",
- "seenOn": {
- "junos": [
- "wanedge1_mx304",
- "wanedge2_mx10004"
- ],
- "evo": [
- "wanedge3_acx7509",
- "wanedge4_acx7100-48l"
- ]
- },
- "highlights": [
- "vlan-ccc units carry point-to-point VPWS traffic; vlan-bridge units carry ELAN L2 frames",
- "ESI with all-active enables per-flow multi-homing across PE pairs sharing the same LAG",
- "ESI is a 10-byte identifier — must be identical on both multi-homed PEs for the same AC",
- "Units without ESI are single-homed (e.g. traffic-generator facing ports)",
- "vlan-bridge units have no family statement — bridging is implied by the encapsulation",
- "Scale: ~1500 vlan-ccc units + ~1000 vlan-bridge units per ae0 in this JVD"
- ],
- "pairWith": [
- {
- "raw": "junos/interfaces/lag-flexible-services.conf (the parent ae interface)",
- "id": "ewan_adv_core_edge/junos/interfaces/lag-flexible-services",
- "note": "the parent ae interface"
- },
- {
- "raw": "junos/services/evpn-vpws-simple.conf (instances binding these vlan-ccc units)",
- "id": "ewan_adv_core_edge/junos/services/evpn-vpws-simple",
- "note": "instances binding these vlan-ccc units"
- },
- {
- "raw": "junos/services/evpn-elan-simple.conf (instances binding these vlan-bridge units)",
- "id": "ewan_adv_core_edge/junos/services/evpn-elan-simple",
- "note": "instances binding these vlan-bridge units"
- },
- {
- "raw": "junos/services/evpn-elan-bridged.conf (bridged ELAN instances with IRB + VRF)",
- "id": "ewan_adv_core_edge/junos/services/evpn-elan-bridged",
- "note": "bridged ELAN instances with IRB + VRF"
- },
- {
- "raw": "junos/oam/cfm-maintenance-domain.conf",
- "id": "ewan_adv_core_edge/junos/oam/cfm-maintenance-domain",
- "note": null
- },
- {
- "raw": "junos/services/evpn-vpws-fxc.conf",
- "id": "ewan_adv_core_edge/junos/services/evpn-vpws-fxc",
- "note": null
- }
- ],
- "variables": [
- {
- "name": "$LAG_INTF",
- "example": "ae0"
- },
- {
- "name": "$UNIT",
- "example": "1"
- },
- {
- "name": "$VLAN_ID",
- "example": "1"
- },
- {
- "name": "$ESI",
- "example": "00:12:12:12:12:12:12:12:11:01"
- }
- ],
- "jvdServiceMapping": [],
- "body": "/* --- VPWS AC (vlan-ccc with ESI, multi-homed) --- */\n\ninterfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-ccc;\n vlan-id $VLAN_ID;\n esi {\n $ESI;\n all-active;\n }\n family ccc;\n }\n }\n}\n\n/* --- ELAN AC (vlan-bridge, no ESI needed for bridge units) --- */\n\ninterfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-bridge;\n vlan-id $VLAN_ID;\n }\n }\n}",
- "bodyHtml": "/* --- VPWS AC (vlan-ccc with ESI, multi-homed) --- */\n\ninterfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-ccc;\n vlan-id $VLAN_ID;\n esi {\n $ESI;\n all-active;\n }\n family ccc;\n }\n }\n}\n\n/* --- ELAN AC (vlan-bridge, no ESI needed for bridge units) --- */\n\ninterfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-bridge;\n vlan-id $VLAN_ID;\n }\n }\n}",
- "bytes": 502,
- "lineCount": 26,
- "techFamily": "Interfaces",
- "subfamily": "Interfaces",
- "usecases": [
- "Enterprise WAN",
- "EVPN-VPWS",
- "EVPN-ELAN",
- "MPLS"
- ],
- "parseWarnings": []
- },
{
"id": "ewan_adv_core_edge/junos/interfaces/irb-gateway",
"jvd": "ewan_adv_core_edge",
@@ -7624,8 +7701,8 @@
],
"pairWith": [
{
- "raw": "junos/services/evpn-elan-bridged.conf (ELAN instance referencing routing-interface irb.$UNIT)",
- "id": "ewan_adv_core_edge/junos/services/evpn-elan-bridged",
+ "raw": "junos/services/evpn-elan-vlan-based-irb.conf (ELAN instance referencing routing-interface irb.$UNIT)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-elan-vlan-based-irb",
"note": "ELAN instance referencing routing-interface irb.$UNIT"
},
{
@@ -7690,14 +7767,34 @@
],
"pairWith": [
{
- "raw": "junos/interfaces/ccc-vpws-mux.conf (per-unit VPWS/ELAN AC config on this LAG)",
- "id": "ewan_adv_core_edge/junos/interfaces/ccc-vpws-mux",
- "note": "per-unit VPWS/ELAN AC config on this LAG"
+ "raw": "junos/interfaces/vlan-ccc-esi.conf (per-unit VPWS AC config on this LAG)",
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-ccc-esi",
+ "note": "per-unit VPWS AC config on this LAG"
},
{
- "raw": "junos/services/evpn-vpws-fxc.conf (instances referencing ae0.* units)",
- "id": "ewan_adv_core_edge/junos/services/evpn-vpws-fxc",
- "note": "instances referencing ae0.* units"
+ "raw": "junos/interfaces/vlan-bridge.conf (per-unit ELAN AC config on this LAG)",
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-bridge",
+ "note": "per-unit ELAN AC config on this LAG"
+ },
+ {
+ "raw": "junos/services/evpn-vpws-vlan-based.conf (VPWS instances binding vlan-ccc units)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-vpws-vlan-based",
+ "note": "VPWS instances binding vlan-ccc units"
+ },
+ {
+ "raw": "junos/services/evpn-fxc-vlan-aware.conf (FXC instances referencing ae0.* units)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-fxc-vlan-aware",
+ "note": "FXC instances referencing ae0.* units"
+ },
+ {
+ "raw": "junos/services/evpn-elan-vlan-based.conf (ELAN instances binding vlan-bridge units)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-elan-vlan-based",
+ "note": "ELAN instances binding vlan-bridge units"
+ },
+ {
+ "raw": "junos/services/evpn-elan-vlan-based-irb.conf (ELAN+IRB instances binding vlan-bridge units)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-elan-vlan-based-irb",
+ "note": "ELAN+IRB instances binding vlan-bridge units"
},
{
"raw": "junos/transport/forwarding-options-hash.conf",
@@ -7872,6 +7969,162 @@
],
"parseWarnings": []
},
+ {
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-bridge",
+ "jvd": "ewan_adv_core_edge",
+ "jvdLabel": "Enterprise WAN: Advanced Core/Edge",
+ "area": "Enterprise WAN",
+ "os": "Junos",
+ "osKey": "junos",
+ "category": "interfaces",
+ "name": "vlan-bridge",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/vlan-bridge.conf",
+ "topic": "ELAN attachment-circuit (vlan-bridge encapsulation)",
+ "seenOn": {
+ "junos": [
+ "wanedge1_mx304",
+ "wanedge2_mx10004"
+ ],
+ "evo": [
+ "wanedge3_acx7509",
+ "wanedge4_acx7100-48l"
+ ]
+ },
+ "highlights": [
+ "encapsulation vlan-bridge carries L2 multipoint ELAN traffic",
+ "No ESI needed — bridging semantics don't require per-unit multi-homing (the parent LAG ESI handles it at the bundle level)",
+ "No family statement — bridging is implied by the encapsulation",
+ "Scale: ~1000 vlan-bridge units per ae0 in this JVD"
+ ],
+ "pairWith": [
+ {
+ "raw": "junos/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/junos/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
+ },
+ {
+ "raw": "junos/services/evpn-elan-vlan-based.conf (ELAN instances binding these units)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-elan-vlan-based",
+ "note": "ELAN instances binding these units"
+ },
+ {
+ "raw": "junos/services/evpn-elan-vlan-based-irb.conf (ELAN+IRB instances binding these units)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-elan-vlan-based-irb",
+ "note": "ELAN+IRB instances binding these units"
+ }
+ ],
+ "variables": [
+ {
+ "name": "$LAG_INTF",
+ "example": "ae0"
+ },
+ {
+ "name": "$UNIT",
+ "example": "2001"
+ },
+ {
+ "name": "$VLAN_ID",
+ "example": "2001"
+ }
+ ],
+ "jvdServiceMapping": [],
+ "body": "interfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-bridge;\n vlan-id $VLAN_ID;\n }\n }\n}",
+ "bodyHtml": "interfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-bridge;\n vlan-id $VLAN_ID;\n }\n }\n}",
+ "bytes": 136,
+ "lineCount": 8,
+ "techFamily": "Interfaces",
+ "subfamily": "Interfaces",
+ "usecases": [
+ "Enterprise WAN",
+ "EVPN-VPWS",
+ "EVPN-ELAN",
+ "MPLS"
+ ],
+ "parseWarnings": []
+ },
+ {
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-ccc-esi",
+ "jvd": "ewan_adv_core_edge",
+ "jvdLabel": "Enterprise WAN: Advanced Core/Edge",
+ "area": "Enterprise WAN",
+ "os": "Junos",
+ "osKey": "junos",
+ "category": "interfaces",
+ "name": "vlan-ccc-esi",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/interfaces/vlan-ccc-esi.conf",
+ "topic": "VPWS attachment-circuit (vlan-ccc with ESI all-active multi-homing)",
+ "seenOn": {
+ "junos": [
+ "wanedge1_mx304",
+ "wanedge2_mx10004"
+ ],
+ "evo": [
+ "wanedge3_acx7509",
+ "wanedge4_acx7100-48l"
+ ]
+ },
+ "highlights": [
+ "encapsulation vlan-ccc carries point-to-point VPWS traffic",
+ "ESI with all-active enables per-flow multi-homing across PE pairs",
+ "ESI is a 10-byte identifier — must be identical on both multi-homed PEs",
+ "family ccc is required for circuit cross-connect semantics",
+ "Scale: ~1500 vlan-ccc units per ae0 in this JVD"
+ ],
+ "pairWith": [
+ {
+ "raw": "junos/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/junos/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
+ },
+ {
+ "raw": "junos/services/evpn-vpws-vlan-based.conf (instances binding these vlan-ccc units)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-vpws-vlan-based",
+ "note": "instances binding these vlan-ccc units"
+ },
+ {
+ "raw": "junos/services/evpn-fxc-vlan-aware.conf (FXC instances binding these units)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-fxc-vlan-aware",
+ "note": "FXC instances binding these units"
+ },
+ {
+ "raw": "junos/oam/cfm-maintenance-domain.conf",
+ "id": "ewan_adv_core_edge/junos/oam/cfm-maintenance-domain",
+ "note": null
+ }
+ ],
+ "variables": [
+ {
+ "name": "$LAG_INTF",
+ "example": "ae0"
+ },
+ {
+ "name": "$UNIT",
+ "example": "1"
+ },
+ {
+ "name": "$VLAN_ID",
+ "example": "1"
+ },
+ {
+ "name": "$ESI",
+ "example": "00:12:12:12:12:12:12:12:11:01"
+ }
+ ],
+ "jvdServiceMapping": [],
+ "body": "interfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-ccc;\n vlan-id $VLAN_ID;\n esi {\n $ESI;\n all-active;\n }\n family ccc;\n }\n }\n}",
+ "bodyHtml": "interfaces {\n $LAG_INTF {\n unit $UNIT {\n encapsulation vlan-ccc;\n vlan-id $VLAN_ID;\n esi {\n $ESI;\n all-active;\n }\n family ccc;\n }\n }\n}",
+ "bytes": 239,
+ "lineCount": 13,
+ "techFamily": "Interfaces",
+ "subfamily": "Interfaces",
+ "usecases": [
+ "Enterprise WAN",
+ "EVPN-VPWS",
+ "EVPN-ELAN",
+ "MPLS"
+ ],
+ "parseWarnings": []
+ },
{
"id": "ewan_adv_core_edge/junos/oam/cfm-maintenance-domain",
"jvd": "ewan_adv_core_edge",
@@ -7908,8 +8161,8 @@
"note": "performance measurement on these MEPs"
},
{
- "raw": "junos/interfaces/ccc-vpws-mux.conf (the AC interfaces referenced by MEPs)",
- "id": "ewan_adv_core_edge/junos/interfaces/ccc-vpws-mux",
+ "raw": "junos/interfaces/vlan-ccc-esi.conf (the AC interfaces referenced by MEPs)",
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-ccc-esi",
"note": "the AC interfaces referenced by MEPs"
}
],
@@ -8079,16 +8332,16 @@
"parseWarnings": []
},
{
- "id": "ewan_adv_core_edge/junos/services/evpn-elan-bridged",
+ "id": "ewan_adv_core_edge/junos/services/evpn-elan-vlan-based-irb",
"jvd": "ewan_adv_core_edge",
"jvdLabel": "Enterprise WAN: Advanced Core/Edge",
"area": "Enterprise WAN",
"os": "Junos",
"osKey": "junos",
"category": "services",
- "name": "evpn-elan-bridged",
- "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-bridged.conf",
- "topic": "EVPN ELAN bridge domain with IRB gateway (L2+L3 integrated)",
+ "name": "evpn-elan-vlan-based-irb",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-vlan-based-irb.conf",
+ "topic": "EVPN-ELAN vlan-based with IRB gateway (L2+L3 integrated)",
"seenOn": {
"junos": [
"wanedge1_mx304",
@@ -8097,7 +8350,7 @@
"evo": []
},
"highlights": [
- "Junos-specific: uses instance-type evpn with routing-interface (EVO uses mac-vrf + l3-interface)",
+ "Junos-specific: uses instance-type evpn with routing-interface",
"no-normalization preserves original VLAN tags through the bridge domain",
"encapsulation mpls explicitly sets EVPN/MPLS data-plane (vs VXLAN)",
"default-gateway do-not-advertise suppresses Type-5 default from this instance",
@@ -8106,24 +8359,24 @@
],
"pairWith": [
{
- "raw": "junos/interfaces/ccc-vpws-mux.conf (the vlan-bridge AC units on this LAG)",
- "id": "ewan_adv_core_edge/junos/interfaces/ccc-vpws-mux",
+ "raw": "junos/interfaces/vlan-bridge.conf (the vlan-bridge AC units on this LAG)",
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-bridge",
"note": "the vlan-bridge AC units on this LAG"
},
{
- "raw": "junos/services/evpn-vrf-ip-prefix.conf (the L3 VRF that binds to irb.$UNIT)",
+ "raw": "junos/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/junos/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
+ },
+ {
+ "raw": "junos/services/evpn-vrf-ip-prefix.conf (the L3 VRF that binds to irb.$UNIT)",
"id": "ewan_adv_core_edge/junos/services/evpn-vrf-ip-prefix",
"note": "the L3 VRF that binds to irb.$UNIT"
},
{
- "raw": "junos/interfaces/irb-gateway.conf (IRB unit with anycast or per-PE addressing)",
+ "raw": "junos/interfaces/irb-gateway.conf (IRB unit with anycast or per-PE addressing)",
"id": "ewan_adv_core_edge/junos/interfaces/irb-gateway",
"note": "IRB unit with anycast or per-PE addressing"
- },
- {
- "raw": "junos/services/evpn-elan-simple.conf",
- "id": "ewan_adv_core_edge/junos/services/evpn-elan-simple",
- "note": null
}
],
"variables": [
@@ -8175,16 +8428,16 @@
"parseWarnings": []
},
{
- "id": "ewan_adv_core_edge/junos/services/evpn-elan-simple",
+ "id": "ewan_adv_core_edge/junos/services/evpn-elan-vlan-based",
"jvd": "ewan_adv_core_edge",
"jvdLabel": "Enterprise WAN: Advanced Core/Edge",
"area": "Enterprise WAN",
"os": "Junos",
"osKey": "junos",
"category": "services",
- "name": "evpn-elan-simple",
- "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-simple.conf",
- "topic": "EVPN ELAN bridge domain — simple L2 multipoint (no IRB)",
+ "name": "evpn-elan-vlan-based",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-elan-vlan-based.conf",
+ "topic": "EVPN-ELAN vlan-based (L2 multipoint, no IRB)",
"seenOn": {
"junos": [
"wanedge1_mx304",
@@ -8197,18 +8450,18 @@
"Minimal ELAN: just protocols { evpn; } — no encapsulation or gateway knobs needed",
"Multiple ACs per instance for multi-homing or multi-site bridging",
"No IRB interface — pure L2 switching across the MPLS/EVPN fabric",
- "Scale: ~500 simple ELAN instances per WAN edge in this JVD"
+ "Scale: ~500 ELAN instances per WAN edge in this JVD"
],
"pairWith": [
{
- "raw": "junos/interfaces/ccc-vpws-mux.conf (per-unit VLAN-bridge AC config)",
- "id": "ewan_adv_core_edge/junos/interfaces/ccc-vpws-mux",
- "note": "per-unit VLAN-bridge AC config"
+ "raw": "junos/interfaces/vlan-bridge.conf (per-unit vlan-bridge AC config)",
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-bridge",
+ "note": "per-unit vlan-bridge AC config"
},
{
- "raw": "junos/services/evpn-elan-bridged.conf (variant with IRB for L3 gateway)",
- "id": "ewan_adv_core_edge/junos/services/evpn-elan-bridged",
- "note": "variant with IRB for L3 gateway"
+ "raw": "junos/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/junos/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
}
],
"variables": [
@@ -8256,16 +8509,16 @@
"parseWarnings": []
},
{
- "id": "ewan_adv_core_edge/junos/services/evpn-vpws-fxc",
+ "id": "ewan_adv_core_edge/junos/services/evpn-fxc-vlan-aware",
"jvd": "ewan_adv_core_edge",
"jvdLabel": "Enterprise WAN: Advanced Core/Edge",
"area": "Enterprise WAN",
"os": "Junos",
"osKey": "junos",
"category": "services",
- "name": "evpn-vpws-fxc",
- "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-fxc.conf",
- "topic": "EVPN-VPWS with Flexible Cross-Connect (multi-AC VLAN-aware)",
+ "name": "evpn-fxc-vlan-aware",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-fxc-vlan-aware.conf",
+ "topic": "EVPN FXC vlan-aware (Flexible Cross-Connect, multi-AC)",
"seenOn": {
"junos": [
"wanedge1_mx304",
@@ -8289,8 +8542,8 @@
"note": "the ae0 bundle carrying these ACs"
},
{
- "raw": "junos/interfaces/ccc-vpws-mux.conf (per-AC unit config on ae0)",
- "id": "ewan_adv_core_edge/junos/interfaces/ccc-vpws-mux",
+ "raw": "junos/interfaces/vlan-ccc-esi.conf (per-AC unit config on ae0)",
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-ccc-esi",
"note": "per-AC unit config on ae0"
}
],
@@ -8345,7 +8598,7 @@
"bytes": 722,
"lineCount": 26,
"techFamily": "Service Overlay",
- "subfamily": "EVPN-VPWS",
+ "subfamily": "EVPN",
"usecases": [
"Enterprise WAN",
"EVPN-VPWS",
@@ -8355,16 +8608,16 @@
"parseWarnings": []
},
{
- "id": "ewan_adv_core_edge/junos/services/evpn-vpws-simple",
+ "id": "ewan_adv_core_edge/junos/services/evpn-vpws-vlan-based",
"jvd": "ewan_adv_core_edge",
"jvdLabel": "Enterprise WAN: Advanced Core/Edge",
"area": "Enterprise WAN",
"os": "Junos",
"osKey": "junos",
"category": "services",
- "name": "evpn-vpws-simple",
- "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-simple.conf",
- "topic": "EVPN-VPWS point-to-point pseudowire (single AC, control-word)",
+ "name": "evpn-vpws-vlan-based",
+ "path": "enterprise_wan/ewan_adv_core_edge/configuration/snips/junos/services/evpn-vpws-vlan-based.conf",
+ "topic": "EVPN-VPWS vlan-based point-to-point pseudowire (single AC, control-word)",
"seenOn": {
"junos": [
"wanedge1_mx304",
@@ -8376,16 +8629,21 @@
]
},
"highlights": [
- "Simplest VPWS: one AC interface, one vpws-service-id pair, control-word enabled",
+ "Single AC interface, one vpws-service-id pair, control-word enabled",
"control-word ensures correct sequencing and prevents fat-pipe reordering issues",
"local/remote IDs must be mirror-swapped on the PE peer (local 10 ↔ remote 40)",
- "Scale: ~1000 simple VPWS instances per WAN edge in this JVD"
+ "Scale: ~1000 VPWS instances per WAN edge in this JVD"
],
"pairWith": [
{
- "raw": "junos/interfaces/ccc-vpws-mux.conf (the per-unit AC config on the physical/LAG interface)",
- "id": "ewan_adv_core_edge/junos/interfaces/ccc-vpws-mux",
- "note": "the per-unit AC config on the physical/LAG interface"
+ "raw": "junos/interfaces/vlan-ccc-esi.conf (the per-unit AC config on the LAG interface)",
+ "id": "ewan_adv_core_edge/junos/interfaces/vlan-ccc-esi",
+ "note": "the per-unit AC config on the LAG interface"
+ },
+ {
+ "raw": "junos/interfaces/lag-flexible-services.conf (the parent ae interface)",
+ "id": "ewan_adv_core_edge/junos/interfaces/lag-flexible-services",
+ "note": "the parent ae interface"
}
],
"variables": [
@@ -8467,8 +8725,8 @@
],
"pairWith": [
{
- "raw": "junos/services/evpn-elan-bridged.conf (the bridge domain whose IRB feeds this VRF)",
- "id": "ewan_adv_core_edge/junos/services/evpn-elan-bridged",
+ "raw": "junos/services/evpn-elan-vlan-based-irb.conf (the bridge domain whose IRB feeds this VRF)",
+ "id": "ewan_adv_core_edge/junos/services/evpn-elan-vlan-based-irb",
"note": "the bridge domain whose IRB feeds this VRF"
},
{
@@ -33844,7 +34102,7 @@
},
{
"jvd": "ewan_adv_core_edge",
- "markdown": "# Snip Variable Reference\n\nVariables used across the `ewan_adv_core_edge` snip library. Replace `$VARIABLE` placeholders\nwith site-specific values when adapting snips to a new deployment.\n\n## Interfaces\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$CORE_INTF` | `et-0/0/1` | physical-uplink-mpls, rewrite-rules-exp |\n| `$ACCESS_INTF` | `xe-0/0/9:0` | rewrite-rules-exp, ccc-vpws-mux |\n| `$LAG_INTF` | `ae0` | lag-flexible-services |\n| `$LAG_MEMBER` | `xe-0/0/9:0` | lag-flexible-services |\n| `$UNIT` | `301` | ccc-vpws-mux, irb-gateway, rewrite-rules-exp |\n| `$VLAN_ID` | `301` | ccc-vpws-mux, irb-gateway |\n| `$LOOPBACK_IPV4` | `192.168.0.1/32` | loopback |\n| `$LOOPBACK_IPV6` | `fd00::1/128` | loopback |\n| `$IRB_IPV4` | `10.0.1.1/24` | irb-gateway |\n| `$MTU` | `9192` | physical-uplink-mpls |\n\n## Transport / Routing\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$ROUTER_ID` | `192.168.0.1` | bgp-ibgp-evpn, ospf-sr-lfa |\n| `$AS_NUMBER` | `65001` | bgp-ibgp-evpn |\n| `$RR_PEER` | `192.168.0.100` | bgp-ibgp-evpn |\n| `$AREA` | `0.0.0.0` | ospf-sr-lfa |\n| `$SRGB_START` | `400000` | ospf-sr-lfa |\n| `$SRGB_SIZE` | `4096` | ospf-sr-lfa |\n| `$NODE_INDEX` | `1` | ospf-sr-lfa |\n| `$LSP_NAME` | `to-wanedge2` | mpls-lsp |\n| `$LSP_DESTINATION` | `192.168.0.2` | mpls-lsp |\n| `$BW_MBPS` | `1000m` | rsvp-te |\n\n## Services (EVPN / VPN)\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$VPN_INSTANCE` | `vpws_group_14_1` | evpn-vpws-fxc, evpn-vpws-simple |\n| `$RD` | `192.168.0.1:14001` | all services |\n| `$RT_IMPORT` | `target:65001:14001` | all services |\n| `$RT_EXPORT` | `target:65001:14001` | all services |\n| `$LOCAL_ID` | `1` | evpn-vpws-fxc, evpn-vpws-simple |\n| `$REMOTE_ID` | `2` | evpn-vpws-fxc, evpn-vpws-simple |\n| `$FXC_INTF` | `lsi.*` | evpn-vpws-fxc |\n| `$ELAN_VNI` | `5001` | evpn-elan-simple (if extended) |\n\n## CoS / QoS\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$REWRITE_NAME` | `EXP-REWRITE` | rewrite-rules-exp |\n| `$CLASSIFIER_NAME` | `EXP` / `8021P` | rewrite-rules-exp |\n\n## Firewall / Security\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$FILTER_NAME` | `filter_ip_dport1` | filter-ipv4-stateless |\n| `$PROTOCOL` | `tcp` | filter-ipv4-stateless |\n| `$DST_PORT` | `80` | filter-ipv4-stateless |\n| `$NEXT_HOP` | `192.168.56.2/32` | filter-ipv4-stateless |\n| `$NEXT_INTF` | `et-0/0/1` | filter-ipv4-stateless |\n\n## OAM (802.1ag CFM)\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$MD_NAME` | `m-d301` | cfm-maintenance-domain |\n| `$MD_LEVEL` | `3` | cfm-maintenance-domain |\n| `$MA_NAME` | `m-a301` | cfm-maintenance-domain |\n| `$MEP_ID` | `1` | cfm-maintenance-domain |\n| `$MEP_INTF` | `xe-0/0/9:0.301` | cfm-maintenance-domain |\n| `$CC_INTERVAL` | `1s` | cfm-maintenance-domain |\n| `$PROFILE_DELAY` | `i1` | cfm-sla-iterator |\n| `$PROFILE_SLM` | `i2` | cfm-sla-iterator |\n| `$INTERVAL` | `5` | cfm-sla-iterator |\n\n## Bootstrap / Platform\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$DEVICE_COUNT` | `25` | chassis-network-services |\n"
+ "markdown": "# Snip Variable Reference\n\nVariables used across the `ewan_adv_core_edge` snip library. Replace `$VARIABLE` placeholders\nwith site-specific values when adapting snips to a new deployment.\n\n## Interfaces\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$CORE_INTF` | `et-0/0/1` | physical-uplink-mpls, rewrite-rules-exp |\n| `$ACCESS_INTF` | `xe-0/0/9:0` | rewrite-rules-exp, vlan-ccc-esi |\n| `$LAG_INTF` | `ae0` | lag-flexible-services |\n| `$LAG_MEMBER` | `xe-0/0/9:0` | lag-flexible-services |\n| `$UNIT` | `301` | vlan-ccc-esi, irb-gateway, rewrite-rules-exp |\n| `$VLAN_ID` | `301` | vlan-ccc-esi, irb-gateway |\n| `$LOOPBACK_IPV4` | `192.168.0.1/32` | loopback |\n| `$LOOPBACK_IPV6` | `fd00::1/128` | loopback |\n| `$IRB_IPV4` | `10.0.1.1/24` | irb-gateway |\n| `$MTU` | `9192` | physical-uplink-mpls |\n\n## Transport / Routing\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$ROUTER_ID` | `192.168.0.1` | bgp-ibgp-evpn, ospf-sr-lfa |\n| `$AS_NUMBER` | `65001` | bgp-ibgp-evpn |\n| `$RR_PEER` | `192.168.0.100` | bgp-ibgp-evpn |\n| `$AREA` | `0.0.0.0` | ospf-sr-lfa |\n| `$SRGB_START` | `400000` | ospf-sr-lfa |\n| `$SRGB_SIZE` | `4096` | ospf-sr-lfa |\n| `$NODE_INDEX` | `1` | ospf-sr-lfa |\n| `$LSP_NAME` | `to-wanedge2` | mpls-lsp |\n| `$LSP_DESTINATION` | `192.168.0.2` | mpls-lsp |\n| `$BW_MBPS` | `1000m` | rsvp-te |\n\n## Services (EVPN / VPN)\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$VPN_INSTANCE` | `vpws_group_14_1` | evpn-fxc-vlan-aware, evpn-vpws-vlan-based |\n| `$RD` | `192.168.0.1:14001` | all services |\n| `$RT_IMPORT` | `target:65001:14001` | all services |\n| `$RT_EXPORT` | `target:65001:14001` | all services |\n| `$LOCAL_ID` | `1` | evpn-fxc-vlan-aware, evpn-vpws-vlan-based |\n| `$REMOTE_ID` | `2` | evpn-fxc-vlan-aware, evpn-vpws-vlan-based |\n| `$FXC_INTF` | `lsi.*` | evpn-fxc-vlan-aware |\n| `$ELAN_VNI` | `5001` | evpn-elan-vlan-based (if extended) |\n\n## CoS / QoS\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$REWRITE_NAME` | `EXP-REWRITE` | rewrite-rules-exp |\n| `$CLASSIFIER_NAME` | `EXP` / `8021P` | rewrite-rules-exp |\n\n## Firewall / Security\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$FILTER_NAME` | `filter_ip_dport1` | filter-ipv4-stateless |\n| `$PROTOCOL` | `tcp` | filter-ipv4-stateless |\n| `$DST_PORT` | `80` | filter-ipv4-stateless |\n| `$NEXT_HOP` | `192.168.56.2/32` | filter-ipv4-stateless |\n| `$NEXT_INTF` | `et-0/0/1` | filter-ipv4-stateless |\n\n## OAM (802.1ag CFM)\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$MD_NAME` | `m-d301` | cfm-maintenance-domain |\n| `$MD_LEVEL` | `3` | cfm-maintenance-domain |\n| `$MA_NAME` | `m-a301` | cfm-maintenance-domain |\n| `$MEP_ID` | `1` | cfm-maintenance-domain |\n| `$MEP_INTF` | `xe-0/0/9:0.301` | cfm-maintenance-domain |\n| `$CC_INTERVAL` | `1s` | cfm-maintenance-domain |\n| `$PROFILE_DELAY` | `i1` | cfm-sla-iterator |\n| `$PROFILE_SLM` | `i2` | cfm-sla-iterator |\n| `$INTERVAL` | `5` | cfm-sla-iterator |\n\n## Bootstrap / Platform\n\n| Variable | Example | Used in |\n|----------|---------|---------|\n| `$DEVICE_COUNT` | `25` | chassis-network-services |\n"
},
{
"jvd": "ewan_finance",