diff --git a/CHANGELOG.md b/CHANGELOG.md index 4126d2c..cf9987a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,23 @@ Release notes for the Juniper Validated Design (JVD) configuration repository. ## 2026-06-01 -Two Enterprise WAN snip libraries audited and enriched — EWAN Advanced -Core & Edge and EWAN Finance — bringing cross-reference metadata, -service-mapping headers, and topology-derived use-case context to both. -The repository now also carries an explicit Apache-2.0 license. +New 70-snip library for the 5G xHaul Low-Latency Queueing JVD, plus two +Enterprise WAN snip libraries audited and enriched — EWAN Advanced +Core & Edge and EWAN Finance. The repository now also carries an +explicit Apache-2.0 license. ### New content +- **Low-Latency Queueing snip library** — 70 new configuration + snippets (39 EVO, 31 Junos) in + [`service_provider/low_latency_queueing/configuration/snips/`](service_provider/low_latency_queueing/configuration/snips/). + Covers 5G fronthaul, midhaul, and backhaul QoS across + ACX7509/ACX7100/ACX7024 (EVO), PTX10001-36MR (EVO), and + MX480/MX204/MX304 (Junos). Includes 8-class CoS model aligned to + O-RAN multi-priority requirements, EVPN-ELAN/VPWS/FXC services, + BGP-VPLS, L3VPN-IRB, per-hop behavior classifiers (DSCP, EXP, + 802.1p), and SR-ISIS/MPLS transport. + - **EWAN Advanced Core & Edge snip library audit** — headers enriched across all 48 snips in [`enterprise_wan/ewan_adv_core_edge/configuration/snips/`](enterprise_wan/ewan_adv_core_edge/configuration/snips/). @@ -35,11 +45,14 @@ The repository now also carries an explicit Apache-2.0 license. - **Portal snip data** regenerated — the [Snip Library browser](https://juniper.github.io/jvd/portal/#snips) - reflects updated header metadata for both EWAN libraries - (442 snips across 8 JVDs). + reflects the new LLQ library and updated header metadata for both + EWAN libraries (515 snips across 9 JVDs). ### What this means for you +- If you're deploying 5G xHaul with low-latency QoS, start from the + LLQ snips — they provide a validated 8-class CoS model with + per-hop classifiers ready to adapt to your DSCP/EXP marking scheme. - Pull the latest `main` to get corrected cross-references in both EWAN snip libraries — `Pair with:` and `Seen on:` sections now accurately reflect validated device pairings. @@ -58,11 +71,12 @@ The repository now also carries an explicit Apache-2.0 license. | JVD / Area | Added | Modified | Lines added | Lines removed | | --- | ---: | ---: | ---: | ---: | +| `service_provider/low_latency_queueing` | 72 | 0 | 3,376 | 0 | | `enterprise_wan/ewan_adv_core_edge` | 0 | 34 | 107 | 9 | | `enterprise_wan/ewan_finance` | 0 | 20 | 80 | 15 | -| `portal/` | 0 | 2 | 790 | 195 | +| `portal/` | 0 | 2 | 5,542 | 635 | | `LICENSE` | 1 | 0 | 190 | 0 | -| **TOTAL** | **1** | **56** | **1,167** | **219** | +| **TOTAL** | **73** | **56** | **9,295** | **659** | @@ -71,10 +85,11 @@ The repository now also carries an explicit Apache-2.0 license. | Area | Lines added | Lines removed | Net | | --- | ---: | ---: | ---: | +| Service Provider (LLQ) | 3,376 | 0 | +3,376 | | Enterprise WAN | 187 | 24 | +163 | -| Portal | 790 | 195 | +595 | +| Portal | 5,542 | 635 | +4,907 | | License | 190 | 0 | +190 | -| **Total** | **1,167** | **219** | **+948** | +| **Total** | **9,295** | **659** | **+8,636** | diff --git a/portal/src/data/snips.json b/portal/src/data/snips.json index 096d5eb..cb5d990 100644 --- a/portal/src/data/snips.json +++ b/portal/src/data/snips.json @@ -1,10 +1,10 @@ { - "generatedAt": "2026-06-01T21:17:03.921Z", + "generatedAt": "2026-06-02T00:47:23.740Z", "counts": { - "total": 445, - "junos": 217, - "evo": 228, - "jvds": 8 + "total": 515, + "junos": 248, + "evo": 267, + "jvds": 9 }, "categories": [ "apply-groups", @@ -106,6 +106,17 @@ "total": 38 } }, + { + "id": "low_latency_queueing", + "label": "Low Latency Queueing", + "area": "Service Provider", + "repoPath": "service_provider/low_latency_queueing", + "counts": { + "junos": 31, + "evo": 39, + "total": 70 + } + }, { "id": "metro_as_a_service", "label": "Metro as a Service", @@ -15635,653 +15646,4950 @@ "note": null }, { - "raw": "junos/services/l3vpn-dhcp-subs.conf", - "id": "broadband_edge/junos/services/l3vpn-dhcp-subs", - "note": null + "raw": "junos/services/l3vpn-dhcp-subs.conf", + "id": "broadband_edge/junos/services/l3vpn-dhcp-subs", + "note": null + }, + { + "raw": "junos/subscriber-management/dp-prod-dhcp-base.conf", + "id": "broadband_edge/junos/subscriber-management/dp-prod-dhcp-base", + "note": null + } + ], + "variables": [ + { + "name": "$VRF_LO_UNIT", + "example": "lo0.313 (the lo0 unit anchored in dhcp-subs)" + } + ], + "jvdServiceMapping": [], + "body": "dynamic-profiles {\n prof_autosense_ipdemux {\n predefined-variable-defaults {\n routing-instances dhcp-subs;\n }\n routing-instances {\n \"$junos-routing-instance\" {\n interface \"$junos-interface-name\";\n routing-options {\n rib inet6.0 {\n access-internal {\n route $junos-subscriber-ipv6-address {\n qualified-next-hop \"$junos-interface-name\";\n }\n }\n }\n access-internal {\n route $junos-subscriber-ip-address {\n qualified-next-hop \"$junos-interface-name\";\n }\n }\n }\n }\n }\n interfaces {\n demux0 {\n unit \"$junos-underlying-interface-unit\" {\n proxy-arp unrestricted;\n family inet {\n mac-validate loose;\n unnumbered-address $VRF_LO_UNIT;\n }\n family inet6 {\n unnumbered-address $VRF_LO_UNIT;\n }\n }\n }\n }\n }\n}", + "bodyHtml": "
dynamic-profiles {\n    prof_autosense_ipdemux {\n        predefined-variable-defaults {\n            routing-instances dhcp-subs;\n        }\n        routing-instances {\n            \"$junos-routing-instance\" {\n                interface \"$junos-interface-name\";\n                routing-options {\n                    rib inet6.0 {\n                        access-internal {\n                            route $junos-subscriber-ipv6-address {\n                                qualified-next-hop \"$junos-interface-name\";\n                            }\n                        }\n                    }\n                    access-internal {\n                        route $junos-subscriber-ip-address {\n                            qualified-next-hop \"$junos-interface-name\";\n                        }\n                    }\n                }\n            }\n        }\n        interfaces {\n            demux0 {\n                unit \"$junos-underlying-interface-unit\" {\n                    proxy-arp unrestricted;\n                    family inet {\n                        mac-validate loose;\n                        unnumbered-address $VRF_LO_UNIT;\n                    }\n                    family inet6 {\n                        unnumbered-address $VRF_LO_UNIT;\n                    }\n                }\n            }\n        }\n    }\n}
", + "bytes": 1313, + "lineCount": 40, + "techFamily": "Subscriber & BNG", + "subfamily": "Dynamic Profiles", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "broadband_edge/junos/subscriber-management/dp-prod-dhcp-base", + "jvd": "broadband_edge", + "jvdLabel": "Broadband Edge", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "subscriber-management", + "name": "dp-prod-dhcp-base", + "path": "service_provider/broadband_edge/configuration/snips/junos/subscriber-management/dp-prod-dhcp-base.conf", + "topic": "Dynamic-profile prod-dhcp-base (DHCPv4 + DHCPv6 demux session base)", + "seenOn": { + "junos": [ + "bng1_mx304", + "bng2_mx204", + "bng3_mx10004", + "bng4_mx480" + ], + "evo": [] + }, + "highlights": [ + "Bound to each new DHCP session by the dhcp-local-server config inside the dhcp-subs VRF (l3vpn-dhcp-subs.conf, group dhcp6-ls and dual-stack-group dhcp-ds).", + "Materializes a demux0 unit with: * actual-transit-statistics for per-session counters, * proxy-arp unrestricted, * demux-options underlying-interface bound to the session's ps, * family inet with rpf-check fail-filter rpf-pass-dhcp + demux-source $junos-subscriber-ip-address (so the FIB sees traffic from this exact source IP as legitimate), * family inet6 with rpf-check fail-filter rpf-pass-dhcpv6 + demux-source for v6, * unnumbered-address lo0.313 (the dhcp-subs VRF loopback).", + "routing-options access route adds framed-routes from RADIUS: `route $junos-framed-route-ip-address-prefix metric ...` is the session's downstream subnet, programmed only when present." + ], + "pairWith": [ + { + "raw": "junos/services/l3vpn-dhcp-subs.conf", + "id": "broadband_edge/junos/services/l3vpn-dhcp-subs", + "note": null + }, + { + "raw": "junos/firewall/rpf-pass-dhcp.conf", + "id": "broadband_edge/junos/firewall/rpf-pass-dhcp", + "note": null + }, + { + "raw": "junos/subscriber-management/dp-autosense-ipdemux.conf", + "id": "broadband_edge/junos/subscriber-management/dp-autosense-ipdemux", + "note": null + }, + { + "raw": "junos/subscriber-management/dp-auto-stacked-pwht-dhcp.conf", + "id": "broadband_edge/junos/subscriber-management/dp-auto-stacked-pwht-dhcp", + "note": null + } + ], + "variables": [ + { + "name": "$VRF_LO_UNIT", + "example": "lo0.313" + } + ], + "jvdServiceMapping": [], + "body": "dynamic-profiles {\n prod-dhcp-base {\n predefined-variable-defaults {\n routing-instances dhcp-subs;\n }\n routing-instances {\n \"$junos-routing-instance\" {\n interface \"$junos-interface-name\";\n routing-options {\n access {\n route $junos-framed-route-ip-address-prefix metric \"$junos-framed-route-cost\";\n }\n }\n }\n }\n interfaces {\n demux0 {\n unit \"$junos-interface-unit\" {\n actual-transit-statistics;\n proxy-arp unrestricted;\n demux-options {\n underlying-interface \"$junos-underlying-interface\";\n }\n family inet {\n rpf-check fail-filter rpf-pass-dhcp;\n demux-source {\n $junos-subscriber-ip-address;\n }\n unnumbered-address $VRF_LO_UNIT;\n }\n family inet6 {\n rpf-check fail-filter rpf-pass-dhcpv6;\n demux-source {\n \"$junos-subscriber-ipv6-address\";\n }\n unnumbered-address $VRF_LO_UNIT;\n }\n }\n }\n }\n }\n}", + "bodyHtml": "
dynamic-profiles {\n    prod-dhcp-base {\n        predefined-variable-defaults {\n            routing-instances dhcp-subs;\n        }\n        routing-instances {\n            \"$junos-routing-instance\" {\n                interface \"$junos-interface-name\";\n                routing-options {\n                    access {\n                        route $junos-framed-route-ip-address-prefix metric \"$junos-framed-route-cost\";\n                    }\n                }\n            }\n        }\n        interfaces {\n            demux0 {\n                unit \"$junos-interface-unit\" {\n                    actual-transit-statistics;\n                    proxy-arp unrestricted;\n                    demux-options {\n                        underlying-interface \"$junos-underlying-interface\";\n                    }\n                    family inet {\n                        rpf-check fail-filter rpf-pass-dhcp;\n                        demux-source {\n                            $junos-subscriber-ip-address;\n                        }\n                        unnumbered-address $VRF_LO_UNIT;\n                    }\n                    family inet6 {\n                        rpf-check fail-filter rpf-pass-dhcpv6;\n                        demux-source {\n                            \"$junos-subscriber-ipv6-address\";\n                        }\n                        unnumbered-address $VRF_LO_UNIT;\n                    }\n                }\n            }\n        }\n    }\n}
", + "bytes": 1443, + "lineCount": 42, + "techFamily": "Subscriber & BNG", + "subfamily": "DHCP / Address Assignment", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "broadband_edge/junos/subscriber-management/dp-prod-pppoe-dt-base", + "jvd": "broadband_edge", + "jvdLabel": "Broadband Edge", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "subscriber-management", + "name": "dp-prod-pppoe-dt-base", + "path": "service_provider/broadband_edge/configuration/snips/junos/subscriber-management/dp-prod-pppoe-dt-base.conf", + "topic": "Dynamic-profile prod-pppoe-dt-base (per-session PPPoE pp0 unit)", + "seenOn": { + "junos": [ + "bng1_mx304", + "bng2_mx204", + "bng3_mx10004", + "bng4_mx480" + ], + "evo": [] + }, + "highlights": [ + "Invoked by `family pppoe { dynamic-profile prod-pppoe-dt-base; }` inside auto-stacked-pwht (dp-auto-stacked-pwht-pppoe.conf) once a PPPoE session reaches LCP-up. Materializes a pp0.x unit with the PPPoE/PPP framing wired up.", + "ppp-options mru/mtu 1500 — standard PPP MTU, sized to fit inside the ps interface MTU 2022 with PPPoE/PPP overhead.", + "pppoe-options underlying-interface ties the pp0 to the demux unit on the ps that handed it the session.", + "keepalives interval 30 — LCP echo every 30s for liveness.", + "family inet rpf-check + clear-df-bit output filter (see rpf-pass-dhcp.conf for the filter definition).", + "unnumbered-address from RADIUS-supplied loopback per session (so addresses are RADIUS-attribute-driven, not config-driven).", + "protocols router-advertisement issues the per-session NDRA prefix that came from the IPv6 pool delegation.", + "predefined-variable-defaults sets routing-instances PPPOE_SUBS_1." + ], + "pairWith": [ + { + "raw": "junos/subscriber-management/dp-auto-stacked-pwht-pppoe.conf", + "id": "broadband_edge/junos/subscriber-management/dp-auto-stacked-pwht-pppoe", + "note": null + }, + { + "raw": "junos/firewall/rpf-pass-dhcp.conf", + "id": "broadband_edge/junos/firewall/rpf-pass-dhcp", + "note": null + }, + { + "raw": "junos/services/l3vpn-pppoe-subs.conf", + "id": "broadband_edge/junos/services/l3vpn-pppoe-subs", + "note": null + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "dynamic-profiles {\n prod-pppoe-dt-base {\n predefined-variable-defaults {\n routing-instances PPPOE_SUBS_1;\n }\n routing-instances {\n \"$junos-routing-instance\" {\n interface \"$junos-interface-name\";\n }\n }\n interfaces {\n pp0 {\n unit \"$junos-interface-unit\" {\n actual-transit-statistics;\n no-traps;\n ppp-options {\n mru 1500;\n mtu 1500;\n }\n pppoe-options {\n underlying-interface \"$junos-underlying-interface\";\n server;\n }\n keepalives interval 30;\n family inet {\n rpf-check;\n filter {\n output clear-df-bit;\n }\n unnumbered-address \"$junos-loopback-interface\";\n }\n family inet6 {\n unnumbered-address \"$junos-loopback-interface\";\n }\n }\n }\n }\n protocols {\n router-advertisement {\n interface \"$junos-interface-name\" {\n prefix $junos-ipv6-ndra-prefix;\n }\n }\n }\n }\n}", + "bodyHtml": "
dynamic-profiles {\n    prod-pppoe-dt-base {\n        predefined-variable-defaults {\n            routing-instances PPPOE_SUBS_1;\n        }\n        routing-instances {\n            \"$junos-routing-instance\" {\n                interface \"$junos-interface-name\";\n            }\n        }\n        interfaces {\n            pp0 {\n                unit \"$junos-interface-unit\" {\n                    actual-transit-statistics;\n                    no-traps;\n                    ppp-options {\n                        mru 1500;\n                        mtu 1500;\n                    }\n                    pppoe-options {\n                        underlying-interface \"$junos-underlying-interface\";\n                        server;\n                    }\n                    keepalives interval 30;\n                    family inet {\n                        rpf-check;\n                        filter {\n                            output clear-df-bit;\n                        }\n                        unnumbered-address \"$junos-loopback-interface\";\n                    }\n                    family inet6 {\n                        unnumbered-address \"$junos-loopback-interface\";\n                    }\n                }\n            }\n        }\n        protocols {\n            router-advertisement {\n                interface \"$junos-interface-name\" {\n                    prefix $junos-ipv6-ndra-prefix;\n                }\n            }\n        }\n    }\n}
", + "bytes": 1427, + "lineCount": 46, + "techFamily": "Subscriber & BNG", + "subfamily": "Subscriber Management", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "broadband_edge/junos/subscriber-management/radius-server", + "jvd": "broadband_edge", + "jvdLabel": "Broadband Edge", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "subscriber-management", + "name": "radius-server", + "path": "service_provider/broadband_edge/configuration/snips/junos/subscriber-management/radius-server.conf", + "topic": "RADIUS server reachable through the RADIUS L3VPN", + "seenOn": { + "junos": [ + "bng1_mx304", + "bng2_mx204", + "bng3_mx10004", + "bng4_mx480" + ], + "evo": [] + }, + "highlights": [ + "The RADIUS server lives behind cr1 (10.189.189.2). Source-address must be the BNG's loopback INSIDE the RADIUS VRF (192.168.17.17 for bng1) so the reply path resolves through the VRF, not the main routing table.", + "routing-instance RADIUS pins the UDP transport to the VRF.", + "max-outstanding-requests 2000 + retry 3 are JVD-tuned for high BNG churn (fast reconnect bursts).", + "The two `radius-server` blocks (top-level and inside profile vlan-auth-access1) point at the same server with different secrets — one for non-AAA queries, one for the per-profile authentication. Keep them in sync." + ], + "pairWith": [ + { + "raw": "junos/services/l3vpn-radius.conf", + "id": "broadband_edge/junos/services/l3vpn-radius", + "note": null + }, + { + "raw": "junos/policy/vrf-radius-policies.conf", + "id": "broadband_edge/junos/policy/vrf-radius-policies", + "note": null + }, + { + "raw": "junos/subscriber-management/access-profile-radius.conf", + "id": "broadband_edge/junos/subscriber-management/access-profile-radius", + "note": null + } + ], + "variables": [ + { + "name": "$RADIUS_SERVER_V4", + "example": "10.189.189.2" + }, + { + "name": "$RADIUS_PORT", + "example": "1812" + }, + { + "name": "$RADIUS_SECRET", + "example": "(Junos $9$-encrypted RADIUS secret)" + }, + { + "name": "$RADIUS_SOURCE_V4", + "example": "192.168.17.17" + } + ], + "jvdServiceMapping": [], + "body": "access {\n radius-server {\n $RADIUS_SERVER_V4 {\n port $RADIUS_PORT;\n secret $RADIUS_SECRET;\n timeout 10;\n retry 3;\n max-outstanding-requests 2000;\n source-address $RADIUS_SOURCE_V4;\n routing-instance RADIUS;\n }\n }\n}", + "bodyHtml": "
access {\n    radius-server {\n        $RADIUS_SERVER_V4 {\n            port $RADIUS_PORT;\n            secret $RADIUS_SECRET;\n            timeout 10;\n            retry 3;\n            max-outstanding-requests 2000;\n            source-address $RADIUS_SOURCE_V4;\n            routing-instance RADIUS;\n        }\n    }\n}
", + "bytes": 311, + "lineCount": 13, + "techFamily": "Subscriber & BNG", + "subfamily": "RADIUS", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "broadband_edge/junos/subscriber-management/system-services-subscriber-mgmt", + "jvd": "broadband_edge", + "jvdLabel": "Broadband Edge", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "subscriber-management", + "name": "system-services-subscriber-mgmt", + "path": "service_provider/broadband_edge/configuration/snips/junos/subscriber-management/system-services-subscriber-mgmt.conf", + "topic": "System services subscriber-management redundancy + ddos-protection autoconf/pppoe", + "seenOn": { + "junos": [ + "bng1_mx304", + "bng2_mx204", + "bng3_mx10004", + "bng4_mx480" + ], + "evo": [] + }, + "highlights": [ + "subscriber-management { enable; } turns on the BNG personality.", + "subscriber-management redundancy declares the ps interfaces that participate in stateless rapid-reconnect (the BNG-pair model where a session can re-anchor on the partner BNG with a shared key per ps interface). One `interface psN.0 { shared-key ...; }` line per ps unit involved.", + "no-advertise-routes-on-backup keeps the standby BNG from advertising subscriber routes (avoids transient blackholes).", + "route-operation-interval 1 paces route programming during failover.", + "dynamic-profile-options versioning enables in-service updates of dynamic profiles without bouncing live sessions.", + "processes smg-service starts the subscriber-management gateway daemon.", + "ddos-protection limits autoconf and PPPoE PADSE rates to keep a misbehaving access circuit from filling the BNG control plane." + ], + "pairWith": [ + { + "raw": "junos/bootstrap/chassis-bng.conf", + "id": "broadband_edge/junos/bootstrap/chassis-bng", + "note": null + }, + { + "raw": "junos/interfaces/ps-pseudowire-pppoe.conf", + "id": "broadband_edge/junos/interfaces/ps-pseudowire-pppoe", + "note": null + }, + { + "raw": "junos/interfaces/ps-pseudowire-dhcp-ipoe.conf", + "id": "broadband_edge/junos/interfaces/ps-pseudowire-dhcp-ipoe", + "note": null + } + ], + "variables": [ + { + "name": "$REDUNDANCY_PS_LIST", + "example": "ps11.0..ps20.0 (one interface{} block each)" + }, + { + "name": "$AUTOCONF_BW", + "example": "20000" + }, + { + "name": "$AUTOCONF_BURST", + "example": "20000" + }, + { + "name": "$PPPOE_PADSE_BW", + "example": "2000" + }, + { + "name": "$PPPOE_PADSE_BURST", + "example": "100" + } + ], + "jvdServiceMapping": [], + "body": "system {\n services {\n subscriber-management {\n enable;\n redundancy {\n interface ps11.0 {\n shared-key ps11-key;\n }\n interface ps12.0 {\n shared-key ps12-key;\n }\n interface ps13.0 {\n shared-key ps13-key;\n }\n interface ps14.0 {\n shared-key ps14-key;\n }\n interface ps15.0 {\n shared-key ps15-key;\n }\n interface ps16.0 {\n shared-key ps16-key;\n }\n interface ps17.0 {\n shared-key ps17-key;\n }\n interface ps18.0 {\n shared-key ps18-key;\n }\n interface ps19.0 {\n shared-key ps19-key;\n }\n interface ps20.0 {\n shared-key ps20-key;\n }\n no-advertise-routes-on-backup;\n route-operation-interval 1;\n }\n }\n }\n dynamic-profile-options {\n versioning;\n }\n processes {\n smg-service;\n }\n ddos-protection {\n protocols {\n autoconf {\n aggregate {\n bandwidth $AUTOCONF_BW;\n burst $AUTOCONF_BURST;\n }\n }\n pppoe {\n padse {\n bandwidth $PPPOE_PADSE_BW;\n burst $PPPOE_PADSE_BURST;\n }\n }\n }\n }\n}", + "bodyHtml": "
system {\n    services {\n        subscriber-management {\n            enable;\n            redundancy {\n                interface ps11.0 {\n                    shared-key ps11-key;\n                }\n                interface ps12.0 {\n                    shared-key ps12-key;\n                }\n                interface ps13.0 {\n                    shared-key ps13-key;\n                }\n                interface ps14.0 {\n                    shared-key ps14-key;\n                }\n                interface ps15.0 {\n                    shared-key ps15-key;\n                }\n                interface ps16.0 {\n                    shared-key ps16-key;\n                }\n                interface ps17.0 {\n                    shared-key ps17-key;\n                }\n                interface ps18.0 {\n                    shared-key ps18-key;\n                }\n                interface ps19.0 {\n                    shared-key ps19-key;\n                }\n                interface ps20.0 {\n                    shared-key ps20-key;\n                }\n                no-advertise-routes-on-backup;\n                route-operation-interval 1;\n            }\n        }\n    }\n    dynamic-profile-options {\n        versioning;\n    }\n    processes {\n        smg-service;\n    }\n    ddos-protection {\n        protocols {\n            autoconf {\n                aggregate {\n                    bandwidth $AUTOCONF_BW;\n                    burst $AUTOCONF_BURST;\n                }\n            }\n            pppoe {\n                padse {\n                    bandwidth $PPPOE_PADSE_BW;\n                    burst $PPPOE_PADSE_BURST;\n                }\n            }\n        }\n    }\n}
", + "bytes": 1659, + "lineCount": 63, + "techFamily": "Subscriber & BNG", + "subfamily": "Subscriber Management", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "broadband_edge/junos/transport/bgp-overlay-pe-bng", + "jvd": "broadband_edge", + "jvdLabel": "Broadband Edge", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "transport", + "name": "bgp-overlay-pe-bng", + "path": "service_provider/broadband_edge/configuration/snips/junos/transport/bgp-overlay-pe-bng.conf", + "topic": "iBGP overlay from BNG PE to core route reflectors (multi-AF)", + "seenOn": { + "junos": [ + "bng1_mx304", + "bng2_mx204", + "bng3_mx10004", + "bng4_mx480" + ], + "evo": [] + }, + "highlights": [ + "GR-IBGP-CR is the only overlay group on the BNG — it directly peers with the access RRs (agn1, agn2 = 192.168.0.5/.6) AND the core RR (cr1 = 192.168.0.11). The BNG is a leaf in the RR mesh, so it does not set `cluster` or `accept-remote-nexthop`.", + "inet labeled-unicast carries `resolve-vpn` so service routes learned via inet-vpn / inet6-vpn / evpn resolve over the SR-MPLS BGP-LU underlay rather than IGP next-hops. (The AGN/CR variants use `rib { inet.3 }` instead because they're transit reflectors.)", + "inet6 labeled-unicast resolves into inet6.3 (paired with `mpls ipv6-tunneling` for 6PE).", + "family evpn signaling is required for the EVPN-VPWS subscriber services (see services/evpn-vpws-*-bng.conf).", + "export [ PS-PPPOE-SUBSv6 PS-DHCP-SUBSv6 ] re-originates IPv6 subscriber prefixes from the PPPOE_SUBS_1 / dhcp-subs VRFs into inet6 with the BNG's loopback as next-hop, so cr1 can leak them into VRF_Internet (see policy/subscriber-vrf-policies.conf).", + "vpn-apply-export at the bgp { } level is required so the export policies are applied on a per-neighbour basis for VPN AFs.", + "BFD 100ms x 3 for fast peer-down detection." + ], + "pairWith": [ + { + "raw": "junos/policy/subscriber-vrf-policies.conf", + "id": "broadband_edge/junos/policy/subscriber-vrf-policies", + "note": null + }, + { + "raw": "junos/services/l3vpn-pppoe-subs.conf", + "id": "broadband_edge/junos/services/l3vpn-pppoe-subs", + "note": null + }, + { + "raw": "junos/services/l3vpn-dhcp-subs.conf", + "id": "broadband_edge/junos/services/l3vpn-dhcp-subs", + "note": null + }, + { + "raw": "junos/services/evpn-vpws-pppoe-bng.conf", + "id": "broadband_edge/junos/services/evpn-vpws-pppoe-bng", + "note": null + }, + { + "raw": "junos/services/evpn-vpws-fxc-bng.conf", + "id": "broadband_edge/junos/services/evpn-vpws-fxc-bng", + "note": null + }, + { + "raw": "junos/services/evpn-vpws-ipoe-bng.conf", + "id": "broadband_edge/junos/services/evpn-vpws-ipoe-bng", + "note": null + } + ], + "variables": [ + { + "name": "$LOOPBACK_V4", + "example": "192.168.0.7" + }, + { + "name": "$RR_AGN1_V4", + "example": "192.168.0.5" + }, + { + "name": "$RR_AGN2_V4", + "example": "192.168.0.6" + }, + { + "name": "$RR_CR_V4", + "example": "192.168.0.11" + } + ], + "jvdServiceMapping": [], + "body": "protocols {\n bgp {\n vpn-apply-export;\n group GR-IBGP-CR {\n type internal;\n local-address $LOOPBACK_V4;\n family inet {\n labeled-unicast {\n resolve-vpn;\n }\n }\n family inet-vpn {\n unicast;\n }\n family inet6 {\n labeled-unicast {\n rib {\n inet6.3;\n }\n }\n }\n family inet6-vpn {\n unicast;\n }\n family evpn {\n signaling;\n }\n export [ PS-PPPOE-SUBSv6 PS-DHCP-SUBSv6 ];\n bfd-liveness-detection {\n minimum-interval 100;\n multiplier 3;\n }\n neighbor $RR_AGN1_V4;\n neighbor $RR_AGN2_V4;\n neighbor $RR_CR_V4;\n }\n }\n}", + "bodyHtml": "
protocols {\n    bgp {\n        vpn-apply-export;\n        group GR-IBGP-CR {\n            type internal;\n            local-address $LOOPBACK_V4;\n            family inet {\n                labeled-unicast {\n                    resolve-vpn;\n                }\n            }\n            family inet-vpn {\n                unicast;\n            }\n            family inet6 {\n                labeled-unicast {\n                    rib {\n                        inet6.3;\n                    }\n                }\n            }\n            family inet6-vpn {\n                unicast;\n            }\n            family evpn {\n                signaling;\n            }\n            export [ PS-PPPOE-SUBSv6 PS-DHCP-SUBSv6 ];\n            bfd-liveness-detection {\n                minimum-interval 100;\n                multiplier 3;\n            }\n            neighbor $RR_AGN1_V4;\n            neighbor $RR_AGN2_V4;\n            neighbor $RR_CR_V4;\n        }\n    }\n}
", + "bytes": 938, + "lineCount": 38, + "techFamily": "Transport", + "subfamily": "BGP Overlay (PE)", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "broadband_edge/junos/transport/isis-srmpls-tilfa", + "jvd": "broadband_edge", + "jvdLabel": "Broadband Edge", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "transport", + "name": "isis-srmpls-tilfa", + "path": "service_provider/broadband_edge/configuration/snips/junos/transport/isis-srmpls-tilfa.conf", + "topic": "ISIS L1 with SR-MPLS, TI-LFA node-protection, and microloop avoidance", + "seenOn": { + "junos": [ + "bng1_mx304", + "bng2_mx204", + "bng3_mx10004", + "bng4_mx480" + ], + "evo": [ + "agn1_acx7100-32c", + "agn2_acx7100-32c", + "an1_acx7024", + "an2_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7100-48l", + "an5_acx7100-48l", + "cr1_ptx10004" + ] + }, + "highlights": [ + "Single-area ISIS L1 is used end-to-end on access/aggregation/BNG; cr1 also runs L2 toward the core neighbour (et-0/0/18, ae1) and uses `level 2 wide-metrics-only` plus the stop_leak policy to contain L1 routes inside the metro. Other devices keep `level 2 disable`.", + "Every transport interface enables post-convergence-lfa with a high node-protection cost (16777214) so TI-LFA primary paths win over node-protecting backups when both are available.", + "source-packet-routing explicit-null lights up SR-MPLS using the SRGB defined under `mpls label-range`. Loopback prefix-segments are advertised by PS-ISIS-EXPORT (see policy/isis-export-prefix- segment.conf).", + "microloop-avoidance with a 5s post-convergence delay holds the forwarding update until SPF settles network-wide.", + "backup-spf-options use-source-packet-routing tells ISIS to compute backups using SR labels (not LDP), and maximum-labels 5 caps the TI-LFA repair label stack depth.", + "traffic-engineering l3-unicast-topology + advertisement always populate the TED for SR/RSVP path computation." + ], + "pairWith": [ + { + "raw": "junos/transport/mpls-segment-routing.conf", + "id": "broadband_edge/junos/transport/mpls-segment-routing", + "note": null + }, + { + "raw": "junos/policy/isis-export-prefix-segment.conf", + "id": "broadband_edge/junos/policy/isis-export-prefix-segment", + "note": null + }, + { + "raw": "junos/interfaces/core-isis-mpls.conf", + "id": "broadband_edge/junos/interfaces/core-isis-mpls", + "note": null + } + ], + "variables": [ + { + "name": "$CORE_INTF", + "example": "et-0/0/2.0 (repeat the interface block per core link)" + }, + { + "name": "$ISIS_LEVEL", + "example": "1 (use 2 on inter-area links such as cr1<->core)" + }, + { + "name": "$L2_KNOB", + "example": "disable (use `wide-metrics-only` on cr1)" + }, + { + "name": "$EXPORT_POLICY", + "example": "PS-ISIS-EXPORT (use `[ PS-ISIS-EXPORT stop_leak ]` on cr1)" + } + ], + "jvdServiceMapping": [], + "body": "protocols {\n isis {\n interface $CORE_INTF {\n level $ISIS_LEVEL {\n post-convergence-lfa {\n node-protection cost 16777214;\n }\n }\n point-to-point;\n family inet {\n bfd-liveness-detection {\n minimum-interval 100;\n multiplier 3;\n no-adaptation;\n }\n }\n }\n interface lo0.0 {\n passive;\n }\n source-packet-routing explicit-null;\n level 1 wide-metrics-only;\n level 2 $L2_KNOB;\n spf-options {\n microloop-avoidance {\n post-convergence-path {\n delay 5000;\n }\n }\n multipath {\n weighted one-hop;\n }\n }\n backup-spf-options {\n use-post-convergence-lfa maximum-labels 5;\n use-source-packet-routing;\n }\n traffic-engineering {\n l3-unicast-topology;\n advertisement always;\n }\n export $EXPORT_POLICY;\n }\n}", + "bodyHtml": "
protocols {\n    isis {\n        interface $CORE_INTF {\n            level $ISIS_LEVEL {\n                post-convergence-lfa {\n                    node-protection cost 16777214;\n                }\n            }\n            point-to-point;\n            family inet {\n                bfd-liveness-detection {\n                    minimum-interval 100;\n                    multiplier 3;\n                    no-adaptation;\n                }\n            }\n        }\n        interface lo0.0 {\n            passive;\n        }\n        source-packet-routing explicit-null;\n        level 1 wide-metrics-only;\n        level 2 $L2_KNOB;\n        spf-options {\n            microloop-avoidance {\n                post-convergence-path {\n                    delay 5000;\n                }\n            }\n            multipath {\n                weighted one-hop;\n            }\n        }\n        backup-spf-options {\n            use-post-convergence-lfa maximum-labels 5;\n            use-source-packet-routing;\n        }\n        traffic-engineering {\n            l3-unicast-topology;\n            advertisement always;\n        }\n        export $EXPORT_POLICY;\n    }\n}
", + "bytes": 1139, + "lineCount": 44, + "techFamily": "Transport", + "subfamily": "IS-IS / SR-MPLS", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "broadband_edge/junos/transport/mpls-segment-routing", + "jvd": "broadband_edge", + "jvdLabel": "Broadband Edge", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "transport", + "name": "mpls-segment-routing", + "path": "service_provider/broadband_edge/configuration/snips/junos/transport/mpls-segment-routing.conf", + "topic": "MPLS SRGB and IPv6 tunneling for SR-MPLS", + "seenOn": { + "junos": [ + "bng1_mx304", + "bng2_mx204", + "bng3_mx10004", + "bng4_mx480" + ], + "evo": [ + "agn1_acx7100-32c", + "agn2_acx7100-32c", + "an1_acx7024", + "an2_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7100-48l", + "an5_acx7100-48l", + "cr1_ptx10004" + ] + }, + "highlights": [ + "srgb-label-range 800000 890000 reserves 90,000 labels for ISIS-SR node-segments. The PS-ISIS-EXPORT policy assigns per-loopback prefix-segment indices that fall inside this range (e.g. 1007 for bng1's IPv4 lo0, 4007 for the v6 lo0).", + "ipv6-tunneling enables 6PE-style IPv6 transport over the IPv4 SR-MPLS underlay so `family inet6 labeled-unicast` BGP routes can resolve in inet6.3.", + "No `protocols mpls interface ...` list is needed — SR-MPLS forwarding is driven entirely by ISIS source-packet-routing on each transport interface (see core-isis-mpls.conf for `family mpls maximum-labels 16`)." + ], + "pairWith": [ + { + "raw": "junos/transport/isis-srmpls-tilfa.conf", + "id": "broadband_edge/junos/transport/isis-srmpls-tilfa", + "note": null + }, + { + "raw": "junos/interfaces/core-isis-mpls.conf", + "id": "broadband_edge/junos/interfaces/core-isis-mpls", + "note": null + }, + { + "raw": "junos/policy/isis-export-prefix-segment.conf", + "id": "broadband_edge/junos/policy/isis-export-prefix-segment", + "note": null + } + ], + "variables": [ + { + "name": "$SRGB_START", + "example": "800000" + }, + { + "name": "$SRGB_END", + "example": "890000" + } + ], + "jvdServiceMapping": [], + "body": "protocols {\n mpls {\n label-range {\n srgb-label-range $SRGB_START $SRGB_END;\n }\n ipv6-tunneling;\n }\n}", + "bodyHtml": "
protocols {\n    mpls {\n        label-range {\n            srgb-label-range $SRGB_START $SRGB_END;\n        }\n        ipv6-tunneling;\n    }\n}
", + "bytes": 138, + "lineCount": 8, + "techFamily": "Transport", + "subfamily": "SR-MPLS", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "broadband_edge/junos/transport/routing-options-pe", + "jvd": "broadband_edge", + "jvdLabel": "Broadband Edge", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "transport", + "name": "routing-options-pe", + "path": "service_provider/broadband_edge/configuration/snips/junos/transport/routing-options-pe.conf", + "topic": "PE routing-options (router-id, AS, chained-composite-next-hop, rib-groups)", + "seenOn": { + "junos": [ + "bng1_mx304", + "bng2_mx204", + "bng3_mx10004", + "bng4_mx480" + ], + "evo": [] + }, + "highlights": [ + "chained-composite-next-hop ingress evpn collapses the EVPN egress label stack into a single composite next-hop entry per remote PE, cutting hardware FIB entries dramatically when many EVPN-VPWS services share the same MPLS path.", + "rib-groups interface_routes leaks IPv6 interface routes from the PPPOE_SUBS_1 VRF rib into inet6.0 so the BNG's main-table v6 forwarding sees them — required because PPPoEv6 sessions auto- create access-internal routes inside the VRF.", + "nonstop-routing keeps the BGP/IS-IS state on standby RE in sync for graceful-switchover (chassis-bng.conf).", + "export PS-PPLB enables per-packet load-balance on the FIB." + ], + "pairWith": [ + { + "raw": "junos/policy/pplb.conf", + "id": "broadband_edge/junos/policy/pplb", + "note": null + }, + { + "raw": "junos/services/l3vpn-pppoe-subs.conf", + "id": "broadband_edge/junos/services/l3vpn-pppoe-subs", + "note": null + }, + { + "raw": "junos/bootstrap/chassis-bng.conf", + "id": "broadband_edge/junos/bootstrap/chassis-bng", + "note": null + } + ], + "variables": [ + { + "name": "$ROUTER_ID", + "example": "192.168.0.7" + }, + { + "name": "$LOCAL_AS", + "example": "65001" + }, + { + "name": "$V6_VRF_RIB", + "example": "PPPOE_SUBS_1.inet6.0" + } + ], + "jvdServiceMapping": [], + "body": "routing-options {\n router-id $ROUTER_ID;\n autonomous-system $LOCAL_AS;\n rib-groups {\n interface_routes {\n import-rib [ $V6_VRF_RIB inet6.0 ];\n }\n }\n nonstop-routing;\n forwarding-table {\n export PS-PPLB;\n chained-composite-next-hop {\n ingress {\n evpn;\n }\n }\n }\n}", + "bodyHtml": "
routing-options {\n    router-id $ROUTER_ID;\n    autonomous-system $LOCAL_AS;\n    rib-groups {\n        interface_routes {\n            import-rib [ $V6_VRF_RIB inet6.0 ];\n        }\n    }\n    nonstop-routing;\n    forwarding-table {\n        export PS-PPLB;\n        chained-composite-next-hop {\n            ingress {\n                evpn;\n            }\n        }\n    }\n}
", + "bytes": 365, + "lineCount": 18, + "techFamily": "Transport", + "subfamily": "Routing Options", + "usecases": [ + "Service Provider", + "BNG", + "Subscriber Mgmt", + "Metro" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/classifier-dscp-ipv6", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "classifier-dscp-ipv6", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-dscp-ipv6.conf", + "topic": "DSCP-IPv6 classifier (CL-DSCP-IPV6) — ingress IPv6 packet-to-FC mapping", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Identical classification logic to CL-DSCP but applied to IPv6 traffic", + "Required when inet6 traffic is classified separately from inet", + "Applied to L3 service interfaces alongside CL-DSCP", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-l3-service.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l3-service", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/classifier-dscp.conf (IPv4 counterpart)", + "id": "low_latency_queueing/evo/cos/classifier-dscp", + "note": "IPv4 counterpart" + }, + { + "raw": "evo/cos/rewrite-dscp-ipv6.conf (egress IPv6 FC → DSCP marking)", + "id": "low_latency_queueing/evo/cos/rewrite-dscp-ipv6", + "note": "egress IPv6 FC → DSCP marking" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n classifiers {\n dscp-ipv6 CL-DSCP-IPV6 {\n import default;\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-points be;\n }\n forwarding-class FC-CONTROL {\n loss-priority low code-points cs7;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-points af33;\n loss-priority low code-points [ cs3 af31 ];\n loss-priority medium-high code-points af32;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-points af43;\n loss-priority low code-points [ cs4 af41 ];\n loss-priority medium-high code-points af42;\n }\n forwarding-class FC-LOW {\n loss-priority high code-points af13;\n loss-priority low code-points [ cs1 af11 ];\n loss-priority medium-high code-points af12;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-points af23;\n loss-priority low code-points [ cs2 af21 ];\n loss-priority medium-high code-points af22;\n }\n forwarding-class FC-REALTIME {\n loss-priority low code-points ef;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-points cs5;\n loss-priority low code-points cs6;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    classifiers {\n        dscp-ipv6 CL-DSCP-IPV6 {\n            import default;\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-points be;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority low code-points cs7;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-points af33;\n                loss-priority low code-points [ cs3 af31 ];\n                loss-priority medium-high code-points af32;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-points af43;\n                loss-priority low code-points [ cs4 af41 ];\n                loss-priority medium-high code-points af42;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-points af13;\n                loss-priority low code-points [ cs1 af11 ];\n                loss-priority medium-high code-points af12;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-points af23;\n                loss-priority low code-points [ cs2 af21 ];\n                loss-priority medium-high code-points af22;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority low code-points ef;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-points cs5;\n                loss-priority low code-points cs6;\n            }\n        }\n    }\n}
", + "bytes": 1505, + "lineCount": 40, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/classifier-dscp", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "classifier-dscp", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-dscp.conf", + "topic": "DSCP classifier (CL-DSCP) — ingress packet-to-FC mapping", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "AF per-hop behavior: AF4x → FC-LLQ, AF3x → FC-HIGH, AF2x → FC-MEDIUM, AF1x → FC-LOW, EF → FC-REALTIME, CS6/CS7 → FC-SIGNALING/CONTROL", + "3-level loss-priority (low/medium-high/high) for AFxy drop-precedence", + "import default covers unmapped code-points → FC-BEST-EFFORT", + "Applied to L3 service interfaces via interface cos-binding", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/classifier-dscp-ipv6.conf", + "id": "low_latency_queueing/evo/cos/classifier-dscp-ipv6", + "note": null + }, + { + "raw": "evo/cos/cos-binding-l3-service.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l3-service", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC queue-num definitions)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC queue-num definitions" + }, + { + "raw": "evo/cos/rewrite-dscp.conf (egress FC → DSCP marking)", + "id": "low_latency_queueing/evo/cos/rewrite-dscp", + "note": "egress FC → DSCP marking" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n classifiers {\n dscp CL-DSCP {\n import default;\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-points be;\n }\n forwarding-class FC-CONTROL {\n loss-priority low code-points cs7;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-points af33;\n loss-priority low code-points [ cs3 af31 ];\n loss-priority medium-high code-points af32;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-points af43;\n loss-priority low code-points [ cs4 af41 ];\n loss-priority medium-high code-points af42;\n }\n forwarding-class FC-LOW {\n loss-priority high code-points af13;\n loss-priority low code-points [ cs1 af11 ];\n loss-priority medium-high code-points af12;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-points af23;\n loss-priority low code-points [ cs2 af21 ];\n loss-priority medium-high code-points af22;\n }\n forwarding-class FC-REALTIME {\n loss-priority low code-points ef;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-points cs5;\n loss-priority low code-points cs6;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    classifiers {\n        dscp CL-DSCP {\n            import default;\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-points be;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority low code-points cs7;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-points af33;\n                loss-priority low code-points [ cs3 af31 ];\n                loss-priority medium-high code-points af32;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-points af43;\n                loss-priority low code-points [ cs4 af41 ];\n                loss-priority medium-high code-points af42;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-points af13;\n                loss-priority low code-points [ cs1 af11 ];\n                loss-priority medium-high code-points af12;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-points af23;\n                loss-priority low code-points [ cs2 af21 ];\n                loss-priority medium-high code-points af22;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority low code-points ef;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-points cs5;\n                loss-priority low code-points cs6;\n            }\n        }\n    }\n}
", + "bytes": 1495, + "lineCount": 40, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/classifier-exp", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "classifier-exp", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-exp.conf", + "topic": "MPLS EXP classifier (CL-MPLS) — ingress MPLS-to-FC mapping", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Maps 3-bit MPLS EXP field to 8 forwarding classes", + "EXP 4 → FC-LLQ, EXP 5 → FC-REALTIME, EXP 6 → FC-SIGNALING", + "Applied on MPLS transport interfaces (ae units with family mpls)", + "All loss-priority = low (EXP has no drop-precedence encoding)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-transport.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-transport", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC queue-num definitions)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC queue-num definitions" + }, + { + "raw": "evo/cos/rewrite-exp.conf (egress FC → EXP marking)", + "id": "low_latency_queueing/evo/cos/rewrite-exp", + "note": "egress FC → EXP marking" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n classifiers {\n exp CL-MPLS {\n import default;\n forwarding-class FC-BEST-EFFORT {\n loss-priority low code-points 000;\n }\n forwarding-class FC-CONTROL {\n loss-priority low code-points 111;\n }\n forwarding-class FC-HIGH {\n loss-priority low code-points 011;\n }\n forwarding-class FC-LLQ {\n loss-priority low code-points 100;\n }\n forwarding-class FC-LOW {\n loss-priority low code-points 001;\n }\n forwarding-class FC-MEDIUM {\n loss-priority low code-points 010;\n }\n forwarding-class FC-REALTIME {\n loss-priority low code-points 101;\n }\n forwarding-class FC-SIGNALING {\n loss-priority low code-points 110;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    classifiers {\n        exp CL-MPLS {\n            import default;\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority low code-points 000;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority low code-points 111;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority low code-points 011;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority low code-points 100;\n            }\n            forwarding-class FC-LOW {\n                loss-priority low code-points 001;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority low code-points 010;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority low code-points 101;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority low code-points 110;\n            }\n        }\n    }\n}
", + "bytes": 955, + "lineCount": 31, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/classifier-ieee-802.1", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "classifier-ieee-802.1", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-ieee-802.1.conf", + "topic": "802.1p classifier (CL-8021P) — ingress VLAN-tag-to-FC mapping", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Maps 3-bit 802.1p PCP field to 8 forwarding classes", + "PCP 4 → FC-LLQ, PCP 5 → FC-REALTIME, PCP 6 → FC-SIGNALING", + "Applied on L2 access/trunk interfaces (EVPN-VPWS, ELAN)", + "All loss-priority = low (PCP has no drop-precedence encoding)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-l2-fronthaul.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC queue-num definitions)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC queue-num definitions" + }, + { + "raw": "evo/cos/rewrite-ieee-802.1.conf (egress FC → PCP marking)", + "id": "low_latency_queueing/evo/cos/rewrite-ieee-802.1", + "note": "egress FC → PCP marking" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n classifiers {\n ieee-802.1 CL-8021P {\n import default;\n forwarding-class FC-BEST-EFFORT {\n loss-priority low code-points 000;\n }\n forwarding-class FC-CONTROL {\n loss-priority low code-points 111;\n }\n forwarding-class FC-HIGH {\n loss-priority low code-points 011;\n }\n forwarding-class FC-LLQ {\n loss-priority low code-points 100;\n }\n forwarding-class FC-LOW {\n loss-priority low code-points 001;\n }\n forwarding-class FC-MEDIUM {\n loss-priority low code-points 010;\n }\n forwarding-class FC-REALTIME {\n loss-priority low code-points 101;\n }\n forwarding-class FC-SIGNALING {\n loss-priority low code-points 110;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    classifiers {\n        ieee-802.1 CL-8021P {\n            import default;\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority low code-points 000;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority low code-points 111;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority low code-points 011;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority low code-points 100;\n            }\n            forwarding-class FC-LOW {\n                loss-priority low code-points 001;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority low code-points 010;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority low code-points 101;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority low code-points 110;\n            }\n        }\n    }\n}
", + "bytes": 963, + "lineCount": 31, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/cos-binding-irb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "cos-binding-irb", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-irb.conf", + "topic": "CoS interface binding — IRB with static FC-REALTIME + DSCP rewrite", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Static forwarding-class FC-REALTIME for IRB units — guarantees strict priority queuing for routed traffic on EVPN-ELAN IRB interfaces", + "DSCP rewrite ensures L3-routed packets leaving the IRB carry correct DSCP marking (EF for realtime) into the L3VPN domain", + "Used on IRB units associated with EVPN-ELAN + IRB services where the bridge domain carries time-sensitive traffic" + ], + "pairWith": [ + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/scheduler-map.conf", + "id": "low_latency_queueing/evo/cos/scheduler-map", + "note": null + }, + { + "raw": "evo/firewall/filter-mfc-ipv4-l3vpn-irb.conf", + "id": "low_latency_queueing/evo/firewall/filter-mfc-ipv4-l3vpn-irb", + "note": null + }, + { + "raw": "evo/firewall/filter-mfc-ipv6-l3vpn-irb.conf", + "id": "low_latency_queueing/evo/firewall/filter-mfc-ipv6-l3vpn-irb", + "note": null + }, + { + "raw": "evo/services/l3vpn-irb.conf", + "id": "low_latency_queueing/evo/services/l3vpn-irb", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC-REALTIME definition)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC-REALTIME definition" + }, + { + "raw": "evo/cos/rewrite-dscp.conf (RR-DSCP definition)", + "id": "low_latency_queueing/evo/cos/rewrite-dscp", + "note": "RR-DSCP definition" + }, + { + "raw": "evo/cos/rewrite-dscp-ipv6.conf (RR-DSCP-IPV6 definition)", + "id": "low_latency_queueing/evo/cos/rewrite-dscp-ipv6", + "note": "RR-DSCP-IPV6 definition" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n interfaces {\n {\n scheduler-map SM-5G-SCHEDULER;\n unit {\n forwarding-class FC-REALTIME;\n rewrite-rules {\n dscp RR-DSCP;\n dscp-ipv6 RR-DSCP-IPV6;\n }\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    interfaces {\n        <interface> {\n            scheduler-map SM-5G-SCHEDULER;\n            unit <unit-number> {\n                forwarding-class FC-REALTIME;\n                rewrite-rules {\n                    dscp RR-DSCP;\n                    dscp-ipv6 RR-DSCP-IPV6;\n                }\n            }\n        }\n    }\n}
", + "bytes": 339, + "lineCount": 14, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul-static", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "cos-binding-l2-fronthaul-static", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l2-fronthaul-static.conf", + "topic": "CoS interface binding — L2 fronthaul with static FC-LLQ (guaranteed low-latency)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Static forwarding-class FC-LLQ forces ALL traffic on this unit into the low-latency queue regardless of packet marking", + "Paired with 802.1p rewrite so downstream L2 devices see correct PCP", + "Used on dedicated eCPRI fronthaul units where classification is unnecessary (all traffic is fronthaul by VLAN assignment)", + "The key differentiator from cos-binding-l2-fronthaul.conf: this variant bypasses classification entirely for deterministic queuing" + ], + "pairWith": [ + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/scheduler-map.conf", + "id": "low_latency_queueing/evo/cos/scheduler-map", + "note": null + }, + { + "raw": "evo/firewall/filter-mf-ecpri-fronthaul.conf", + "id": "low_latency_queueing/evo/firewall/filter-mf-ecpri-fronthaul", + "note": null + }, + { + "raw": "evo/services/evpn-vpws-vlan-based-mh.conf", + "id": "low_latency_queueing/evo/services/evpn-vpws-vlan-based-mh", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC-LLQ definition)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC-LLQ definition" + }, + { + "raw": "evo/cos/rewrite-ieee-802.1.conf (RR-8021P definition)", + "id": "low_latency_queueing/evo/cos/rewrite-ieee-802.1", + "note": "RR-8021P definition" + }, + { + "raw": "evo/cos/schedulers-low-latency.conf (SC-LLQ with priority low-latency)", + "id": "low_latency_queueing/evo/cos/schedulers-low-latency", + "note": "SC-LLQ with priority low-latency" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n interfaces {\n {\n scheduler-map SM-5G-SCHEDULER;\n unit {\n forwarding-class FC-LLQ;\n rewrite-rules {\n ieee-802.1 RR-8021P;\n }\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    interfaces {\n        <interface> {\n            scheduler-map SM-5G-SCHEDULER;\n            unit <unit-number> {\n                forwarding-class FC-LLQ;\n                rewrite-rules {\n                    ieee-802.1 RR-8021P;\n                }\n            }\n        }\n    }\n}
", + "bytes": 297, + "lineCount": 13, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "cos-binding-l2-fronthaul", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l2-fronthaul.conf", + "topic": "CoS interface binding — L2 fronthaul with 802.1p classification", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Per-unit 802.1p PCP classification and rewrite (CL-8021P / RR-8021P)", + "Applied to EVPN-VPWS/ELAN L2 service units carrying eCPRI fronthaul", + "PCP bits classify directly into FC-LLQ (PCP 4) for low-latency queuing", + "No static FC — relies on dynamic 802.1p classification from DU tagging", + "Compare with cos-binding-l2-fronthaul-static.conf where FC is pinned" + ], + "pairWith": [ + { + "raw": "evo/cos/scheduler-map.conf", + "id": "low_latency_queueing/evo/cos/scheduler-map", + "note": null + }, + { + "raw": "evo/interfaces/lag-esi.conf", + "id": "low_latency_queueing/evo/interfaces/lag-esi", + "note": null + }, + { + "raw": "evo/oam/cfm-maintenance-domain.conf", + "id": "low_latency_queueing/evo/oam/cfm-maintenance-domain", + "note": null + }, + { + "raw": "evo/services/bgp-vpls-vsi.conf", + "id": "low_latency_queueing/evo/services/bgp-vpls-vsi", + "note": null + }, + { + "raw": "evo/services/evpn-elan-vlan-based.conf", + "id": "low_latency_queueing/evo/services/evpn-elan-vlan-based", + "note": null + }, + { + "raw": "evo/cos/classifier-ieee-802.1.conf (CL-8021P definition)", + "id": "low_latency_queueing/evo/cos/classifier-ieee-802.1", + "note": "CL-8021P definition" + }, + { + "raw": "evo/cos/rewrite-ieee-802.1.conf (RR-8021P definition)", + "id": "low_latency_queueing/evo/cos/rewrite-ieee-802.1", + "note": "RR-8021P definition" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n interfaces {\n {\n scheduler-map SM-5G-SCHEDULER;\n unit {\n classifiers {\n ieee-802.1 CL-8021P;\n }\n rewrite-rules {\n ieee-802.1 RR-8021P;\n }\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    interfaces {\n        <interface> {\n            scheduler-map SM-5G-SCHEDULER;\n            unit <unit-number> {\n                classifiers {\n                    ieee-802.1 CL-8021P;\n                }\n                rewrite-rules {\n                    ieee-802.1 RR-8021P;\n                }\n            }\n        }\n    }\n}
", + "bytes": 345, + "lineCount": 15, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/cos-binding-l3-service", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "cos-binding-l3-service", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l3-service.conf", + "topic": "CoS interface binding — L3 service (DSCP classifier + rewrite per unit)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Per-unit DSCP + DSCP-IPv6 classification and rewrite", + "No static forwarding-class — traffic is classified dynamically", + "Applied to L3VPN service units (inet/inet6 traffic)", + "Scheduler-map is applied at the interface level (not shown per-unit)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/scheduler-map.conf", + "id": "low_latency_queueing/evo/cos/scheduler-map", + "note": null + }, + { + "raw": "evo/cos/classifier-dscp.conf (CL-DSCP definition)", + "id": "low_latency_queueing/evo/cos/classifier-dscp", + "note": "CL-DSCP definition" + }, + { + "raw": "evo/cos/classifier-dscp-ipv6.conf (CL-DSCP-IPV6 definition)", + "id": "low_latency_queueing/evo/cos/classifier-dscp-ipv6", + "note": "CL-DSCP-IPV6 definition" + }, + { + "raw": "evo/cos/rewrite-dscp.conf (RR-DSCP definition)", + "id": "low_latency_queueing/evo/cos/rewrite-dscp", + "note": "RR-DSCP definition" + }, + { + "raw": "evo/cos/rewrite-dscp-ipv6.conf (RR-DSCP-IPV6 definition)", + "id": "low_latency_queueing/evo/cos/rewrite-dscp-ipv6", + "note": "RR-DSCP-IPV6 definition" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n interfaces {\n {\n scheduler-map SM-5G-SCHEDULER;\n unit {\n classifiers {\n dscp CL-DSCP;\n dscp-ipv6 CL-DSCP-IPV6;\n }\n rewrite-rules {\n dscp RR-DSCP;\n dscp-ipv6 RR-DSCP-IPV6;\n }\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    interfaces {\n        <interface> {\n            scheduler-map SM-5G-SCHEDULER;\n            unit <unit-number> {\n                classifiers {\n                    dscp CL-DSCP;\n                    dscp-ipv6 CL-DSCP-IPV6;\n                }\n                rewrite-rules {\n                    dscp RR-DSCP;\n                    dscp-ipv6 RR-DSCP-IPV6;\n                }\n            }\n        }\n    }\n}
", + "bytes": 419, + "lineCount": 17, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/cos-binding-transport", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "cos-binding-transport", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-transport.conf", + "topic": "CoS interface binding — MPLS transport (EXP classifier + rewrite)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Applies scheduler-map SM-5G-SCHEDULER at interface level", + "Classifies inbound MPLS traffic via EXP bits (CL-MPLS)", + "Rewrites outbound EXP bits (RR-MPLS) to preserve QoS marking", + "Applied on ae interface unit 0 (transport backbone links)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/classifier-exp.conf (CL-MPLS definition)", + "id": "low_latency_queueing/evo/cos/classifier-exp", + "note": "CL-MPLS definition" + }, + { + "raw": "evo/cos/rewrite-exp.conf (RR-MPLS definition)", + "id": "low_latency_queueing/evo/cos/rewrite-exp", + "note": "RR-MPLS definition" + }, + { + "raw": "evo/cos/scheduler-map.conf (SM-5G-SCHEDULER definition)", + "id": "low_latency_queueing/evo/cos/scheduler-map", + "note": "SM-5G-SCHEDULER definition" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n interfaces {\n {\n scheduler-map SM-5G-SCHEDULER;\n unit 0 {\n classifiers {\n exp CL-MPLS;\n }\n rewrite-rules {\n exp RR-MPLS;\n }\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    interfaces {\n        <ae-interface> {\n            scheduler-map SM-5G-SCHEDULER;\n            unit 0 {\n                classifiers {\n                    exp CL-MPLS;\n                }\n                rewrite-rules {\n                    exp RR-MPLS;\n                }\n            }\n        }\n    }\n}
", + "bytes": 320, + "lineCount": 15, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "forwarding-classes", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/forwarding-classes.conf", + "topic": "8-class forwarding-class model (O-RAN multi-priority alignment)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "8 forwarding classes aligned to O-RAN multi-priority queuing model", + "FC-LLQ (queue 6) is the low-latency queue for eCPRI/fronthaul", + "FC-REALTIME (queue 5) for strict priority real-time flows (PTP, sync)", + "FC-SIGNALING (queue 7) for control-plane signaling", + "Queue numbering is consistent across all platforms in this JVD", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/classifier-dscp.conf", + "id": "low_latency_queueing/evo/cos/classifier-dscp", + "note": null + }, + { + "raw": "evo/cos/classifier-exp.conf", + "id": "low_latency_queueing/evo/cos/classifier-exp", + "note": null + }, + { + "raw": "evo/cos/classifier-ieee-802.1.conf", + "id": "low_latency_queueing/evo/cos/classifier-ieee-802.1", + "note": null + }, + { + "raw": "evo/cos/cos-binding-irb.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-irb", + "note": null + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul-static.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul-static", + "note": null + }, + { + "raw": "evo/cos/rewrite-dscp.conf", + "id": "low_latency_queueing/evo/cos/rewrite-dscp", + "note": null + }, + { + "raw": "evo/cos/rewrite-exp.conf", + "id": "low_latency_queueing/evo/cos/rewrite-exp", + "note": null + }, + { + "raw": "evo/cos/rewrite-ieee-802.1.conf", + "id": "low_latency_queueing/evo/cos/rewrite-ieee-802.1", + "note": null + }, + { + "raw": "evo/cos/schedulers-low-latency.conf (ACX: LLQ with priority low-latency)", + "id": "low_latency_queueing/evo/cos/schedulers-low-latency", + "note": "ACX: LLQ with priority low-latency" + }, + { + "raw": "evo/cos/schedulers-strict-high.conf (PTX: LLQ with priority strict-high)", + "id": "low_latency_queueing/evo/cos/schedulers-strict-high", + "note": "PTX: LLQ with priority strict-high" + }, + { + "raw": "evo/cos/scheduler-map.conf (FC → scheduler binding)", + "id": "low_latency_queueing/evo/cos/scheduler-map", + "note": "FC → scheduler binding" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n forwarding-classes {\n class FC-BEST-EFFORT queue-num 0;\n class FC-CONTROL queue-num 3;\n class FC-HIGH queue-num 4;\n class FC-LLQ queue-num 6;\n class FC-LOW queue-num 1;\n class FC-MEDIUM queue-num 2;\n class FC-REALTIME queue-num 5;\n class FC-SIGNALING queue-num 7;\n }\n}", + "bodyHtml": "
class-of-service {\n    forwarding-classes {\n        class FC-BEST-EFFORT queue-num 0;\n        class FC-CONTROL queue-num 3;\n        class FC-HIGH queue-num 4;\n        class FC-LLQ queue-num 6;\n        class FC-LOW queue-num 1;\n        class FC-MEDIUM queue-num 2;\n        class FC-REALTIME queue-num 5;\n        class FC-SIGNALING queue-num 7;\n    }\n}
", + "bytes": 350, + "lineCount": 12, + "techFamily": "QoS / CoS", + "subfamily": "Cos", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/rewrite-dscp-ipv6", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "rewrite-dscp-ipv6", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-dscp-ipv6.conf", + "topic": "DSCP-IPv6 rewrite rule (RR-DSCP-IPV6) — egress FC-to-DSCP marking for IPv6", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Identical marking logic to RR-DSCP but applied to IPv6 egress", + "Required when inet6 traffic is rewritten separately from inet", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-irb.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-irb", + "note": null + }, + { + "raw": "evo/cos/cos-binding-l3-service.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l3-service", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/classifier-dscp-ipv6.conf (ingress counterpart)", + "id": "low_latency_queueing/evo/cos/classifier-dscp-ipv6", + "note": "ingress counterpart" + }, + { + "raw": "evo/cos/rewrite-dscp.conf (IPv4 counterpart)", + "id": "low_latency_queueing/evo/cos/rewrite-dscp", + "note": "IPv4 counterpart" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n rewrite-rules {\n dscp-ipv6 RR-DSCP-IPV6 {\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-point be;\n loss-priority low code-point be;\n }\n forwarding-class FC-CONTROL {\n loss-priority high code-point cs7;\n loss-priority low code-point cs7;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-point af33;\n loss-priority low code-point af31;\n loss-priority medium-high code-point af32;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-point af43;\n loss-priority low code-point af41;\n loss-priority medium-high code-point af42;\n }\n forwarding-class FC-LOW {\n loss-priority high code-point af13;\n loss-priority low code-point af11;\n loss-priority medium-high code-point af12;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-point af23;\n loss-priority low code-point af21;\n loss-priority medium-high code-point af22;\n }\n forwarding-class FC-REALTIME {\n loss-priority high code-point ef;\n loss-priority low code-point ef;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-point cs5;\n loss-priority low code-point cs6;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    rewrite-rules {\n        dscp-ipv6 RR-DSCP-IPV6 {\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-point be;\n                loss-priority low code-point be;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority high code-point cs7;\n                loss-priority low code-point cs7;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-point af33;\n                loss-priority low code-point af31;\n                loss-priority medium-high code-point af32;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-point af43;\n                loss-priority low code-point af41;\n                loss-priority medium-high code-point af42;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-point af13;\n                loss-priority low code-point af11;\n                loss-priority medium-high code-point af12;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-point af23;\n                loss-priority low code-point af21;\n                loss-priority medium-high code-point af22;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority high code-point ef;\n                loss-priority low code-point ef;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-point cs5;\n                loss-priority low code-point cs6;\n            }\n        }\n    }\n}
", + "bytes": 1580, + "lineCount": 42, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/rewrite-dscp", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "rewrite-dscp", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-dscp.conf", + "topic": "DSCP rewrite rule (RR-DSCP) — egress FC-to-DSCP marking", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Rewrites outgoing DSCP based on FC + loss-priority at egress", + "AF4x codes for FC-LLQ, EF for FC-REALTIME (matches classifier in reverse)", + "Applied on L3 service interface units via cos-binding", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-irb.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-irb", + "note": null + }, + { + "raw": "evo/cos/cos-binding-l3-service.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l3-service", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/rewrite-dscp-ipv6.conf", + "id": "low_latency_queueing/evo/cos/rewrite-dscp-ipv6", + "note": null + }, + { + "raw": "evo/cos/classifier-dscp.conf (ingress counterpart)", + "id": "low_latency_queueing/evo/cos/classifier-dscp", + "note": "ingress counterpart" + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC definitions)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC definitions" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n rewrite-rules {\n dscp RR-DSCP {\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-point be;\n loss-priority low code-point be;\n }\n forwarding-class FC-CONTROL {\n loss-priority high code-point cs7;\n loss-priority low code-point cs7;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-point af33;\n loss-priority low code-point af31;\n loss-priority medium-high code-point af32;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-point af43;\n loss-priority low code-point af41;\n loss-priority medium-high code-point af42;\n }\n forwarding-class FC-LOW {\n loss-priority high code-point af13;\n loss-priority low code-point af11;\n loss-priority medium-high code-point af12;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-point af23;\n loss-priority low code-point af21;\n loss-priority medium-high code-point af22;\n }\n forwarding-class FC-REALTIME {\n loss-priority high code-point ef;\n loss-priority low code-point ef;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-point cs5;\n loss-priority low code-point cs6;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    rewrite-rules {\n        dscp RR-DSCP {\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-point be;\n                loss-priority low code-point be;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority high code-point cs7;\n                loss-priority low code-point cs7;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-point af33;\n                loss-priority low code-point af31;\n                loss-priority medium-high code-point af32;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-point af43;\n                loss-priority low code-point af41;\n                loss-priority medium-high code-point af42;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-point af13;\n                loss-priority low code-point af11;\n                loss-priority medium-high code-point af12;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-point af23;\n                loss-priority low code-point af21;\n                loss-priority medium-high code-point af22;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority high code-point ef;\n                loss-priority low code-point ef;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-point cs5;\n                loss-priority low code-point cs6;\n            }\n        }\n    }\n}
", + "bytes": 1570, + "lineCount": 42, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/rewrite-exp", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "rewrite-exp", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-exp.conf", + "topic": "MPLS EXP rewrite rule (RR-MPLS) — egress FC-to-EXP marking", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Rewrites outgoing MPLS EXP bits based on FC + loss-priority", + "EXP 4 ← FC-LLQ, EXP 5 ← FC-REALTIME, EXP 6 ← FC-SIGNALING", + "All loss-priority levels map to the same code-point per FC (3 bits cannot encode drop-precedence)", + "Applied on MPLS transport AE interfaces", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-transport.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-transport", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/classifier-exp.conf (ingress counterpart)", + "id": "low_latency_queueing/evo/cos/classifier-exp", + "note": "ingress counterpart" + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC definitions)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC definitions" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n rewrite-rules {\n exp RR-MPLS {\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-point 000;\n loss-priority low code-point 000;\n }\n forwarding-class FC-CONTROL {\n loss-priority high code-point 111;\n loss-priority low code-point 111;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-point 011;\n loss-priority low code-point 011;\n loss-priority medium-high code-point 011;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-point 100;\n loss-priority low code-point 100;\n loss-priority medium-high code-point 100;\n }\n forwarding-class FC-LOW {\n loss-priority high code-point 001;\n loss-priority low code-point 001;\n loss-priority medium-high code-point 001;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-point 010;\n loss-priority low code-point 010;\n loss-priority medium-high code-point 010;\n }\n forwarding-class FC-REALTIME {\n loss-priority high code-point 101;\n loss-priority low code-point 101;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-point 110;\n loss-priority low code-point 110;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    rewrite-rules {\n        exp RR-MPLS {\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-point 000;\n                loss-priority low code-point 000;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority high code-point 111;\n                loss-priority low code-point 111;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-point 011;\n                loss-priority low code-point 011;\n                loss-priority medium-high code-point 011;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-point 100;\n                loss-priority low code-point 100;\n                loss-priority medium-high code-point 100;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-point 001;\n                loss-priority low code-point 001;\n                loss-priority medium-high code-point 001;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-point 010;\n                loss-priority low code-point 010;\n                loss-priority medium-high code-point 010;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority high code-point 101;\n                loss-priority low code-point 101;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-point 110;\n                loss-priority low code-point 110;\n            }\n        }\n    }\n}
", + "bytes": 1561, + "lineCount": 42, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/rewrite-ieee-802.1", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "rewrite-ieee-802.1", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-ieee-802.1.conf", + "topic": "802.1p rewrite rule (RR-8021P) — egress FC-to-PCP marking", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Rewrites outgoing 802.1p PCP bits based on FC + loss-priority", + "PCP 4 ← FC-LLQ, PCP 5 ← FC-REALTIME, PCP 6 ← FC-SIGNALING", + "All loss-priority levels map to the same code-point per FC", + "Applied on L2 service interfaces (EVPN-VPWS access ports)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-l2-fronthaul-static.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul-static", + "note": null + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/classifier-ieee-802.1.conf (ingress counterpart)", + "id": "low_latency_queueing/evo/cos/classifier-ieee-802.1", + "note": "ingress counterpart" + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC definitions)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC definitions" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n rewrite-rules {\n ieee-802.1 RR-8021P {\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-point 000;\n loss-priority low code-point 000;\n }\n forwarding-class FC-CONTROL {\n loss-priority high code-point 111;\n loss-priority low code-point 111;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-point 011;\n loss-priority low code-point 011;\n loss-priority medium-high code-point 011;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-point 100;\n loss-priority low code-point 100;\n loss-priority medium-high code-point 100;\n }\n forwarding-class FC-LOW {\n loss-priority high code-point 001;\n loss-priority low code-point 001;\n loss-priority medium-high code-point 001;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-point 010;\n loss-priority low code-point 010;\n loss-priority medium-high code-point 010;\n }\n forwarding-class FC-REALTIME {\n loss-priority high code-point 101;\n loss-priority low code-point 101;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-point 110;\n loss-priority low code-point 110;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    rewrite-rules {\n        ieee-802.1 RR-8021P {\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-point 000;\n                loss-priority low code-point 000;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority high code-point 111;\n                loss-priority low code-point 111;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-point 011;\n                loss-priority low code-point 011;\n                loss-priority medium-high code-point 011;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-point 100;\n                loss-priority low code-point 100;\n                loss-priority medium-high code-point 100;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-point 001;\n                loss-priority low code-point 001;\n                loss-priority medium-high code-point 001;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-point 010;\n                loss-priority low code-point 010;\n                loss-priority medium-high code-point 010;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority high code-point 101;\n                loss-priority low code-point 101;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-point 110;\n                loss-priority low code-point 110;\n            }\n        }\n    }\n}
", + "bytes": 1569, + "lineCount": 42, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/scheduler-map", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "scheduler-map", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/scheduler-map.conf", + "topic": "Scheduler-map binding FCs to schedulers (SM-5G-SCHEDULER)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Maps all 8 forwarding classes to their corresponding schedulers", + "Referenced by interface CoS bindings (scheduler-map SM-5G-SCHEDULER)", + "The scheduler-map itself is identical across all devices; the underlying scheduler behavior (low-latency vs strict-high) is determined by the scheduler definition, not the map", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-transport.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-transport", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC definitions)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC definitions" + }, + { + "raw": "evo/cos/schedulers-low-latency.conf (ACX scheduler priorities)", + "id": "low_latency_queueing/evo/cos/schedulers-low-latency", + "note": "ACX scheduler priorities" + }, + { + "raw": "evo/cos/schedulers-strict-high.conf (PTX scheduler priorities)", + "id": "low_latency_queueing/evo/cos/schedulers-strict-high", + "note": "PTX scheduler priorities" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n scheduler-maps {\n SM-5G-SCHEDULER {\n forwarding-class FC-BEST-EFFORT scheduler SC-BEST-EFFORT;\n forwarding-class FC-CONTROL scheduler SC-CONTROL;\n forwarding-class FC-HIGH scheduler SC-HIGH;\n forwarding-class FC-LLQ scheduler SC-LLQ;\n forwarding-class FC-LOW scheduler SC-LOW;\n forwarding-class FC-MEDIUM scheduler SC-MEDIUM;\n forwarding-class FC-REALTIME scheduler SC-REALTIME;\n forwarding-class FC-SIGNALING scheduler SC-SIGNALING;\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    scheduler-maps {\n        SM-5G-SCHEDULER {\n            forwarding-class FC-BEST-EFFORT scheduler SC-BEST-EFFORT;\n            forwarding-class FC-CONTROL scheduler SC-CONTROL;\n            forwarding-class FC-HIGH scheduler SC-HIGH;\n            forwarding-class FC-LLQ scheduler SC-LLQ;\n            forwarding-class FC-LOW scheduler SC-LOW;\n            forwarding-class FC-MEDIUM scheduler SC-MEDIUM;\n            forwarding-class FC-REALTIME scheduler SC-REALTIME;\n            forwarding-class FC-SIGNALING scheduler SC-SIGNALING;\n        }\n    }\n}
", + "bytes": 569, + "lineCount": 14, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/schedulers-low-latency", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "schedulers-low-latency", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/schedulers-low-latency.conf", + "topic": "Scheduler definitions with priority low-latency (ACX LLQ)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "SC-LLQ uses `priority low-latency` — the ACX-specific hardware LLQ scheduler that guarantees sub-10µs per-hop latency under congestion", + "SC-REALTIME uses `priority medium-high` (shaped strict priority)", + "SC-SIGNALING uses `priority strict-high` (highest strict priority after low-latency; protects control-plane even under LLQ load)", + "SC-HIGH/MEDIUM/LOW/BEST-EFFORT are WFQ with transmit-rate percentages", + "Compare with junos/cos/schedulers-strict-high.conf where LLQ falls back to strict-high (MX/PTX do not support priority low-latency)" + ], + "pairWith": [ + { + "raw": "evo/cos/cos-binding-l2-fronthaul-static.conf", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul-static", + "note": null + }, + { + "raw": "evo/firewall/filter-mf-ecpri-fronthaul.conf", + "id": "low_latency_queueing/evo/firewall/filter-mf-ecpri-fronthaul", + "note": null + }, + { + "raw": "evo/cos/forwarding-classes.conf (FC definitions these schedulers serve)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC definitions these schedulers serve" + }, + { + "raw": "evo/cos/scheduler-map.conf (FC → scheduler binding)", + "id": "low_latency_queueing/evo/cos/scheduler-map", + "note": "FC → scheduler binding" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n schedulers {\n SC-BEST-EFFORT {\n transmit-rate {\n remainder;\n }\n buffer-size {\n remainder;\n }\n priority low;\n }\n SC-CONTROL {\n shaping-rate percent 5;\n buffer-size percent 5;\n priority high;\n }\n SC-HIGH {\n transmit-rate percent 40;\n buffer-size percent 30;\n priority low;\n }\n SC-LLQ {\n shaping-rate percent 40;\n buffer-size percent 10;\n priority low-latency;\n }\n SC-LOW {\n transmit-rate percent 20;\n priority low;\n }\n SC-MEDIUM {\n transmit-rate percent 30;\n buffer-size percent 20;\n priority low;\n }\n SC-REALTIME {\n shaping-rate percent 30;\n buffer-size percent 20;\n priority medium-high;\n }\n SC-SIGNALING {\n shaping-rate percent 5;\n buffer-size percent 5;\n priority strict-high;\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    schedulers {\n        SC-BEST-EFFORT {\n            transmit-rate {\n                remainder;\n            }\n            buffer-size {\n                remainder;\n            }\n            priority low;\n        }\n        SC-CONTROL {\n            shaping-rate percent 5;\n            buffer-size percent 5;\n            priority high;\n        }\n        SC-HIGH {\n            transmit-rate percent 40;\n            buffer-size percent 30;\n            priority low;\n        }\n        SC-LLQ {\n            shaping-rate percent 40;\n            buffer-size percent 10;\n            priority low-latency;\n        }\n        SC-LOW {\n            transmit-rate percent 20;\n            priority low;\n        }\n        SC-MEDIUM {\n            transmit-rate percent 30;\n            buffer-size percent 20;\n            priority low;\n        }\n        SC-REALTIME {\n            shaping-rate percent 30;\n            buffer-size percent 20;\n            priority medium-high;\n        }\n        SC-SIGNALING {\n            shaping-rate percent 5;\n            buffer-size percent 5;\n            priority strict-high;\n        }\n    }\n}
", + "bytes": 1129, + "lineCount": 47, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/cos/schedulers-strict-high", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "cos", + "name": "schedulers-strict-high", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/cos/schedulers-strict-high.conf", + "topic": "Scheduler definitions with priority strict-high (PTX core transit)", + "seenOn": { + "junos": [], + "evo": [ + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "SC-LLQ uses `priority strict-high` — PTX does not support the ACX `priority low-latency` hardware scheduler; strict-high is the highest available strict priority on this platform", + "SC-SIGNALING uses `priority high` (one tier below strict-high)", + "All other schedulers (rates, buffer-size) are identical to the ACX low-latency variant — only the priority keywords differ", + "Body is byte-identical to the Junos (MX) sibling", + "Core routers are transit-only; CoS preserves marking end-to-end" + ], + "pairWith": [ + { + "raw": "evo/cos/forwarding-classes.conf (FC definitions these schedulers serve)", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": "FC definitions these schedulers serve" + }, + { + "raw": "evo/cos/scheduler-map.conf (FC → scheduler binding)", + "id": "low_latency_queueing/evo/cos/scheduler-map", + "note": "FC → scheduler binding" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n schedulers {\n SC-BEST-EFFORT {\n transmit-rate {\n remainder;\n }\n buffer-size {\n remainder;\n }\n priority low;\n }\n SC-CONTROL {\n shaping-rate percent 5;\n buffer-size percent 5;\n priority high;\n }\n SC-HIGH {\n transmit-rate percent 40;\n buffer-size percent 30;\n priority low;\n }\n SC-LLQ {\n shaping-rate percent 40;\n buffer-size percent 10;\n priority strict-high;\n }\n SC-LOW {\n transmit-rate percent 20;\n priority low;\n }\n SC-MEDIUM {\n transmit-rate percent 30;\n buffer-size percent 20;\n priority low;\n }\n SC-REALTIME {\n shaping-rate percent 30;\n buffer-size percent 20;\n priority medium-high;\n }\n SC-SIGNALING {\n shaping-rate percent 5;\n buffer-size percent 5;\n priority high;\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    schedulers {\n        SC-BEST-EFFORT {\n            transmit-rate {\n                remainder;\n            }\n            buffer-size {\n                remainder;\n            }\n            priority low;\n        }\n        SC-CONTROL {\n            shaping-rate percent 5;\n            buffer-size percent 5;\n            priority high;\n        }\n        SC-HIGH {\n            transmit-rate percent 40;\n            buffer-size percent 30;\n            priority low;\n        }\n        SC-LLQ {\n            shaping-rate percent 40;\n            buffer-size percent 10;\n            priority strict-high;\n        }\n        SC-LOW {\n            transmit-rate percent 20;\n            priority low;\n        }\n        SC-MEDIUM {\n            transmit-rate percent 30;\n            buffer-size percent 20;\n            priority low;\n        }\n        SC-REALTIME {\n            shaping-rate percent 30;\n            buffer-size percent 20;\n            priority medium-high;\n        }\n        SC-SIGNALING {\n            shaping-rate percent 5;\n            buffer-size percent 5;\n            priority high;\n        }\n    }\n}
", + "bytes": 1122, + "lineCount": 47, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/firewall/filter-mf-ecpri-fronthaul", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "firewall", + "name": "filter-mf-ecpri-fronthaul", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mf-ecpri-fronthaul.conf", + "topic": "Multi-field eCPRI filter — MAC-based FC classification for fronthaul (CCC)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024" + ] + }, + "highlights": [ + "Family CCC (circuit cross-connect) filter for EVPN-VPWS fronthaul", + "Multi-field classification using MAC addresses to steer eCPRI flows:", + "learn-vlan-1p-priority 3 → FC-HIGH (management plane)", + "learn-vlan-1p-priority 7 → FC-BEST-EFFORT (low-priority sync)", + "source-mac → FC-LLQ (fronthaul user-plane)", + "source-mac → FC-SIGNALING (eCPRI C-plane)", + "source-mac → FC-CONTROL (synchronization)", + "destination-mac → FC-REALTIME (PTP/timing)", + "MAC addresses are lab-specific; replace with site MAC pools", + "interface-specific allows per-unit counters", + "AG variant names per-AN: FF-MF-EVPN-VPWS-MH-TO-AN{1,3,4}", + "AN variant name: FF-MF-EVPN-VPWS-MH (applied ingress on DU-facing ports)" + ], + "pairWith": [ + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul-static.conf (static FC-LLQ binding)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul-static", + "note": "static FC-LLQ binding" + }, + { + "raw": "evo/cos/schedulers-low-latency.conf (SC-LLQ low-latency)", + "id": "low_latency_queueing/evo/cos/schedulers-low-latency", + "note": "SC-LLQ low-latency" + }, + { + "raw": "evo/services/evpn-vpws-vlan-based-mh.conf (EVPN-VPWS service)", + "id": "low_latency_queueing/evo/services/evpn-vpws-vlan-based-mh", + "note": "EVPN-VPWS service" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "firewall {\n family ccc {\n filter {\n interface-specific;\n term 1 {\n from {\n learn-vlan-1p-priority 3;\n }\n then forwarding-class FC-HIGH;\n }\n term 2 {\n from {\n learn-vlan-1p-priority 7;\n }\n then forwarding-class FC-BEST-EFFORT;\n }\n term 3 {\n from {\n source-mac-address {\n /48;\n /48;\n /* ... additional eCPRI user-plane source MACs ... */\n }\n }\n then forwarding-class FC-LLQ;\n }\n term 4 {\n from {\n source-mac-address {\n /48;\n /48;\n /* ... additional eCPRI control-plane source MACs ... */\n }\n }\n then forwarding-class FC-SIGNALING;\n }\n term 5 {\n from {\n source-mac-address {\n /48;\n /48;\n /* ... additional eCPRI sync source MACs ... */\n }\n }\n then forwarding-class FC-CONTROL;\n }\n term 6 {\n from {\n destination-mac-address {\n /48;\n /48;\n /* ... additional PTP/timing destination MACs ... */\n }\n }\n then forwarding-class FC-REALTIME;\n }\n }\n }\n}", + "bodyHtml": "
firewall {\n    family ccc {\n        filter <filter-name> {\n            interface-specific;\n            term 1 {\n                from {\n                    learn-vlan-1p-priority 3;\n                }\n                then forwarding-class FC-HIGH;\n            }\n            term 2 {\n                from {\n                    learn-vlan-1p-priority 7;\n                }\n                then forwarding-class FC-BEST-EFFORT;\n            }\n            term 3 {\n                from {\n                    source-mac-address {\n                        <ecpri-user-plane-mac-1>/48;\n                        <ecpri-user-plane-mac-2>/48;\n                        /* ... additional eCPRI user-plane source MACs ... */\n                    }\n                }\n                then forwarding-class FC-LLQ;\n            }\n            term 4 {\n                from {\n                    source-mac-address {\n                        <ecpri-ctrl-plane-mac-1>/48;\n                        <ecpri-ctrl-plane-mac-2>/48;\n                        /* ... additional eCPRI control-plane source MACs ... */\n                    }\n                }\n                then forwarding-class FC-SIGNALING;\n            }\n            term 5 {\n                from {\n                    source-mac-address {\n                        <ecpri-sync-mac-1>/48;\n                        <ecpri-sync-mac-2>/48;\n                        /* ... additional eCPRI sync source MACs ... */\n                    }\n                }\n                then forwarding-class FC-CONTROL;\n            }\n            term 6 {\n                from {\n                    destination-mac-address {\n                        <timing-sync-mac-1>/48;\n                        <timing-sync-mac-2>/48;\n                        /* ... additional PTP/timing destination MACs ... */\n                    }\n                }\n                then forwarding-class FC-REALTIME;\n            }\n        }\n    }\n}
", + "bytes": 1923, + "lineCount": 59, + "techFamily": "Firewall", + "subfamily": "Firewall", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/firewall/filter-mfc-ipv4-l3vpn-irb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "firewall", + "name": "filter-mfc-ipv4-l3vpn-irb", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mfc-ipv4-l3vpn-irb.conf", + "topic": "Multi-field classifier — IPv4 DSCP-to-FC (L3VPN IRB ingress)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c" + ] + }, + "highlights": [ + "Interface-specific filter applied on IRB units (input direction)", + "Overrides CoS classifier: forces FC based on DSCP for traffic entering the L3VPN from a bridged domain", + "cs1 → FC-REALTIME, cs2 → FC-HIGH, cs3 → FC-MEDIUM, cs4 → FC-LOW", + "Default term accepts unmatched traffic (uses CoS classifier instead)", + "Two named variants in the JVD: FF-MFC-IPV4-L3VPN-BD-IRB (bridged-domain IRB) and FF-MFC-IPV4-L3VPN-EVPN-IRB (EVPN IRB) — bodies identical" + ], + "pairWith": [ + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/firewall/filter-mfc-ipv6-l3vpn-irb.conf (IPv6 counterpart)", + "id": "low_latency_queueing/evo/firewall/filter-mfc-ipv6-l3vpn-irb", + "note": "IPv6 counterpart" + }, + { + "raw": "evo/cos/cos-binding-irb.conf (CoS binding on IRB units)", + "id": "low_latency_queueing/evo/cos/cos-binding-irb", + "note": "CoS binding on IRB units" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "firewall {\n family inet {\n filter {\n interface-specific;\n term fc-realtime {\n from {\n dscp cs1;\n }\n then forwarding-class FC-REALTIME;\n }\n term fc-high {\n from {\n dscp cs2;\n }\n then forwarding-class FC-HIGH;\n }\n term fc-medium {\n from {\n dscp cs3;\n }\n then forwarding-class FC-MEDIUM;\n }\n term fc-low {\n from {\n dscp cs4;\n }\n then forwarding-class FC-LOW;\n }\n term default {\n then accept;\n }\n }\n }\n}", + "bodyHtml": "
firewall {\n    family inet {\n        filter <filter-name> {\n            interface-specific;\n            term fc-realtime {\n                from {\n                    dscp cs1;\n                }\n                then forwarding-class FC-REALTIME;\n            }\n            term fc-high {\n                from {\n                    dscp cs2;\n                }\n                then forwarding-class FC-HIGH;\n            }\n            term fc-medium {\n                from {\n                    dscp cs3;\n                }\n                then forwarding-class FC-MEDIUM;\n            }\n            term fc-low {\n                from {\n                    dscp cs4;\n                }\n                then forwarding-class FC-LOW;\n            }\n            term default {\n                then accept;\n            }\n        }\n    }\n}
", + "bytes": 825, + "lineCount": 34, + "techFamily": "Firewall", + "subfamily": "L3VPN", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/firewall/filter-mfc-ipv6-l3vpn-irb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "firewall", + "name": "filter-mfc-ipv6-l3vpn-irb", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mfc-ipv6-l3vpn-irb.conf", + "topic": "Multi-field classifier — IPv6 traffic-class-to-FC (L3VPN IRB ingress)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c" + ] + }, + "highlights": [ + "IPv6 counterpart of filter-mfc-ipv4-l3vpn-irb.conf", + "Uses `traffic-class` (IPv6 traffic class field) instead of `dscp`", + "Same FC assignment: cs1→REALTIME, cs2→HIGH, cs3→MEDIUM, cs4→LOW", + "Interface-specific, applied input on IRB units", + "Two named variants: FF-MFC-IPV6-L3VPN-BD-IRB / FF-MFC-IPV6-L3VPN-EVPN-IRB" + ], + "pairWith": [ + { + "raw": "evo/cos/forwarding-classes.conf", + "id": "low_latency_queueing/evo/cos/forwarding-classes", + "note": null + }, + { + "raw": "evo/firewall/filter-mfc-ipv4-l3vpn-irb.conf (IPv4 counterpart)", + "id": "low_latency_queueing/evo/firewall/filter-mfc-ipv4-l3vpn-irb", + "note": "IPv4 counterpart" + }, + { + "raw": "evo/cos/cos-binding-irb.conf (CoS binding on IRB units)", + "id": "low_latency_queueing/evo/cos/cos-binding-irb", + "note": "CoS binding on IRB units" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "firewall {\n family inet6 {\n filter {\n interface-specific;\n term fc-realtime {\n from {\n traffic-class cs1;\n }\n then forwarding-class FC-REALTIME;\n }\n term fc-high {\n from {\n traffic-class cs2;\n }\n then forwarding-class FC-HIGH;\n }\n term fc-medium {\n from {\n traffic-class cs3;\n }\n then forwarding-class FC-MEDIUM;\n }\n term fc-low {\n from {\n traffic-class cs4;\n }\n then forwarding-class FC-LOW;\n }\n term default {\n then accept;\n }\n }\n }\n}", + "bodyHtml": "
firewall {\n    family inet6 {\n        filter <filter-name> {\n            interface-specific;\n            term fc-realtime {\n                from {\n                    traffic-class cs1;\n                }\n                then forwarding-class FC-REALTIME;\n            }\n            term fc-high {\n                from {\n                    traffic-class cs2;\n                }\n                then forwarding-class FC-HIGH;\n            }\n            term fc-medium {\n                from {\n                    traffic-class cs3;\n                }\n                then forwarding-class FC-MEDIUM;\n            }\n            term fc-low {\n                from {\n                    traffic-class cs4;\n                }\n                then forwarding-class FC-LOW;\n            }\n            term default {\n                then accept;\n            }\n        }\n    }\n}
", + "bytes": 862, + "lineCount": 34, + "techFamily": "Firewall", + "subfamily": "L3VPN", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/interfaces/lag-esi", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "interfaces", + "name": "lag-esi", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/interfaces/lag-esi.conf", + "topic": "LAG interface with ESI for EVPN multi-homing", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024" + ] + }, + "highlights": [ + "Aggregated Ethernet with flexible-vlan-tagging for multi-service", + "LACP active with fast periodic (1s) for sub-second LAG failover", + "system-id must match across AG pair for EVPN-MH ESI", + "Per-unit ESI with all-active for active-active multi-homing", + "vlan-ccc encapsulation for EVPN-VPWS units (L2 circuit)", + "vlan-bridge encapsulation for EVPN-ELAN units (bridged)", + "Each unit maps to one routing-instance (EVPN-VPWS or mac-vrf)" + ], + "pairWith": [ + { + "raw": "evo/services/evpn-vpws-vlan-based-mh.conf (VPWS service)", + "id": "low_latency_queueing/evo/services/evpn-vpws-vlan-based-mh", + "note": "VPWS service" + }, + { + "raw": "evo/services/evpn-elan-vlan-based.conf (ELAN service)", + "id": "low_latency_queueing/evo/services/evpn-elan-vlan-based", + "note": "ELAN service" + }, + { + "raw": "evo/services/l3vpn-irb.conf (L3VPN hosting IRB)", + "id": "low_latency_queueing/evo/services/l3vpn-irb", + "note": "L3VPN hosting IRB" + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul.conf (CoS per-unit)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul", + "note": "CoS per-unit" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "interfaces {\n {\n description ;\n flexible-vlan-tagging;\n encapsulation flexible-ethernet-services;\n aggregated-ether-options {\n lacp {\n active;\n periodic fast;\n system-id ;\n }\n }\n /* repeat per EVPN-VPWS service */\n unit {\n description ;\n encapsulation vlan-ccc;\n vlan-id ;\n esi {\n ;\n all-active;\n }\n family ccc {\n filter {\n input ;\n }\n }\n }\n /* repeat per EVPN-ELAN / L3VPN-IRB service */\n unit {\n description ;\n encapsulation vlan-bridge;\n vlan-id ;\n esi {\n ;\n all-active;\n }\n }\n }\n}", + "bodyHtml": "
interfaces {\n    <ae-interface> {\n        description <description>;\n        flexible-vlan-tagging;\n        encapsulation flexible-ethernet-services;\n        aggregated-ether-options {\n            lacp {\n                active;\n                periodic fast;\n                system-id <lacp-system-id>;\n            }\n        }\n        /* repeat per EVPN-VPWS service */\n        unit <unit-number> {\n            description <vpws-service-description>;\n            encapsulation vlan-ccc;\n            vlan-id <vlan-id>;\n            esi {\n                <esi-value>;\n                all-active;\n            }\n            family ccc {\n                filter {\n                    input <firewall-filter>;\n                }\n            }\n        }\n        /* repeat per EVPN-ELAN / L3VPN-IRB service */\n        unit <unit-number> {\n            description <elan-service-description>;\n            encapsulation vlan-bridge;\n            vlan-id <vlan-id>;\n            esi {\n                <esi-value>;\n                all-active;\n            }\n        }\n    }\n}
", + "bytes": 1056, + "lineCount": 39, + "techFamily": "Interfaces", + "subfamily": "LAG / LACP", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/interfaces/vlan-bridge", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "interfaces", + "name": "vlan-bridge", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/interfaces/vlan-bridge.conf", + "topic": "Service sub-interface with vlan-bridge encapsulation", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c" + ] + }, + "highlights": [ + "Physical (non-LAG) interface for single-homed L2 services", + "flexible-vlan-tagging + flexible-ethernet-services: multi-encap parent", + "vlan-bridge encapsulation: unit is placed into a virtual-switch or mac-vrf", + "Used for BGP-VPLS midhaul circuits toward SAG", + "No ESI: directly connected (single-homed path)", + "speed 10g configured where port supports multi-rate" + ], + "pairWith": [ + { + "raw": "evo/services/bgp-vpls-vsi.conf (virtual-switch service)", + "id": "low_latency_queueing/evo/services/bgp-vpls-vsi", + "note": "virtual-switch service" + }, + { + "raw": "evo/services/evpn-elan-vlan-based.conf (mac-vrf ELAN)", + "id": "low_latency_queueing/evo/services/evpn-elan-vlan-based", + "note": "mac-vrf ELAN" + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul.conf (CoS per-unit)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul", + "note": "CoS per-unit" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "interfaces {\n {\n description ;\n flexible-vlan-tagging;\n speed 10g;\n encapsulation flexible-ethernet-services;\n /* repeat per BGP-VPLS / ELAN service */\n unit {\n description ;\n encapsulation vlan-bridge;\n vlan-id ;\n }\n }\n}", + "bodyHtml": "
interfaces {\n    <interface> {\n        description <description>;\n        flexible-vlan-tagging;\n        speed 10g;\n        encapsulation flexible-ethernet-services;\n        /* repeat per BGP-VPLS / ELAN service */\n        unit <unit-number> {\n            description <service-description>;\n            encapsulation vlan-bridge;\n            vlan-id <vlan-id>;\n        }\n    }\n}
", + "bytes": 378, + "lineCount": 14, + "techFamily": "Interfaces", + "subfamily": "Interfaces", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/interfaces/vlan-ccc", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "interfaces", + "name": "vlan-ccc", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/interfaces/vlan-ccc.conf", + "topic": "Service sub-interface with vlan-ccc encapsulation", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c" + ] + }, + "highlights": [ + "Physical (non-LAG) interface for single-homed EVPN-VPWS circuits", + "flexible-vlan-tagging + flexible-ethernet-services: multi-encap parent", + "vlan-ccc encapsulation: unit carries L2 circuit for EVPN-VPWS", + "family ccc enables circuit cross-connect forwarding", + "No ESI: directly connected (single-homed path)", + "speed 10g configured where port supports multi-rate" + ], + "pairWith": [ + { + "raw": "evo/services/evpn-vpws-vlan-based-mh.conf (VPWS service)", + "id": "low_latency_queueing/evo/services/evpn-vpws-vlan-based-mh", + "note": "VPWS service" + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul-static.conf (static FC-LLQ)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul-static", + "note": "static FC-LLQ" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "interfaces {\n {\n description ;\n flexible-vlan-tagging;\n speed 10g;\n encapsulation flexible-ethernet-services;\n /* repeat per EVPN-VPWS service */\n unit {\n description ;\n encapsulation vlan-ccc;\n vlan-id ;\n family ccc;\n }\n }\n}", + "bodyHtml": "
interfaces {\n    <interface> {\n        description <description>;\n        flexible-vlan-tagging;\n        speed 10g;\n        encapsulation flexible-ethernet-services;\n        /* repeat per EVPN-VPWS service */\n        unit <unit-number> {\n            description <service-description>;\n            encapsulation vlan-ccc;\n            vlan-id <vlan-id>;\n            family ccc;\n        }\n    }\n}
", + "bytes": 393, + "lineCount": 15, + "techFamily": "Interfaces", + "subfamily": "Interfaces", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/oam/cfm-maintenance-domain", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "oam", + "name": "cfm-maintenance-domain", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/oam/cfm-maintenance-domain.conf", + "topic": "CFM maintenance-domain with continuity-check MEPs (802.1ag OAM)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024" + ] + }, + "highlights": [ + "CFM (Connectivity Fault Management, IEEE 802.1ag) for L2 service monitoring", + "MD level 5 with 2-octet short-name format maintenance-associations", + "Continuity-check (CC): 1-second interval, loss-threshold 10 (10s detect)", + "MEP direction: up (monitors the VPLS/ELAN service path, not the link)", + "One maintenance-association per service (mapped to interface unit)", + "Enables proactive fault detection on midhaul BGP-VPLS circuits" + ], + "pairWith": [ + { + "raw": "evo/services/bgp-vpls-vsi.conf (monitored service)", + "id": "low_latency_queueing/evo/services/bgp-vpls-vsi", + "note": "monitored service" + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul.conf (CoS on monitored units)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul", + "note": "CoS on monitored units" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "protocols {\n oam {\n ethernet {\n connectivity-fault-management {\n maintenance-domain {\n level ;\n name-format none;\n maintenance-association {\n short-name-format 2octet;\n continuity-check {\n interval 1s;\n loss-threshold 10;\n hold-interval 1;\n }\n mep {\n interface .;\n direction up;\n remote-mep ;\n }\n }\n }\n }\n }\n }\n}", + "bodyHtml": "
protocols {\n    oam {\n        ethernet {\n            connectivity-fault-management {\n                maintenance-domain <md-name> {\n                    level <level>;\n                    name-format none;\n                    maintenance-association <ma-id> {\n                        short-name-format 2octet;\n                        continuity-check {\n                            interval 1s;\n                            loss-threshold 10;\n                            hold-interval 1;\n                        }\n                        mep <local-mep-id> {\n                            interface <interface>.<unit>;\n                            direction up;\n                            remote-mep <remote-mep-id>;\n                        }\n                    }\n                }\n            }\n        }\n    }\n}
", + "bytes": 809, + "lineCount": 25, + "techFamily": "OAM", + "subfamily": "Oam", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/policy/allow-loopback", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "policy", + "name": "allow-loopback", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/policy/allow-loopback.conf", + "topic": "ALLOW_LOOPBACK — rib-group import filter for labeled-unicast", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Permits loopback routes (host routes /32) to be imported from inet.3 to inet.0", + "Used by rib-group inet3-to-inet0 in BGP labeled-unicast", + "Ensures MPLS next-hops resolve via the IGP for service overlays", + "orlonger matches /32 and any more-specific (effectively any host route)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/transport/bgp-internal.conf (rib-group referencing this policy)", + "id": "low_latency_queueing/evo/transport/bgp-internal", + "note": "rib-group referencing this policy" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "policy-options {\n policy-statement ALLOW_LOOPBACK {\n from {\n route-filter 0.0.0.0/32 orlonger;\n }\n then accept;\n }\n}", + "bodyHtml": "
policy-options {\n    policy-statement ALLOW_LOOPBACK {\n        from {\n            route-filter 0.0.0.0/32 orlonger;\n        }\n        then accept;\n    }\n}
", + "bytes": 154, + "lineCount": 8, + "techFamily": "Policy & Routing", + "subfamily": "Policy", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/policy/next-hop-self", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "policy", + "name": "next-hop-self", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/policy/next-hop-self.conf", + "topic": "next-hop-self BGP export policy", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Forces next-hop-self on all advertised BGP routes", + "Applied as export policy on iBGP groups (transport and service families)", + "Ensures remote peers can resolve next-hop via local IGP", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/transport/bgp-internal.conf (iBGP group referencing this policy)", + "id": "low_latency_queueing/evo/transport/bgp-internal", + "note": "iBGP group referencing this policy" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "policy-options {\n policy-statement next-hop-self {\n then {\n next-hop self;\n accept;\n }\n }\n}", + "bodyHtml": "
policy-options {\n    policy-statement next-hop-self {\n        then {\n            next-hop self;\n            accept;\n        }\n    }\n}
", + "bytes": 133, + "lineCount": 8, + "techFamily": "Policy & Routing", + "subfamily": "Policy", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/policy/pplb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "policy", + "name": "pplb", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/policy/pplb.conf", + "topic": "Per-packet load-balance policy (PPLB)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Enables per-flow (per-packet) ECMP load-balancing in the forwarding table", + "Applied via routing-options forwarding-table export PPLB", + "Despite the name, modern Junos treats this as per-flow (5-tuple hash)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/transport/load-balance-pplb.conf (forwarding-table export)", + "id": "low_latency_queueing/evo/transport/load-balance-pplb", + "note": "forwarding-table export" + }, + { + "raw": "evo/transport/forwarding-options-hash.conf (hash-key tuning)", + "id": "low_latency_queueing/evo/transport/forwarding-options-hash", + "note": "hash-key tuning" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "policy-options {\n policy-statement PPLB {\n then {\n load-balance per-packet;\n accept;\n }\n }\n}", + "bodyHtml": "
policy-options {\n    policy-statement PPLB {\n        then {\n            load-balance per-packet;\n            accept;\n        }\n    }\n}
", + "bytes": 134, + "lineCount": 8, + "techFamily": "Policy & Routing", + "subfamily": "Policy", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/policy/sr-nonzero-loopbacks", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "policy", + "name": "sr-nonzero-loopbacks", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/policy/sr-nonzero-loopbacks.conf", + "topic": "SR non-zero loopback advertisement (IPv4 + IPv6 prefix-segment)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Advertises additional loopback addresses (beyond lo0.0 primary) into IS-IS with SR prefix-segment indices", + "Allows anycast or per-service loopbacks to be SR-reachable", + "Exported via ISIS export policy (protocols isis export [... SR_NONZERO_...])", + "Index values are per-device; coordinate with SID allocation plan", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/transport/isis-global.conf (ISIS export referencing these policies)", + "id": "low_latency_queueing/evo/transport/isis-global", + "note": "ISIS export referencing these policies" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "policy-options {\n policy-statement SR_NONZERO_LOOPBACKS_V4 {\n term t1 {\n from {\n route-filter /32 exact;\n }\n then {\n prefix-segment {\n index ;\n }\n accept;\n }\n }\n }\n policy-statement SR_NONZERO_LOOPBACKS_V6 {\n term t1 {\n from {\n family inet6;\n route-filter /128 exact;\n }\n then {\n prefix-segment {\n index ;\n }\n accept;\n }\n }\n }\n}", + "bodyHtml": "
policy-options {\n    policy-statement SR_NONZERO_LOOPBACKS_V4 {\n        term t1 {\n            from {\n                route-filter <secondary-loopback-v4>/32 exact;\n            }\n            then {\n                prefix-segment {\n                    index <ipv4-secondary-sid-index>;\n                }\n                accept;\n            }\n        }\n    }\n    policy-statement SR_NONZERO_LOOPBACKS_V6 {\n        term t1 {\n            from {\n                family inet6;\n                route-filter <secondary-loopback-v6>/128 exact;\n            }\n            then {\n                prefix-segment {\n                    index <ipv6-secondary-sid-index>;\n                }\n                accept;\n            }\n        }\n    }\n}
", + "bytes": 727, + "lineCount": 29, + "techFamily": "Policy & Routing", + "subfamily": "Policy", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/services/bgp-vpls-vsi", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "services", + "name": "bgp-vpls-vsi", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/services/bgp-vpls-vsi.conf", + "topic": "BGP-VPLS virtual-switch with FAT pseudowire (midhaul L2)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024" + ] + }, + "highlights": [ + "instance-type virtual-switch with BGP-VPLS signaling (RFC 4761)", + "FAT pseudowire via flow-label-transmit / flow-label-receive for entropy-based LAG/ECMP load-balancing on midhaul circuits", + "site / site-identifier for auto-discovery and split-horizon", + "site-range 65534, label-block-size 4 (capacity planning)", + "no-tunnel-services: uses inline MPLS (no tunnel PIC needed)", + "vlans stanza maps one VLAN per instance (vlan-based model)", + "Hundreds of instances: one per midhaul service to SAG", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/interfaces/vlan-bridge.conf (vlan-bridge access units)", + "id": "low_latency_queueing/evo/interfaces/vlan-bridge", + "note": "vlan-bridge access units" + }, + { + "raw": "evo/oam/cfm-maintenance-domain.conf", + "id": "low_latency_queueing/evo/oam/cfm-maintenance-domain", + "note": null + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul.conf (802.1p on access units)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul", + "note": "802.1p on access units" + } + ], + "variables": [], + "jvdServiceMapping": [ + " (no instances found in topology registry)" + ], + "body": "routing-instances {\n {\n instance-type virtual-switch;\n protocols {\n vpls {\n site {\n site-identifier ;\n }\n site-range 65534;\n label-block-size 4;\n no-tunnel-services;\n flow-label-transmit;\n flow-label-receive;\n }\n }\n description ;\n route-distinguisher :;\n vrf-target target::;\n vlans {\n {\n vlan-id ;\n interface .;\n }\n }\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type virtual-switch;\n        protocols {\n            vpls {\n                site <site-name> {\n                    site-identifier <site-id>;\n                }\n                site-range 65534;\n                label-block-size 4;\n                no-tunnel-services;\n                flow-label-transmit;\n                flow-label-receive;\n            }\n        }\n        description <description>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n        vlans {\n            <vlan-name> {\n                vlan-id <vlan-id>;\n                interface <interface>.<unit>;\n            }\n        }\n    }\n}
", + "bytes": 707, + "lineCount": 26, + "techFamily": "Service Overlay", + "subfamily": "VPLS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/services/evpn-elan-vlan-based", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "services", + "name": "evpn-elan-vlan-based", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-elan-vlan-based.conf", + "topic": "EVPN-ELAN VLAN-based (mac-vrf, multi-homed fronthaul)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024" + ] + }, + "highlights": [ + "mac-vrf instance with EVPN for multipoint L2 bridging", + "service-type vlan-based (one VLAN per bridge-domain, one BD per instance)", + "Used for fronthaul multipoint services where multiple DUs/O-RUs share a VLAN", + "Simple form: no IRB, no default-gateway — pure L2 bridging", + "vlans stanza maps VLAN-ID to interface attachment" + ], + "pairWith": [ + { + "raw": "evo/interfaces/lag-esi.conf (ESI LAG for MH)", + "id": "low_latency_queueing/evo/interfaces/lag-esi", + "note": "ESI LAG for MH" + }, + { + "raw": "evo/interfaces/vlan-bridge.conf (non-LAG bridge units)", + "id": "low_latency_queueing/evo/interfaces/vlan-bridge", + "note": "non-LAG bridge units" + }, + { + "raw": "evo/services/l3vpn-irb.conf", + "id": "low_latency_queueing/evo/services/l3vpn-irb", + "note": null + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul.conf (802.1p classification)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul", + "note": "802.1p classification" + } + ], + "variables": [], + "jvdServiceMapping": [ + " (no instances found in topology registry)" + ], + "body": "routing-instances {\n {\n instance-type mac-vrf;\n protocols {\n evpn;\n }\n service-type vlan-based;\n interface .;\n route-distinguisher :;\n vrf-target target::;\n vlans {\n {\n vlan-id ;\n interface .;\n }\n }\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type mac-vrf;\n        protocols {\n            evpn;\n        }\n        service-type vlan-based;\n        interface <interface>.<unit>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n        vlans {\n            <bridge-domain-name> {\n                vlan-id <vlan-id>;\n                interface <interface>.<unit>;\n            }\n        }\n    }\n}
", + "bytes": 451, + "lineCount": 18, + "techFamily": "Service Overlay", + "subfamily": "EVPN-ELAN", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/services/evpn-fxc-vlan-aware", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "services", + "name": "evpn-fxc-vlan-aware", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-fxc-vlan-aware.conf", + "topic": "EVPN-VPWS Flexible Cross-Connect (FXC, multi-homed)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024" + ] + }, + "highlights": [ + "EVPN-VPWS with flexible-cross-connect-vlan-aware for multi-endpoint bundling (two VLANs cross-connected through the same VPWS instance)", + "Two interface/vpws-service-id pairs per instance: each sub-interface gets its own local/remote pseudowire ID within the same RD/RT", + "Used for eCPRI fronthaul where O-RU control-plane and user-plane VLANs are paired into a single VPWS FXC instance", + "Multi-homed: on ae26 LAG with ESI (AG pair)", + "Also present as single-homed (SH on et-1/0/1) for AN4" + ], + "pairWith": [ + { + "raw": "evo/interfaces/lag-esi.conf (ESI LAG for MH)", + "id": "low_latency_queueing/evo/interfaces/lag-esi", + "note": "ESI LAG for MH" + }, + { + "raw": "evo/interfaces/vlan-ccc.conf (non-LAG CCC units)", + "id": "low_latency_queueing/evo/interfaces/vlan-ccc", + "note": "non-LAG CCC units" + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul-static.conf (static FC-LLQ)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul-static", + "note": "static FC-LLQ" + }, + { + "raw": "evo/firewall/filter-mf-ecpri-fronthaul.conf (MAC-based FC filter)", + "id": "low_latency_queueing/evo/firewall/filter-mf-ecpri-fronthaul", + "note": "MAC-based FC filter" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "routing-instances {\n {\n instance-type evpn-vpws;\n protocols {\n evpn {\n interface . {\n vpws-service-id {\n local ;\n remote ;\n }\n }\n interface . {\n vpws-service-id {\n local ;\n remote ;\n }\n }\n flexible-cross-connect-vlan-aware;\n }\n }\n interface .;\n interface .;\n route-distinguisher :;\n vrf-target target::;\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type evpn-vpws;\n        protocols {\n            evpn {\n                interface <interface-a>.<unit-a> {\n                    vpws-service-id {\n                        local <local-id-a>;\n                        remote <remote-id-a>;\n                    }\n                }\n                interface <interface-b>.<unit-b> {\n                    vpws-service-id {\n                        local <local-id-b>;\n                        remote <remote-id-b>;\n                    }\n                }\n                flexible-cross-connect-vlan-aware;\n            }\n        }\n        interface <interface-a>.<unit-a>;\n        interface <interface-b>.<unit-b>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n    }\n}
", + "bytes": 814, + "lineCount": 26, + "techFamily": "Service Overlay", + "subfamily": "EVPN", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/services/evpn-vpws-vlan-based-mh", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "services", + "name": "evpn-vpws-vlan-based-mh", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-vpws-vlan-based-mh.conf", + "topic": "EVPN-VPWS VLAN-based multi-homed (eCPRI fronthaul)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024" + ] + }, + "highlights": [ + "Point-to-point EVPN-VPWS for dedicated eCPRI fronthaul circuits", + "Multi-homed: AN dual-homed to AG pair (ESI on the AG-facing LAG)", + "vpws-service-id local/remote identifies the pseudowire endpoints", + "Hundreds of instances per device (one per O-RU/antenna element)", + "No flow-label (not needed for point-to-point single-flow circuits)", + "Combined with static FC-LLQ CoS binding for guaranteed low-latency" + ], + "pairWith": [ + { + "raw": "evo/interfaces/lag-esi.conf (ESI LAG for MH)", + "id": "low_latency_queueing/evo/interfaces/lag-esi", + "note": "ESI LAG for MH" + }, + { + "raw": "evo/interfaces/vlan-ccc.conf (non-LAG CCC units)", + "id": "low_latency_queueing/evo/interfaces/vlan-ccc", + "note": "non-LAG CCC units" + }, + { + "raw": "evo/cos/cos-binding-l2-fronthaul-static.conf (static FC-LLQ)", + "id": "low_latency_queueing/evo/cos/cos-binding-l2-fronthaul-static", + "note": "static FC-LLQ" + }, + { + "raw": "evo/firewall/filter-mf-ecpri-fronthaul.conf (MAC-based FC filter)", + "id": "low_latency_queueing/evo/firewall/filter-mf-ecpri-fronthaul", + "note": "MAC-based FC filter" + } + ], + "variables": [], + "jvdServiceMapping": [ + " (no instances found in topology registry)" + ], + "body": "routing-instances {\n {\n instance-type evpn-vpws;\n protocols {\n evpn {\n interface . {\n vpws-service-id {\n local ;\n remote ;\n }\n }\n }\n }\n interface .;\n route-distinguisher :;\n vrf-target target::;\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type evpn-vpws;\n        protocols {\n            evpn {\n                interface <interface>.<unit> {\n                    vpws-service-id {\n                        local <local-id>;\n                        remote <remote-id>;\n                    }\n                }\n            }\n        }\n        interface <interface>.<unit>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n    }\n}
", + "bytes": 490, + "lineCount": 18, + "techFamily": "Service Overlay", + "subfamily": "EVPN-VPWS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/services/l3vpn-irb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "services", + "name": "l3vpn-irb", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/services/l3vpn-irb.conf", + "topic": "L3VPN VRF with IRB (anycast gateway, vrf-table-label)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024" + ] + }, + "highlights": [ + "instance-type vrf for L3VPN routing", + "IRB interface provides routing for EVPN-ELAN bridge-domains", + "vrf-table-label allocates a single MPLS label for the VRF (simplifies PE-to-PE label allocation)", + "router-id set explicitly per-instance (required for multi-VRF ECMP)", + "Anycast gateway model: same IRB IP on multiple PEs for active-active" + ], + "pairWith": [ + { + "raw": "evo/interfaces/lag-esi.conf (vlan-bridge access units)", + "id": "low_latency_queueing/evo/interfaces/lag-esi", + "note": "vlan-bridge access units" + }, + { + "raw": "evo/services/evpn-elan-vlan-based.conf (mac-vrf bridging to this VRF)", + "id": "low_latency_queueing/evo/services/evpn-elan-vlan-based", + "note": "mac-vrf bridging to this VRF" + }, + { + "raw": "evo/cos/cos-binding-irb.conf (FC-REALTIME on IRB units)", + "id": "low_latency_queueing/evo/cos/cos-binding-irb", + "note": "FC-REALTIME on IRB units" + } + ], + "variables": [], + "jvdServiceMapping": [ + " (no instances found in topology registry)" + ], + "body": "routing-instances {\n {\n instance-type vrf;\n routing-options {\n router-id ;\n }\n description ;\n interface irb.;\n route-distinguisher :;\n vrf-target target::;\n vrf-table-label;\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type vrf;\n        routing-options {\n            router-id <router-id>;\n        }\n        description <description>;\n        interface irb.<irb-unit>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n        vrf-table-label;\n    }\n}
", + "bytes": 337, + "lineCount": 13, + "techFamily": "Service Overlay", + "subfamily": "L3VPN", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/transport/bgp-internal", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "transport", + "name": "bgp-internal", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/transport/bgp-internal.conf", + "topic": "BGP internal (iBGP) — labeled-unicast + route-reflector", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "iBGP with inet/inet6 labeled-unicast for inter-area MPLS connectivity", + "rib-group inet3-to-inet0 installs labeled routes into inet.0 (for next-hop resolution)", + "CR devices act as route-reflectors (cluster-id = own router-id)", + "log-updown + multipath enabled at group or global level", + "export next-hop-self on iBGP peering sessions", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/policy/next-hop-self.conf (BGP export policy)", + "id": "low_latency_queueing/evo/policy/next-hop-self", + "note": "BGP export policy" + }, + { + "raw": "evo/policy/allow-loopback.conf (rib-group import filter)", + "id": "low_latency_queueing/evo/policy/allow-loopback", + "note": "rib-group import filter" + }, + { + "raw": "evo/transport/isis-global.conf (underlay providing next-hop reachability)", + "id": "low_latency_queueing/evo/transport/isis-global", + "note": "underlay providing next-hop reachability" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "protocols {\n bgp {\n group {\n type internal;\n local-address ;\n family inet {\n labeled-unicast {\n rib-group inet3-to-inet0;\n rib {\n inet.3;\n }\n }\n }\n family inet6 {\n labeled-unicast {\n rib {\n inet6.3;\n }\n }\n }\n export next-hop-self;\n neighbor ;\n }\n log-updown;\n multipath;\n }\n}", + "bodyHtml": "
protocols {\n    bgp {\n        group <group-name> {\n            type internal;\n            local-address <loopback-address>;\n            family inet {\n                labeled-unicast {\n                    rib-group inet3-to-inet0;\n                    rib {\n                        inet.3;\n                    }\n                }\n            }\n            family inet6 {\n                labeled-unicast {\n                    rib {\n                        inet6.3;\n                    }\n                }\n            }\n            export next-hop-self;\n            neighbor <peer-address>;\n        }\n        log-updown;\n        multipath;\n    }\n}
", + "bytes": 643, + "lineCount": 27, + "techFamily": "Transport", + "subfamily": "Transport", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/transport/forwarding-options-hash", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "transport", + "name": "forwarding-options-hash", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/transport/forwarding-options-hash.conf", + "topic": "Forwarding-options hash-key — ECMP/LAG hashing (L3+L4+MPLS)", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "inet/inet6: layer-3 + layer-4 hashing for fine-grained ECMP/LAG", + "MPLS: all-labels + payload ip — hashes entire label stack plus inner IP header for MPLS-encapsulated ECMP load-sharing", + "Critical for 5G xHaul where many EVPN-VPWS services share the same LAG members" + ], + "pairWith": [ + { + "raw": "evo/transport/load-balance-pplb.conf", + "id": "low_latency_queueing/evo/transport/load-balance-pplb", + "note": null + }, + { + "raw": "evo/transport/mpls-global.conf (MPLS interface enablement)", + "id": "low_latency_queueing/evo/transport/mpls-global", + "note": "MPLS interface enablement" + }, + { + "raw": "evo/policy/pplb.conf (per-packet load-balance policy)", + "id": "low_latency_queueing/evo/policy/pplb", + "note": "per-packet load-balance policy" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "forwarding-options {\n hash-key {\n family inet {\n layer-3;\n layer-4;\n }\n family inet6 {\n layer-3;\n layer-4;\n }\n family mpls {\n all-labels;\n payload {\n ip;\n }\n }\n }\n}", + "bodyHtml": "
forwarding-options {\n    hash-key {\n        family inet {\n            layer-3;\n            layer-4;\n        }\n        family inet6 {\n            layer-3;\n            layer-4;\n        }\n        family mpls {\n            all-labels;\n            payload {\n                ip;\n            }\n        }\n    }\n}
", + "bytes": 304, + "lineCount": 18, + "techFamily": "Transport", + "subfamily": "Transport", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/transport/isis-global", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "transport", + "name": "isis-global", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/transport/isis-global.conf", + "topic": "IS-IS global — segment routing, SPF tuning, TI-LFA backup", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Segment Routing: SRGB 16000 + 80000 range, node-segment with IPv4/IPv6 indices", + "explicit-null for penultimate-hop transparency (preserves QoS to egress)", + "Level 2 wide-metrics-only (required for TE and SR)", + "SPF delay 100ms with 5 rapid runs before dampening", + "Backup SPF: TI-LFA with up to 5 labels, uses source-packet-routing", + "Exports SR_NONZERO_LOOPBACKS_V4/V6 for multi-loopback SR advertisement", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/policy/sr-nonzero-loopbacks.conf", + "id": "low_latency_queueing/evo/policy/sr-nonzero-loopbacks", + "note": null + }, + { + "raw": "evo/transport/bgp-internal.conf", + "id": "low_latency_queueing/evo/transport/bgp-internal", + "note": null + }, + { + "raw": "evo/transport/mpls-global.conf", + "id": "low_latency_queueing/evo/transport/mpls-global", + "note": null + }, + { + "raw": "evo/transport/isis-interface.conf (per-interface config)", + "id": "low_latency_queueing/evo/transport/isis-interface", + "note": "per-interface config" + }, + { + "raw": "evo/policy/sr-nonzero-loopbacks.conf (SR prefix-segment export)", + "id": "low_latency_queueing/evo/policy/sr-nonzero-loopbacks", + "note": "SR prefix-segment export" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "protocols {\n isis {\n interface lo0.0 {\n passive;\n }\n source-packet-routing {\n srgb start-label 16000 index-range 80000;\n node-segment {\n ipv4-index ;\n ipv6-index ;\n }\n explicit-null;\n }\n level 2 wide-metrics-only;\n spf-options {\n delay 100;\n rapid-runs 5;\n }\n backup-spf-options {\n use-post-convergence-lfa maximum-labels 5;\n use-source-packet-routing;\n }\n export [ SR_NONZERO_LOOPBACKS_V4 SR_NONZERO_LOOPBACKS_V6 ];\n ignore-attached-bit;\n }\n}", + "bodyHtml": "
protocols {\n    isis {\n        interface lo0.0 {\n            passive;\n        }\n        source-packet-routing {\n            srgb start-label 16000 index-range 80000;\n            node-segment {\n                ipv4-index <ipv4-sid-index>;\n                ipv6-index <ipv6-sid-index>;\n            }\n            explicit-null;\n        }\n        level 2 wide-metrics-only;\n        spf-options {\n            delay 100;\n            rapid-runs 5;\n        }\n        backup-spf-options {\n            use-post-convergence-lfa maximum-labels 5;\n            use-source-packet-routing;\n        }\n        export [ SR_NONZERO_LOOPBACKS_V4 SR_NONZERO_LOOPBACKS_V6 ];\n        ignore-attached-bit;\n    }\n}
", + "bytes": 687, + "lineCount": 26, + "techFamily": "Transport", + "subfamily": "IS-IS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/transport/isis-interface", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "transport", + "name": "isis-interface", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/transport/isis-interface.conf", + "topic": "IS-IS interface — level 2, TI-LFA, BFD, point-to-point", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "Level-2 only (level 1 disabled) — flat IS-IS domain", + "post-convergence-lfa with node-protection (TI-LFA)", + "BFD liveness-detection: 100ms minimum-interval × 3 multiplier = 300ms detect", + "Point-to-point on all inter-router links (no DIS election)", + "Metric 10 on all links (uniform cost for ECMP)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/transport/isis-global.conf (SR, spf-options, backup-spf-options)", + "id": "low_latency_queueing/evo/transport/isis-global", + "note": "SR, spf-options, backup-spf-options" + }, + { + "raw": "evo/transport/mpls-global.conf (MPLS interface enablement)", + "id": "low_latency_queueing/evo/transport/mpls-global", + "note": "MPLS interface enablement" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "protocols {\n isis {\n interface .0 {\n level 2 {\n post-convergence-lfa {\n node-protection cost 16777214;\n }\n metric 10;\n }\n level 1 disable;\n point-to-point;\n family inet {\n bfd-liveness-detection {\n minimum-interval 100;\n multiplier 3;\n no-adaptation;\n }\n }\n }\n }\n}", + "bodyHtml": "
protocols {\n    isis {\n        interface <ae-interface>.0 {\n            level 2 {\n                post-convergence-lfa {\n                    node-protection cost 16777214;\n                }\n                metric 10;\n            }\n            level 1 disable;\n            point-to-point;\n            family inet {\n                bfd-liveness-detection {\n                    minimum-interval 100;\n                    multiplier 3;\n                    no-adaptation;\n                }\n            }\n        }\n    }\n}
", + "bytes": 515, + "lineCount": 21, + "techFamily": "Transport", + "subfamily": "IS-IS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/transport/load-balance-pplb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "transport", + "name": "load-balance-pplb", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/transport/load-balance-pplb.conf", + "topic": "Forwarding-table load-balance + chained-composite-next-hop", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "export PPLB enables per-flow ECMP across equal-cost paths", + "chained-composite-next-hop for EVPN, L3VPN, and L2CKT services enables hierarchical next-hop chains (required for EVPN-VPWS MH)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/policy/pplb.conf (PPLB policy definition)", + "id": "low_latency_queueing/evo/policy/pplb", + "note": "PPLB policy definition" + }, + { + "raw": "evo/transport/forwarding-options-hash.conf (hash-key tuning)", + "id": "low_latency_queueing/evo/transport/forwarding-options-hash", + "note": "hash-key tuning" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "routing-options {\n forwarding-table {\n export PPLB;\n chained-composite-next-hop {\n ingress {\n l2ckt;\n evpn;\n l3vpn;\n }\n }\n }\n}", + "bodyHtml": "
routing-options {\n    forwarding-table {\n        export PPLB;\n        chained-composite-next-hop {\n            ingress {\n                l2ckt;\n                evpn;\n                l3vpn;\n            }\n        }\n    }\n}
", + "bytes": 220, + "lineCount": 12, + "techFamily": "Transport", + "subfamily": "Transport", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/evo/transport/mpls-global", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos EVO", + "osKey": "evo", + "category": "transport", + "name": "mpls-global", + "path": "service_provider/low_latency_queueing/configuration/snips/evo/transport/mpls-global.conf", + "topic": "MPLS global — PCE-controlled LSPs, TTL, ICMP tunneling, IPv6", + "seenOn": { + "junos": [], + "evo": [ + "ag1_1_acx7509", + "ag1_2_acx7100-32c", + "an1_acx7100-48l", + "an3_acx7100-48l", + "an4_acx7024", + "cr1_ptx10001-36mr", + "cr2_ptx10001-36mr" + ] + }, + "highlights": [ + "lsp-external-controller pccd (NorthStar/Paragon PCE-initiated LSPs)", + "no-propagate-ttl hides MPLS core hops from traceroute", + "icmp-tunneling enables ICMP error reporting through MPLS tunnels", + "ipv6-tunneling for 6PE/6VPE over MPLS core", + "optimize-timer 180 seconds for CSPF re-optimization", + "Interface list is per-device (all inter-router AE interfaces + lo0)", + "Body is byte-identical to the Junos sibling" + ], + "pairWith": [ + { + "raw": "evo/transport/forwarding-options-hash.conf", + "id": "low_latency_queueing/evo/transport/forwarding-options-hash", + "note": null + }, + { + "raw": "evo/transport/isis-interface.conf", + "id": "low_latency_queueing/evo/transport/isis-interface", + "note": null + }, + { + "raw": "evo/transport/isis-global.conf (SR/ISIS underlay)", + "id": "low_latency_queueing/evo/transport/isis-global", + "note": "SR/ISIS underlay" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "protocols {\n mpls {\n lsp-external-controller pccd;\n log-updown {\n syslog;\n trap;\n }\n no-propagate-ttl;\n icmp-tunneling;\n optimize-timer 180;\n ipv6-tunneling;\n interface lo0.0;\n interface .0;\n }\n}", + "bodyHtml": "
protocols {\n    mpls {\n        lsp-external-controller pccd;\n        log-updown {\n            syslog;\n            trap;\n        }\n        no-propagate-ttl;\n        icmp-tunneling;\n        optimize-timer 180;\n        ipv6-tunneling;\n        interface lo0.0;\n        interface <ae-interface>.0;\n    }\n}
", + "bytes": 300, + "lineCount": 15, + "techFamily": "Transport", + "subfamily": "Transport", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/classifier-dscp-ipv6", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "classifier-dscp-ipv6", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-dscp-ipv6.conf", + "topic": "DSCP-IPv6 classifier (CL-DSCP-IPV6) — ingress IPv6 packet-to-FC mapping", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Identical classification logic to CL-DSCP but applied to IPv6 traffic", + "Required when inet6 traffic is classified separately from inet", + "Applied to L3 service interfaces alongside CL-DSCP", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/cos-binding-l3-service.conf", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/cos/classifier-dscp.conf (IPv4 counterpart)", + "id": "low_latency_queueing/junos/cos/classifier-dscp", + "note": "IPv4 counterpart" + }, + { + "raw": "junos/cos/rewrite-dscp-ipv6.conf (egress IPv6 FC → DSCP marking)", + "id": "low_latency_queueing/junos/cos/rewrite-dscp-ipv6", + "note": "egress IPv6 FC → DSCP marking" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n classifiers {\n dscp-ipv6 CL-DSCP-IPV6 {\n import default;\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-points be;\n }\n forwarding-class FC-CONTROL {\n loss-priority low code-points cs7;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-points af33;\n loss-priority low code-points [ cs3 af31 ];\n loss-priority medium-high code-points af32;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-points af43;\n loss-priority low code-points [ cs4 af41 ];\n loss-priority medium-high code-points af42;\n }\n forwarding-class FC-LOW {\n loss-priority high code-points af13;\n loss-priority low code-points [ cs1 af11 ];\n loss-priority medium-high code-points af12;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-points af23;\n loss-priority low code-points [ cs2 af21 ];\n loss-priority medium-high code-points af22;\n }\n forwarding-class FC-REALTIME {\n loss-priority low code-points ef;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-points cs5;\n loss-priority low code-points cs6;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    classifiers {\n        dscp-ipv6 CL-DSCP-IPV6 {\n            import default;\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-points be;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority low code-points cs7;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-points af33;\n                loss-priority low code-points [ cs3 af31 ];\n                loss-priority medium-high code-points af32;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-points af43;\n                loss-priority low code-points [ cs4 af41 ];\n                loss-priority medium-high code-points af42;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-points af13;\n                loss-priority low code-points [ cs1 af11 ];\n                loss-priority medium-high code-points af12;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-points af23;\n                loss-priority low code-points [ cs2 af21 ];\n                loss-priority medium-high code-points af22;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority low code-points ef;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-points cs5;\n                loss-priority low code-points cs6;\n            }\n        }\n    }\n}
", + "bytes": 1505, + "lineCount": 40, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/classifier-dscp", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "classifier-dscp", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-dscp.conf", + "topic": "DSCP classifier (CL-DSCP) — ingress packet-to-FC mapping", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "AF per-hop behavior: AF4x → FC-LLQ, AF3x → FC-HIGH, AF2x → FC-MEDIUM, AF1x → FC-LOW, EF → FC-REALTIME, CS6/CS7 → FC-SIGNALING/CONTROL", + "3-level loss-priority (low/medium-high/high) for AFxy drop-precedence", + "import default covers unmapped code-points → FC-BEST-EFFORT", + "Applied to L3 service interfaces via interface cos-binding", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/classifier-dscp-ipv6.conf", + "id": "low_latency_queueing/junos/cos/classifier-dscp-ipv6", + "note": null + }, + { + "raw": "junos/cos/cos-binding-l3-service.conf", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf (FC queue-num definitions)", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": "FC queue-num definitions" + }, + { + "raw": "junos/cos/rewrite-dscp.conf (egress FC → DSCP marking)", + "id": "low_latency_queueing/junos/cos/rewrite-dscp", + "note": "egress FC → DSCP marking" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n classifiers {\n dscp CL-DSCP {\n import default;\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-points be;\n }\n forwarding-class FC-CONTROL {\n loss-priority low code-points cs7;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-points af33;\n loss-priority low code-points [ cs3 af31 ];\n loss-priority medium-high code-points af32;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-points af43;\n loss-priority low code-points [ cs4 af41 ];\n loss-priority medium-high code-points af42;\n }\n forwarding-class FC-LOW {\n loss-priority high code-points af13;\n loss-priority low code-points [ cs1 af11 ];\n loss-priority medium-high code-points af12;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-points af23;\n loss-priority low code-points [ cs2 af21 ];\n loss-priority medium-high code-points af22;\n }\n forwarding-class FC-REALTIME {\n loss-priority low code-points ef;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-points cs5;\n loss-priority low code-points cs6;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    classifiers {\n        dscp CL-DSCP {\n            import default;\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-points be;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority low code-points cs7;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-points af33;\n                loss-priority low code-points [ cs3 af31 ];\n                loss-priority medium-high code-points af32;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-points af43;\n                loss-priority low code-points [ cs4 af41 ];\n                loss-priority medium-high code-points af42;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-points af13;\n                loss-priority low code-points [ cs1 af11 ];\n                loss-priority medium-high code-points af12;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-points af23;\n                loss-priority low code-points [ cs2 af21 ];\n                loss-priority medium-high code-points af22;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority low code-points ef;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-points cs5;\n                loss-priority low code-points cs6;\n            }\n        }\n    }\n}
", + "bytes": 1495, + "lineCount": 40, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/classifier-exp", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "classifier-exp", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-exp.conf", + "topic": "MPLS EXP classifier (CL-MPLS) — ingress MPLS-to-FC mapping", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Maps 3-bit MPLS EXP field to 8 forwarding classes", + "EXP 4 → FC-LLQ, EXP 5 → FC-REALTIME, EXP 6 → FC-SIGNALING", + "Applied on MPLS transport interfaces (ae units with family mpls)", + "All loss-priority = low (EXP has no drop-precedence encoding)", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/cos-binding-transport.conf", + "id": "low_latency_queueing/junos/cos/cos-binding-transport", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf (FC queue-num definitions)", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": "FC queue-num definitions" + }, + { + "raw": "junos/cos/rewrite-exp.conf (egress FC → EXP marking)", + "id": "low_latency_queueing/junos/cos/rewrite-exp", + "note": "egress FC → EXP marking" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n classifiers {\n exp CL-MPLS {\n import default;\n forwarding-class FC-BEST-EFFORT {\n loss-priority low code-points 000;\n }\n forwarding-class FC-CONTROL {\n loss-priority low code-points 111;\n }\n forwarding-class FC-HIGH {\n loss-priority low code-points 011;\n }\n forwarding-class FC-LLQ {\n loss-priority low code-points 100;\n }\n forwarding-class FC-LOW {\n loss-priority low code-points 001;\n }\n forwarding-class FC-MEDIUM {\n loss-priority low code-points 010;\n }\n forwarding-class FC-REALTIME {\n loss-priority low code-points 101;\n }\n forwarding-class FC-SIGNALING {\n loss-priority low code-points 110;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    classifiers {\n        exp CL-MPLS {\n            import default;\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority low code-points 000;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority low code-points 111;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority low code-points 011;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority low code-points 100;\n            }\n            forwarding-class FC-LOW {\n                loss-priority low code-points 001;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority low code-points 010;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority low code-points 101;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority low code-points 110;\n            }\n        }\n    }\n}
", + "bytes": 955, + "lineCount": 31, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/classifier-ieee-802.1", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "classifier-ieee-802.1", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-ieee-802.1.conf", + "topic": "802.1p classifier (CL-8021P) — ingress VLAN-tag-to-FC mapping", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Maps 3-bit 802.1p PCP field to 8 forwarding classes", + "PCP 4 → FC-LLQ, PCP 5 → FC-REALTIME, PCP 6 → FC-SIGNALING", + "Applied on L2 access/trunk interfaces (EVPN-VPWS, ELAN)", + "All loss-priority = low (PCP has no drop-precedence encoding)", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/forwarding-classes.conf (FC queue-num definitions)", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": "FC queue-num definitions" + }, + { + "raw": "junos/cos/rewrite-ieee-802.1.conf (egress FC → PCP marking)", + "id": "low_latency_queueing/junos/cos/rewrite-ieee-802.1", + "note": "egress FC → PCP marking" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n classifiers {\n ieee-802.1 CL-8021P {\n import default;\n forwarding-class FC-BEST-EFFORT {\n loss-priority low code-points 000;\n }\n forwarding-class FC-CONTROL {\n loss-priority low code-points 111;\n }\n forwarding-class FC-HIGH {\n loss-priority low code-points 011;\n }\n forwarding-class FC-LLQ {\n loss-priority low code-points 100;\n }\n forwarding-class FC-LOW {\n loss-priority low code-points 001;\n }\n forwarding-class FC-MEDIUM {\n loss-priority low code-points 010;\n }\n forwarding-class FC-REALTIME {\n loss-priority low code-points 101;\n }\n forwarding-class FC-SIGNALING {\n loss-priority low code-points 110;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    classifiers {\n        ieee-802.1 CL-8021P {\n            import default;\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority low code-points 000;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority low code-points 111;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority low code-points 011;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority low code-points 100;\n            }\n            forwarding-class FC-LOW {\n                loss-priority low code-points 001;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority low code-points 010;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority low code-points 101;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority low code-points 110;\n            }\n        }\n    }\n}
", + "bytes": 963, + "lineCount": 31, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "cos-binding-l3-service", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/cos-binding-l3-service.conf", + "topic": "CoS interface binding — L3 service (DSCP classifier + rewrite per unit)", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Per-unit DSCP + DSCP-IPv6 classification and rewrite", + "No static forwarding-class — traffic is classified dynamically", + "Applied to L3VPN service units (inet/inet6 traffic)", + "Scheduler-map is applied at the interface level (not shown per-unit)", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/scheduler-map.conf", + "id": "low_latency_queueing/junos/cos/scheduler-map", + "note": null + }, + { + "raw": "junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf", + "id": "low_latency_queueing/junos/firewall/filter-mfc-ipv4-l3vpn-irb", + "note": null + }, + { + "raw": "junos/firewall/filter-mfc-ipv6-l3vpn-irb.conf", + "id": "low_latency_queueing/junos/firewall/filter-mfc-ipv6-l3vpn-irb", + "note": null + }, + { + "raw": "junos/services/bgp-vpls-vsi.conf", + "id": "low_latency_queueing/junos/services/bgp-vpls-vsi", + "note": null + }, + { + "raw": "junos/services/evpn-elan-vlan-based-irb.conf", + "id": "low_latency_queueing/junos/services/evpn-elan-vlan-based-irb", + "note": null + }, + { + "raw": "junos/services/evpn-vpws-vlan-based-sh.conf", + "id": "low_latency_queueing/junos/services/evpn-vpws-vlan-based-sh", + "note": null + }, + { + "raw": "junos/services/l3vpn-irb.conf", + "id": "low_latency_queueing/junos/services/l3vpn-irb", + "note": null + }, + { + "raw": "junos/cos/classifier-dscp.conf (CL-DSCP definition)", + "id": "low_latency_queueing/junos/cos/classifier-dscp", + "note": "CL-DSCP definition" + }, + { + "raw": "junos/cos/classifier-dscp-ipv6.conf (CL-DSCP-IPV6 definition)", + "id": "low_latency_queueing/junos/cos/classifier-dscp-ipv6", + "note": "CL-DSCP-IPV6 definition" + }, + { + "raw": "junos/cos/rewrite-dscp.conf (RR-DSCP definition)", + "id": "low_latency_queueing/junos/cos/rewrite-dscp", + "note": "RR-DSCP definition" + }, + { + "raw": "junos/cos/rewrite-dscp-ipv6.conf (RR-DSCP-IPV6 definition)", + "id": "low_latency_queueing/junos/cos/rewrite-dscp-ipv6", + "note": "RR-DSCP-IPV6 definition" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n interfaces {\n {\n scheduler-map SM-5G-SCHEDULER;\n unit {\n classifiers {\n dscp CL-DSCP;\n dscp-ipv6 CL-DSCP-IPV6;\n }\n rewrite-rules {\n dscp RR-DSCP;\n dscp-ipv6 RR-DSCP-IPV6;\n }\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    interfaces {\n        <interface> {\n            scheduler-map SM-5G-SCHEDULER;\n            unit <unit-number> {\n                classifiers {\n                    dscp CL-DSCP;\n                    dscp-ipv6 CL-DSCP-IPV6;\n                }\n                rewrite-rules {\n                    dscp RR-DSCP;\n                    dscp-ipv6 RR-DSCP-IPV6;\n                }\n            }\n        }\n    }\n}
", + "bytes": 419, + "lineCount": 17, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/cos-binding-transport", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "cos-binding-transport", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/cos-binding-transport.conf", + "topic": "CoS interface binding — MPLS transport (EXP classifier + rewrite)", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Applies scheduler-map SM-5G-SCHEDULER at interface level", + "Classifies inbound MPLS traffic via EXP bits (CL-MPLS)", + "Rewrites outbound EXP bits (RR-MPLS) to preserve QoS marking", + "Applied on ae interface unit 0 (transport backbone links)", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/classifier-exp.conf (CL-MPLS definition)", + "id": "low_latency_queueing/junos/cos/classifier-exp", + "note": "CL-MPLS definition" + }, + { + "raw": "junos/cos/rewrite-exp.conf (RR-MPLS definition)", + "id": "low_latency_queueing/junos/cos/rewrite-exp", + "note": "RR-MPLS definition" + }, + { + "raw": "junos/cos/scheduler-map.conf (SM-5G-SCHEDULER definition)", + "id": "low_latency_queueing/junos/cos/scheduler-map", + "note": "SM-5G-SCHEDULER definition" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n interfaces {\n {\n scheduler-map SM-5G-SCHEDULER;\n unit 0 {\n classifiers {\n exp CL-MPLS;\n }\n rewrite-rules {\n exp RR-MPLS;\n }\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    interfaces {\n        <ae-interface> {\n            scheduler-map SM-5G-SCHEDULER;\n            unit 0 {\n                classifiers {\n                    exp CL-MPLS;\n                }\n                rewrite-rules {\n                    exp RR-MPLS;\n                }\n            }\n        }\n    }\n}
", + "bytes": 320, + "lineCount": 15, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "forwarding-classes", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/forwarding-classes.conf", + "topic": "8-class forwarding-class model (O-RAN multi-priority alignment)", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "8 forwarding classes aligned to O-RAN multi-priority queuing model", + "FC-LLQ (queue 6) is the low-latency queue for eCPRI/fronthaul", + "FC-REALTIME (queue 5) for strict priority real-time flows (PTP, sync)", + "FC-SIGNALING (queue 7) for control-plane signaling", + "Queue numbering is consistent across all platforms in this JVD", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/classifier-dscp.conf", + "id": "low_latency_queueing/junos/cos/classifier-dscp", + "note": null + }, + { + "raw": "junos/cos/classifier-exp.conf", + "id": "low_latency_queueing/junos/cos/classifier-exp", + "note": null + }, + { + "raw": "junos/cos/classifier-ieee-802.1.conf", + "id": "low_latency_queueing/junos/cos/classifier-ieee-802.1", + "note": null + }, + { + "raw": "junos/cos/rewrite-dscp.conf", + "id": "low_latency_queueing/junos/cos/rewrite-dscp", + "note": null + }, + { + "raw": "junos/cos/rewrite-exp.conf", + "id": "low_latency_queueing/junos/cos/rewrite-exp", + "note": null + }, + { + "raw": "junos/cos/rewrite-ieee-802.1.conf", + "id": "low_latency_queueing/junos/cos/rewrite-ieee-802.1", + "note": null + }, + { + "raw": "junos/cos/schedulers-strict-high.conf (MX: LLQ with priority strict-high)", + "id": "low_latency_queueing/junos/cos/schedulers-strict-high", + "note": "MX: LLQ with priority strict-high" + }, + { + "raw": "junos/cos/scheduler-map.conf (FC → scheduler binding)", + "id": "low_latency_queueing/junos/cos/scheduler-map", + "note": "FC → scheduler binding" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n forwarding-classes {\n class FC-BEST-EFFORT queue-num 0;\n class FC-CONTROL queue-num 3;\n class FC-HIGH queue-num 4;\n class FC-LLQ queue-num 6;\n class FC-LOW queue-num 1;\n class FC-MEDIUM queue-num 2;\n class FC-REALTIME queue-num 5;\n class FC-SIGNALING queue-num 7;\n }\n}", + "bodyHtml": "
class-of-service {\n    forwarding-classes {\n        class FC-BEST-EFFORT queue-num 0;\n        class FC-CONTROL queue-num 3;\n        class FC-HIGH queue-num 4;\n        class FC-LLQ queue-num 6;\n        class FC-LOW queue-num 1;\n        class FC-MEDIUM queue-num 2;\n        class FC-REALTIME queue-num 5;\n        class FC-SIGNALING queue-num 7;\n    }\n}
", + "bytes": 350, + "lineCount": 12, + "techFamily": "QoS / CoS", + "subfamily": "Cos", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/rewrite-dscp-ipv6", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "rewrite-dscp-ipv6", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-dscp-ipv6.conf", + "topic": "DSCP-IPv6 rewrite rule (RR-DSCP-IPV6) — egress FC-to-DSCP marking for IPv6", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Identical marking logic to RR-DSCP but applied to IPv6 egress", + "Required when inet6 traffic is rewritten separately from inet", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/cos-binding-l3-service.conf", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/cos/classifier-dscp-ipv6.conf (ingress counterpart)", + "id": "low_latency_queueing/junos/cos/classifier-dscp-ipv6", + "note": "ingress counterpart" + }, + { + "raw": "junos/cos/rewrite-dscp.conf (IPv4 counterpart)", + "id": "low_latency_queueing/junos/cos/rewrite-dscp", + "note": "IPv4 counterpart" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n rewrite-rules {\n dscp-ipv6 RR-DSCP-IPV6 {\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-point be;\n loss-priority low code-point be;\n }\n forwarding-class FC-CONTROL {\n loss-priority high code-point cs7;\n loss-priority low code-point cs7;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-point af33;\n loss-priority low code-point af31;\n loss-priority medium-high code-point af32;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-point af43;\n loss-priority low code-point af41;\n loss-priority medium-high code-point af42;\n }\n forwarding-class FC-LOW {\n loss-priority high code-point af13;\n loss-priority low code-point af11;\n loss-priority medium-high code-point af12;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-point af23;\n loss-priority low code-point af21;\n loss-priority medium-high code-point af22;\n }\n forwarding-class FC-REALTIME {\n loss-priority high code-point ef;\n loss-priority low code-point ef;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-point cs5;\n loss-priority low code-point cs6;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    rewrite-rules {\n        dscp-ipv6 RR-DSCP-IPV6 {\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-point be;\n                loss-priority low code-point be;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority high code-point cs7;\n                loss-priority low code-point cs7;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-point af33;\n                loss-priority low code-point af31;\n                loss-priority medium-high code-point af32;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-point af43;\n                loss-priority low code-point af41;\n                loss-priority medium-high code-point af42;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-point af13;\n                loss-priority low code-point af11;\n                loss-priority medium-high code-point af12;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-point af23;\n                loss-priority low code-point af21;\n                loss-priority medium-high code-point af22;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority high code-point ef;\n                loss-priority low code-point ef;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-point cs5;\n                loss-priority low code-point cs6;\n            }\n        }\n    }\n}
", + "bytes": 1580, + "lineCount": 42, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/rewrite-dscp", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "rewrite-dscp", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-dscp.conf", + "topic": "DSCP rewrite rule (RR-DSCP) — egress FC-to-DSCP marking", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Rewrites outgoing DSCP based on FC + loss-priority at egress", + "AF4x codes for FC-LLQ, EF for FC-REALTIME (matches classifier in reverse)", + "Applied on L3 service interface units via cos-binding", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/cos-binding-l3-service.conf", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/cos/rewrite-dscp-ipv6.conf", + "id": "low_latency_queueing/junos/cos/rewrite-dscp-ipv6", + "note": null + }, + { + "raw": "junos/cos/classifier-dscp.conf (ingress counterpart)", + "id": "low_latency_queueing/junos/cos/classifier-dscp", + "note": "ingress counterpart" + }, + { + "raw": "junos/cos/forwarding-classes.conf (FC definitions)", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": "FC definitions" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n rewrite-rules {\n dscp RR-DSCP {\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-point be;\n loss-priority low code-point be;\n }\n forwarding-class FC-CONTROL {\n loss-priority high code-point cs7;\n loss-priority low code-point cs7;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-point af33;\n loss-priority low code-point af31;\n loss-priority medium-high code-point af32;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-point af43;\n loss-priority low code-point af41;\n loss-priority medium-high code-point af42;\n }\n forwarding-class FC-LOW {\n loss-priority high code-point af13;\n loss-priority low code-point af11;\n loss-priority medium-high code-point af12;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-point af23;\n loss-priority low code-point af21;\n loss-priority medium-high code-point af22;\n }\n forwarding-class FC-REALTIME {\n loss-priority high code-point ef;\n loss-priority low code-point ef;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-point cs5;\n loss-priority low code-point cs6;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    rewrite-rules {\n        dscp RR-DSCP {\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-point be;\n                loss-priority low code-point be;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority high code-point cs7;\n                loss-priority low code-point cs7;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-point af33;\n                loss-priority low code-point af31;\n                loss-priority medium-high code-point af32;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-point af43;\n                loss-priority low code-point af41;\n                loss-priority medium-high code-point af42;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-point af13;\n                loss-priority low code-point af11;\n                loss-priority medium-high code-point af12;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-point af23;\n                loss-priority low code-point af21;\n                loss-priority medium-high code-point af22;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority high code-point ef;\n                loss-priority low code-point ef;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-point cs5;\n                loss-priority low code-point cs6;\n            }\n        }\n    }\n}
", + "bytes": 1570, + "lineCount": 42, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/rewrite-exp", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "rewrite-exp", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-exp.conf", + "topic": "MPLS EXP rewrite rule (RR-MPLS) — egress FC-to-EXP marking", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Rewrites outgoing MPLS EXP bits based on FC + loss-priority", + "EXP 4 ← FC-LLQ, EXP 5 ← FC-REALTIME, EXP 6 ← FC-SIGNALING", + "All loss-priority levels map to the same code-point per FC (3 bits cannot encode drop-precedence)", + "Applied on MPLS transport AE interfaces", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/cos-binding-transport.conf", + "id": "low_latency_queueing/junos/cos/cos-binding-transport", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/cos/classifier-exp.conf (ingress counterpart)", + "id": "low_latency_queueing/junos/cos/classifier-exp", + "note": "ingress counterpart" + }, + { + "raw": "junos/cos/forwarding-classes.conf (FC definitions)", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": "FC definitions" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n rewrite-rules {\n exp RR-MPLS {\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-point 000;\n loss-priority low code-point 000;\n }\n forwarding-class FC-CONTROL {\n loss-priority high code-point 111;\n loss-priority low code-point 111;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-point 011;\n loss-priority low code-point 011;\n loss-priority medium-high code-point 011;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-point 100;\n loss-priority low code-point 100;\n loss-priority medium-high code-point 100;\n }\n forwarding-class FC-LOW {\n loss-priority high code-point 001;\n loss-priority low code-point 001;\n loss-priority medium-high code-point 001;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-point 010;\n loss-priority low code-point 010;\n loss-priority medium-high code-point 010;\n }\n forwarding-class FC-REALTIME {\n loss-priority high code-point 101;\n loss-priority low code-point 101;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-point 110;\n loss-priority low code-point 110;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    rewrite-rules {\n        exp RR-MPLS {\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-point 000;\n                loss-priority low code-point 000;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority high code-point 111;\n                loss-priority low code-point 111;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-point 011;\n                loss-priority low code-point 011;\n                loss-priority medium-high code-point 011;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-point 100;\n                loss-priority low code-point 100;\n                loss-priority medium-high code-point 100;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-point 001;\n                loss-priority low code-point 001;\n                loss-priority medium-high code-point 001;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-point 010;\n                loss-priority low code-point 010;\n                loss-priority medium-high code-point 010;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority high code-point 101;\n                loss-priority low code-point 101;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-point 110;\n                loss-priority low code-point 110;\n            }\n        }\n    }\n}
", + "bytes": 1561, + "lineCount": 42, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/rewrite-ieee-802.1", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "rewrite-ieee-802.1", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-ieee-802.1.conf", + "topic": "802.1p rewrite rule (RR-8021P) — egress FC-to-PCP marking", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Rewrites outgoing 802.1p PCP bits based on FC + loss-priority", + "PCP 4 ← FC-LLQ, PCP 5 ← FC-REALTIME, PCP 6 ← FC-SIGNALING", + "All loss-priority levels map to the same code-point per FC", + "Applied on L2 service interfaces (EVPN-VPWS access ports)", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/classifier-ieee-802.1.conf (ingress counterpart)", + "id": "low_latency_queueing/junos/cos/classifier-ieee-802.1", + "note": "ingress counterpart" + }, + { + "raw": "junos/cos/forwarding-classes.conf (FC definitions)", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": "FC definitions" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n rewrite-rules {\n ieee-802.1 RR-8021P {\n forwarding-class FC-BEST-EFFORT {\n loss-priority high code-point 000;\n loss-priority low code-point 000;\n }\n forwarding-class FC-CONTROL {\n loss-priority high code-point 111;\n loss-priority low code-point 111;\n }\n forwarding-class FC-HIGH {\n loss-priority high code-point 011;\n loss-priority low code-point 011;\n loss-priority medium-high code-point 011;\n }\n forwarding-class FC-LLQ {\n loss-priority high code-point 100;\n loss-priority low code-point 100;\n loss-priority medium-high code-point 100;\n }\n forwarding-class FC-LOW {\n loss-priority high code-point 001;\n loss-priority low code-point 001;\n loss-priority medium-high code-point 001;\n }\n forwarding-class FC-MEDIUM {\n loss-priority high code-point 010;\n loss-priority low code-point 010;\n loss-priority medium-high code-point 010;\n }\n forwarding-class FC-REALTIME {\n loss-priority high code-point 101;\n loss-priority low code-point 101;\n }\n forwarding-class FC-SIGNALING {\n loss-priority high code-point 110;\n loss-priority low code-point 110;\n }\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    rewrite-rules {\n        ieee-802.1 RR-8021P {\n            forwarding-class FC-BEST-EFFORT {\n                loss-priority high code-point 000;\n                loss-priority low code-point 000;\n            }\n            forwarding-class FC-CONTROL {\n                loss-priority high code-point 111;\n                loss-priority low code-point 111;\n            }\n            forwarding-class FC-HIGH {\n                loss-priority high code-point 011;\n                loss-priority low code-point 011;\n                loss-priority medium-high code-point 011;\n            }\n            forwarding-class FC-LLQ {\n                loss-priority high code-point 100;\n                loss-priority low code-point 100;\n                loss-priority medium-high code-point 100;\n            }\n            forwarding-class FC-LOW {\n                loss-priority high code-point 001;\n                loss-priority low code-point 001;\n                loss-priority medium-high code-point 001;\n            }\n            forwarding-class FC-MEDIUM {\n                loss-priority high code-point 010;\n                loss-priority low code-point 010;\n                loss-priority medium-high code-point 010;\n            }\n            forwarding-class FC-REALTIME {\n                loss-priority high code-point 101;\n                loss-priority low code-point 101;\n            }\n            forwarding-class FC-SIGNALING {\n                loss-priority high code-point 110;\n                loss-priority low code-point 110;\n            }\n        }\n    }\n}
", + "bytes": 1569, + "lineCount": 42, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/scheduler-map", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "scheduler-map", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/scheduler-map.conf", + "topic": "Scheduler-map binding FCs to schedulers (SM-5G-SCHEDULER)", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Maps all 8 forwarding classes to their corresponding schedulers", + "Referenced by interface CoS bindings (scheduler-map SM-5G-SCHEDULER)", + "The scheduler-map itself is identical across all devices; the underlying scheduler behavior (strict-high) is determined by the scheduler definition, not the map", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/cos-binding-transport.conf", + "id": "low_latency_queueing/junos/cos/cos-binding-transport", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/cos/forwarding-classes.conf (FC definitions)", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": "FC definitions" + }, + { + "raw": "junos/cos/schedulers-strict-high.conf (MX scheduler priorities)", + "id": "low_latency_queueing/junos/cos/schedulers-strict-high", + "note": "MX scheduler priorities" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n scheduler-maps {\n SM-5G-SCHEDULER {\n forwarding-class FC-BEST-EFFORT scheduler SC-BEST-EFFORT;\n forwarding-class FC-CONTROL scheduler SC-CONTROL;\n forwarding-class FC-HIGH scheduler SC-HIGH;\n forwarding-class FC-LLQ scheduler SC-LLQ;\n forwarding-class FC-LOW scheduler SC-LOW;\n forwarding-class FC-MEDIUM scheduler SC-MEDIUM;\n forwarding-class FC-REALTIME scheduler SC-REALTIME;\n forwarding-class FC-SIGNALING scheduler SC-SIGNALING;\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    scheduler-maps {\n        SM-5G-SCHEDULER {\n            forwarding-class FC-BEST-EFFORT scheduler SC-BEST-EFFORT;\n            forwarding-class FC-CONTROL scheduler SC-CONTROL;\n            forwarding-class FC-HIGH scheduler SC-HIGH;\n            forwarding-class FC-LLQ scheduler SC-LLQ;\n            forwarding-class FC-LOW scheduler SC-LOW;\n            forwarding-class FC-MEDIUM scheduler SC-MEDIUM;\n            forwarding-class FC-REALTIME scheduler SC-REALTIME;\n            forwarding-class FC-SIGNALING scheduler SC-SIGNALING;\n        }\n    }\n}
", + "bytes": 569, + "lineCount": 14, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/cos/schedulers-strict-high", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "cos", + "name": "schedulers-strict-high", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/cos/schedulers-strict-high.conf", + "topic": "Scheduler definitions with priority strict-high (MX fallback)", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "SC-LLQ uses `priority strict-high` — MX does not support the ACX `priority low-latency` hardware scheduler; strict-high is the highest available strict priority on this platform", + "SC-SIGNALING uses `priority high` (one tier below strict-high)", + "All other schedulers (rates, buffer-size) are identical to the ACX low-latency variant — only the priority keywords differ", + "Body is byte-identical to the EVO (PTX) sibling", + "MX aggregation routers are transport-only or SAG role in this JVD" + ], + "pairWith": [ + { + "raw": "junos/cos/forwarding-classes.conf (FC definitions these schedulers serve)", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": "FC definitions these schedulers serve" + }, + { + "raw": "junos/cos/scheduler-map.conf (FC → scheduler binding)", + "id": "low_latency_queueing/junos/cos/scheduler-map", + "note": "FC → scheduler binding" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "class-of-service {\n schedulers {\n SC-BEST-EFFORT {\n transmit-rate {\n remainder;\n }\n buffer-size {\n remainder;\n }\n priority low;\n }\n SC-CONTROL {\n shaping-rate percent 5;\n buffer-size percent 5;\n priority high;\n }\n SC-HIGH {\n transmit-rate percent 40;\n buffer-size percent 30;\n priority low;\n }\n SC-LLQ {\n shaping-rate percent 40;\n buffer-size percent 10;\n priority strict-high;\n }\n SC-LOW {\n transmit-rate percent 20;\n priority low;\n }\n SC-MEDIUM {\n transmit-rate percent 30;\n buffer-size percent 20;\n priority low;\n }\n SC-REALTIME {\n shaping-rate percent 30;\n buffer-size percent 20;\n priority medium-high;\n }\n SC-SIGNALING {\n shaping-rate percent 5;\n buffer-size percent 5;\n priority high;\n }\n }\n}", + "bodyHtml": "
class-of-service {\n    schedulers {\n        SC-BEST-EFFORT {\n            transmit-rate {\n                remainder;\n            }\n            buffer-size {\n                remainder;\n            }\n            priority low;\n        }\n        SC-CONTROL {\n            shaping-rate percent 5;\n            buffer-size percent 5;\n            priority high;\n        }\n        SC-HIGH {\n            transmit-rate percent 40;\n            buffer-size percent 30;\n            priority low;\n        }\n        SC-LLQ {\n            shaping-rate percent 40;\n            buffer-size percent 10;\n            priority strict-high;\n        }\n        SC-LOW {\n            transmit-rate percent 20;\n            priority low;\n        }\n        SC-MEDIUM {\n            transmit-rate percent 30;\n            buffer-size percent 20;\n            priority low;\n        }\n        SC-REALTIME {\n            shaping-rate percent 30;\n            buffer-size percent 20;\n            priority medium-high;\n        }\n        SC-SIGNALING {\n            shaping-rate percent 5;\n            buffer-size percent 5;\n            priority high;\n        }\n    }\n}
", + "bytes": 1122, + "lineCount": 47, + "techFamily": "QoS / CoS", + "subfamily": "CoS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/firewall/filter-mfc-ipv4-l3vpn-irb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "firewall", + "name": "filter-mfc-ipv4-l3vpn-irb", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf", + "topic": "Multi-field classifier — IPv4 DSCP-to-FC (L3VPN IRB ingress)", + "seenOn": { + "junos": [ + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Interface-specific filter applied on IRB units (input direction)", + "Overrides CoS classifier: forces FC based on DSCP for traffic entering the L3VPN from a bridged domain", + "cs1 → FC-REALTIME, cs2 → FC-HIGH, cs3 → FC-MEDIUM, cs4 → FC-LOW", + "Default term accepts unmatched traffic (uses CoS classifier instead)", + "Two named variants in the JVD: FF-MFC-IPV4-L3VPN-BD-IRB (bridged-domain IRB) and FF-MFC-IPV4-L3VPN-EVPN-IRB (EVPN IRB) — bodies identical", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/services/evpn-elan-vlan-based-irb.conf", + "id": "low_latency_queueing/junos/services/evpn-elan-vlan-based-irb", + "note": null + }, + { + "raw": "junos/services/l3vpn-irb.conf", + "id": "low_latency_queueing/junos/services/l3vpn-irb", + "note": null + }, + { + "raw": "junos/firewall/filter-mfc-ipv6-l3vpn-irb.conf (IPv6 counterpart)", + "id": "low_latency_queueing/junos/firewall/filter-mfc-ipv6-l3vpn-irb", + "note": "IPv6 counterpart" + }, + { + "raw": "junos/cos/cos-binding-l3-service.conf (CoS binding on L3 units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "CoS binding on L3 units" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "firewall {\n family inet {\n filter {\n interface-specific;\n term fc-realtime {\n from {\n dscp cs1;\n }\n then forwarding-class FC-REALTIME;\n }\n term fc-high {\n from {\n dscp cs2;\n }\n then forwarding-class FC-HIGH;\n }\n term fc-medium {\n from {\n dscp cs3;\n }\n then forwarding-class FC-MEDIUM;\n }\n term fc-low {\n from {\n dscp cs4;\n }\n then forwarding-class FC-LOW;\n }\n term default {\n then accept;\n }\n }\n }\n}", + "bodyHtml": "
firewall {\n    family inet {\n        filter <filter-name> {\n            interface-specific;\n            term fc-realtime {\n                from {\n                    dscp cs1;\n                }\n                then forwarding-class FC-REALTIME;\n            }\n            term fc-high {\n                from {\n                    dscp cs2;\n                }\n                then forwarding-class FC-HIGH;\n            }\n            term fc-medium {\n                from {\n                    dscp cs3;\n                }\n                then forwarding-class FC-MEDIUM;\n            }\n            term fc-low {\n                from {\n                    dscp cs4;\n                }\n                then forwarding-class FC-LOW;\n            }\n            term default {\n                then accept;\n            }\n        }\n    }\n}
", + "bytes": 825, + "lineCount": 34, + "techFamily": "Firewall", + "subfamily": "L3VPN", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/firewall/filter-mfc-ipv6-l3vpn-irb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "firewall", + "name": "filter-mfc-ipv6-l3vpn-irb", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/firewall/filter-mfc-ipv6-l3vpn-irb.conf", + "topic": "Multi-field classifier — IPv6 traffic-class-to-FC (L3VPN IRB ingress)", + "seenOn": { + "junos": [ + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "IPv6 counterpart of filter-mfc-ipv4-l3vpn-irb.conf", + "Uses `traffic-class` (IPv6 traffic class field) instead of `dscp`", + "Same FC assignment: cs1→REALTIME, cs2→HIGH, cs3→MEDIUM, cs4→LOW", + "Interface-specific, applied input on IRB units", + "Two named variants: FF-MFC-IPV6-L3VPN-BD-IRB / FF-MFC-IPV6-L3VPN-EVPN-IRB", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/cos/forwarding-classes.conf", + "id": "low_latency_queueing/junos/cos/forwarding-classes", + "note": null + }, + { + "raw": "junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf (IPv4 counterpart)", + "id": "low_latency_queueing/junos/firewall/filter-mfc-ipv4-l3vpn-irb", + "note": "IPv4 counterpart" + }, + { + "raw": "junos/cos/cos-binding-l3-service.conf (CoS binding on L3 units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "CoS binding on L3 units" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "firewall {\n family inet6 {\n filter {\n interface-specific;\n term fc-realtime {\n from {\n traffic-class cs1;\n }\n then forwarding-class FC-REALTIME;\n }\n term fc-high {\n from {\n traffic-class cs2;\n }\n then forwarding-class FC-HIGH;\n }\n term fc-medium {\n from {\n traffic-class cs3;\n }\n then forwarding-class FC-MEDIUM;\n }\n term fc-low {\n from {\n traffic-class cs4;\n }\n then forwarding-class FC-LOW;\n }\n term default {\n then accept;\n }\n }\n }\n}", + "bodyHtml": "
firewall {\n    family inet6 {\n        filter <filter-name> {\n            interface-specific;\n            term fc-realtime {\n                from {\n                    traffic-class cs1;\n                }\n                then forwarding-class FC-REALTIME;\n            }\n            term fc-high {\n                from {\n                    traffic-class cs2;\n                }\n                then forwarding-class FC-HIGH;\n            }\n            term fc-medium {\n                from {\n                    traffic-class cs3;\n                }\n                then forwarding-class FC-MEDIUM;\n            }\n            term fc-low {\n                from {\n                    traffic-class cs4;\n                }\n                then forwarding-class FC-LOW;\n            }\n            term default {\n                then accept;\n            }\n        }\n    }\n}
", + "bytes": 862, + "lineCount": 34, + "techFamily": "Firewall", + "subfamily": "L3VPN", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/interfaces/vlan-bridge", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "interfaces", + "name": "vlan-bridge", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/interfaces/vlan-bridge.conf", + "topic": "Service sub-interface with vlan-bridge encapsulation", + "seenOn": { + "junos": [ + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Physical interface for single-homed L2/L3 services toward AN", + "flexible-vlan-tagging + flexible-ethernet-services: multi-encap parent", + "vlan-bridge encapsulation: unit is placed into virtual-switch or mac-vrf", + "Used for BGP-VPLS and EVPN-ELAN bridged services", + "No ESI: SAG is single-homed endpoint", + "Hundreds of units per interface (one per service instance)" + ], + "pairWith": [ + { + "raw": "junos/services/bgp-vpls-vsi.conf (virtual-switch service)", + "id": "low_latency_queueing/junos/services/bgp-vpls-vsi", + "note": "virtual-switch service" + }, + { + "raw": "junos/services/evpn-elan-vlan-based-irb.conf (mac-vrf ELAN)", + "id": "low_latency_queueing/junos/services/evpn-elan-vlan-based-irb", + "note": "mac-vrf ELAN" + }, + { + "raw": "junos/cos/cos-binding-l3-service.conf (DSCP on service units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "DSCP on service units" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "interfaces {\n {\n flexible-vlan-tagging;\n encapsulation flexible-ethernet-services;\n /* repeat per BGP-VPLS / ELAN service */\n unit {\n description ;\n encapsulation vlan-bridge;\n vlan-id ;\n }\n }\n}", + "bodyHtml": "
interfaces {\n    <interface> {\n        flexible-vlan-tagging;\n        encapsulation flexible-ethernet-services;\n        /* repeat per BGP-VPLS / ELAN service */\n        unit <unit-number> {\n            description <service-description>;\n            encapsulation vlan-bridge;\n            vlan-id <vlan-id>;\n        }\n    }\n}
", + "bytes": 324, + "lineCount": 12, + "techFamily": "Interfaces", + "subfamily": "Interfaces", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/interfaces/vlan-ccc", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "interfaces", + "name": "vlan-ccc", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/interfaces/vlan-ccc.conf", + "topic": "Service sub-interface with vlan-ccc encapsulation", + "seenOn": { + "junos": [ + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Physical interface for single-homed EVPN-VPWS circuits toward AN", + "flexible-vlan-tagging + flexible-ethernet-services: multi-encap parent", + "vlan-ccc encapsulation: unit carries L2 circuit for EVPN-VPWS", + "family ccc enables circuit cross-connect forwarding", + "No ESI: SAG is single-homed endpoint", + "Hundreds of units per interface (one per service instance)" + ], + "pairWith": [ + { + "raw": "junos/services/evpn-vpws-vlan-based-sh.conf (VPWS single-homed)", + "id": "low_latency_queueing/junos/services/evpn-vpws-vlan-based-sh", + "note": "VPWS single-homed" + }, + { + "raw": "junos/cos/cos-binding-l3-service.conf (DSCP on service units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "DSCP on service units" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "interfaces {\n {\n flexible-vlan-tagging;\n encapsulation flexible-ethernet-services;\n /* repeat per EVPN-VPWS service */\n unit {\n encapsulation vlan-ccc;\n vlan-id ;\n family ccc;\n }\n }\n}", + "bodyHtml": "
interfaces {\n    <interface> {\n        flexible-vlan-tagging;\n        encapsulation flexible-ethernet-services;\n        /* repeat per EVPN-VPWS service */\n        unit <unit-number> {\n            encapsulation vlan-ccc;\n            vlan-id <vlan-id>;\n            family ccc;\n        }\n    }\n}
", + "bytes": 292, + "lineCount": 12, + "techFamily": "Interfaces", + "subfamily": "Interfaces", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/policy/allow-loopback", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "policy", + "name": "allow-loopback", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/policy/allow-loopback.conf", + "topic": "ALLOW_LOOPBACK — rib-group import filter for labeled-unicast", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Permits loopback routes (host routes /32) to be imported from inet.3 to inet.0", + "Used by rib-group inet3-to-inet0 in BGP labeled-unicast", + "Ensures MPLS next-hops resolve via the IGP for service overlays", + "orlonger matches /32 and any more-specific (effectively any host route)", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/transport/bgp-internal.conf (rib-group referencing this policy)", + "id": "low_latency_queueing/junos/transport/bgp-internal", + "note": "rib-group referencing this policy" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "policy-options {\n policy-statement ALLOW_LOOPBACK {\n from {\n route-filter 0.0.0.0/32 orlonger;\n }\n then accept;\n }\n}", + "bodyHtml": "
policy-options {\n    policy-statement ALLOW_LOOPBACK {\n        from {\n            route-filter 0.0.0.0/32 orlonger;\n        }\n        then accept;\n    }\n}
", + "bytes": 154, + "lineCount": 8, + "techFamily": "Policy & Routing", + "subfamily": "Policy", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/policy/next-hop-self", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "policy", + "name": "next-hop-self", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/policy/next-hop-self.conf", + "topic": "next-hop-self BGP export policy", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Forces next-hop-self on all advertised BGP routes", + "Applied as export policy on iBGP groups (transport and service families)", + "Ensures remote peers can resolve next-hop via local IGP", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/transport/bgp-internal.conf (iBGP group referencing this policy)", + "id": "low_latency_queueing/junos/transport/bgp-internal", + "note": "iBGP group referencing this policy" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "policy-options {\n policy-statement next-hop-self {\n then {\n next-hop self;\n accept;\n }\n }\n}", + "bodyHtml": "
policy-options {\n    policy-statement next-hop-self {\n        then {\n            next-hop self;\n            accept;\n        }\n    }\n}
", + "bytes": 133, + "lineCount": 8, + "techFamily": "Policy & Routing", + "subfamily": "Policy", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/policy/pplb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "policy", + "name": "pplb", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/policy/pplb.conf", + "topic": "Per-packet load-balance policy (PPLB)", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Enables per-flow (per-packet) ECMP load-balancing in the forwarding table", + "Applied via routing-options forwarding-table export PPLB", + "Despite the name, modern Junos treats this as per-flow (5-tuple hash)", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/transport/load-balance-pplb.conf (forwarding-table export)", + "id": "low_latency_queueing/junos/transport/load-balance-pplb", + "note": "forwarding-table export" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "policy-options {\n policy-statement PPLB {\n then {\n load-balance per-packet;\n accept;\n }\n }\n}", + "bodyHtml": "
policy-options {\n    policy-statement PPLB {\n        then {\n            load-balance per-packet;\n            accept;\n        }\n    }\n}
", + "bytes": 134, + "lineCount": 8, + "techFamily": "Policy & Routing", + "subfamily": "Policy", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/policy/sr-nonzero-loopbacks", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "policy", + "name": "sr-nonzero-loopbacks", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/policy/sr-nonzero-loopbacks.conf", + "topic": "SR non-zero loopback advertisement (IPv4 + IPv6 prefix-segment)", + "seenOn": { + "junos": [ + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "Advertises additional loopback addresses (beyond lo0.0 primary) into IS-IS with SR prefix-segment indices", + "Allows anycast or per-service loopbacks to be SR-reachable", + "Exported via ISIS export policy (protocols isis export [... SR_NONZERO_...])", + "Index values are per-device; coordinate with SID allocation plan", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/transport/isis-global.conf (ISIS export referencing these policies)", + "id": "low_latency_queueing/junos/transport/isis-global", + "note": "ISIS export referencing these policies" + } + ], + "variables": [], + "jvdServiceMapping": [], + "body": "policy-options {\n policy-statement SR_NONZERO_LOOPBACKS_V4 {\n term t1 {\n from {\n route-filter /32 exact;\n }\n then {\n prefix-segment {\n index ;\n }\n accept;\n }\n }\n }\n policy-statement SR_NONZERO_LOOPBACKS_V6 {\n term t1 {\n from {\n family inet6;\n route-filter /128 exact;\n }\n then {\n prefix-segment {\n index ;\n }\n accept;\n }\n }\n }\n}", + "bodyHtml": "
policy-options {\n    policy-statement SR_NONZERO_LOOPBACKS_V4 {\n        term t1 {\n            from {\n                route-filter <secondary-loopback-v4>/32 exact;\n            }\n            then {\n                prefix-segment {\n                    index <ipv4-secondary-sid-index>;\n                }\n                accept;\n            }\n        }\n    }\n    policy-statement SR_NONZERO_LOOPBACKS_V6 {\n        term t1 {\n            from {\n                family inet6;\n                route-filter <secondary-loopback-v6>/128 exact;\n            }\n            then {\n                prefix-segment {\n                    index <ipv6-secondary-sid-index>;\n                }\n                accept;\n            }\n        }\n    }\n}
", + "bytes": 727, + "lineCount": 29, + "techFamily": "Policy & Routing", + "subfamily": "Policy", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/services/bgp-vpls-vsi", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "services", + "name": "bgp-vpls-vsi", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/services/bgp-vpls-vsi.conf", + "topic": "BGP-VPLS virtual-switch with FAT pseudowire (midhaul L2)", + "seenOn": { + "junos": [ + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "instance-type virtual-switch with BGP-VPLS signaling (RFC 4761)", + "FAT pseudowire via flow-label-transmit / flow-label-receive for entropy-based LAG/ECMP load-balancing on midhaul circuits", + "site / site-identifier for auto-discovery and split-horizon", + "site-range 65534, label-block-size 4 (capacity planning)", + "no-tunnel-services: uses inline MPLS (no tunnel PIC needed)", + "bridge-domains stanza maps VLAN on Junos (vs vlans on EVO)", + "Body structure is byte-identical to the EVO sibling" + ], + "pairWith": [ + { + "raw": "junos/interfaces/vlan-bridge.conf (vlan-bridge access units)", + "id": "low_latency_queueing/junos/interfaces/vlan-bridge", + "note": "vlan-bridge access units" }, { - "raw": "junos/subscriber-management/dp-prod-dhcp-base.conf", - "id": "broadband_edge/junos/subscriber-management/dp-prod-dhcp-base", - "note": null + "raw": "junos/cos/cos-binding-l3-service.conf (DSCP on service units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "DSCP on service units" } ], - "variables": [ - { - "name": "$VRF_LO_UNIT", - "example": "lo0.313 (the lo0 unit anchored in dhcp-subs)" - } + "variables": [], + "jvdServiceMapping": [ + " (no instances found in topology registry)" ], - "jvdServiceMapping": [], - "body": "dynamic-profiles {\n prof_autosense_ipdemux {\n predefined-variable-defaults {\n routing-instances dhcp-subs;\n }\n routing-instances {\n \"$junos-routing-instance\" {\n interface \"$junos-interface-name\";\n routing-options {\n rib inet6.0 {\n access-internal {\n route $junos-subscriber-ipv6-address {\n qualified-next-hop \"$junos-interface-name\";\n }\n }\n }\n access-internal {\n route $junos-subscriber-ip-address {\n qualified-next-hop \"$junos-interface-name\";\n }\n }\n }\n }\n }\n interfaces {\n demux0 {\n unit \"$junos-underlying-interface-unit\" {\n proxy-arp unrestricted;\n family inet {\n mac-validate loose;\n unnumbered-address $VRF_LO_UNIT;\n }\n family inet6 {\n unnumbered-address $VRF_LO_UNIT;\n }\n }\n }\n }\n }\n}", - "bodyHtml": "
dynamic-profiles {\n    prof_autosense_ipdemux {\n        predefined-variable-defaults {\n            routing-instances dhcp-subs;\n        }\n        routing-instances {\n            \"$junos-routing-instance\" {\n                interface \"$junos-interface-name\";\n                routing-options {\n                    rib inet6.0 {\n                        access-internal {\n                            route $junos-subscriber-ipv6-address {\n                                qualified-next-hop \"$junos-interface-name\";\n                            }\n                        }\n                    }\n                    access-internal {\n                        route $junos-subscriber-ip-address {\n                            qualified-next-hop \"$junos-interface-name\";\n                        }\n                    }\n                }\n            }\n        }\n        interfaces {\n            demux0 {\n                unit \"$junos-underlying-interface-unit\" {\n                    proxy-arp unrestricted;\n                    family inet {\n                        mac-validate loose;\n                        unnumbered-address $VRF_LO_UNIT;\n                    }\n                    family inet6 {\n                        unnumbered-address $VRF_LO_UNIT;\n                    }\n                }\n            }\n        }\n    }\n}
", - "bytes": 1313, - "lineCount": 40, - "techFamily": "Subscriber & BNG", - "subfamily": "Dynamic Profiles", + "body": "routing-instances {\n {\n instance-type virtual-switch;\n protocols {\n vpls {\n site {\n site-identifier ;\n }\n site-range 65534;\n label-block-size 4;\n no-tunnel-services;\n flow-label-transmit;\n flow-label-receive;\n }\n }\n description ;\n bridge-domains {\n {\n vlan-id ;\n interface .;\n }\n }\n interface .;\n route-distinguisher :;\n vrf-target target::;\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type virtual-switch;\n        protocols {\n            vpls {\n                site <site-name> {\n                    site-identifier <site-id>;\n                }\n                site-range 65534;\n                label-block-size 4;\n                no-tunnel-services;\n                flow-label-transmit;\n                flow-label-receive;\n            }\n        }\n        description <description>;\n        bridge-domains {\n            <vlan-name> {\n                vlan-id <vlan-id>;\n                interface <interface>.<unit>;\n            }\n        }\n        interface <interface>.<unit>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n    }\n}
", + "bytes": 754, + "lineCount": 27, + "techFamily": "Service Overlay", + "subfamily": "VPLS", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, { - "id": "broadband_edge/junos/subscriber-management/dp-prod-dhcp-base", - "jvd": "broadband_edge", - "jvdLabel": "Broadband Edge", + "id": "low_latency_queueing/junos/services/evpn-elan-vlan-based-irb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", "area": "Service Provider", "os": "Junos", "osKey": "junos", - "category": "subscriber-management", - "name": "dp-prod-dhcp-base", - "path": "service_provider/broadband_edge/configuration/snips/junos/subscriber-management/dp-prod-dhcp-base.conf", - "topic": "Dynamic-profile prod-dhcp-base (DHCPv4 + DHCPv6 demux session base)", + "category": "services", + "name": "evpn-elan-vlan-based-irb", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-elan-vlan-based-irb.conf", + "topic": "EVPN-ELAN VLAN-based with IRB (mac-vrf, anycast gateway)", "seenOn": { "junos": [ - "bng1_mx304", - "bng2_mx204", - "bng3_mx10004", - "bng4_mx480" + "sag_mx304" ], "evo": [] }, "highlights": [ - "Bound to each new DHCP session by the dhcp-local-server config inside the dhcp-subs VRF (l3vpn-dhcp-subs.conf, group dhcp6-ls and dual-stack-group dhcp-ds).", - "Materializes a demux0 unit with: * actual-transit-statistics for per-session counters, * proxy-arp unrestricted, * demux-options underlying-interface bound to the session's ps, * family inet with rpf-check fail-filter rpf-pass-dhcp + demux-source $junos-subscriber-ip-address (so the FIB sees traffic from this exact source IP as legitimate), * family inet6 with rpf-check fail-filter rpf-pass-dhcpv6 + demux-source for v6, * unnumbered-address lo0.313 (the dhcp-subs VRF loopback).", - "routing-options access route adds framed-routes from RADIUS: `route $junos-framed-route-ip-address-prefix metric ...` is the session's downstream subnet, programmed only when present." + "mac-vrf instance with EVPN + IRB for integrated routing and bridging", + "default-gateway no-gateway-community: suppresses type-5 gateway community advertisement (used when IRB is local-only or with VRF)", + "bridge-domains with routing-interface irb.X links L2 to L3", + "The IRB interface is then placed into a VRF for L3VPN reachability", + "service-type vlan-based (one BD per instance)" ], "pairWith": [ { - "raw": "junos/services/l3vpn-dhcp-subs.conf", - "id": "broadband_edge/junos/services/l3vpn-dhcp-subs", - "note": null + "raw": "junos/interfaces/vlan-bridge.conf (vlan-bridge access units)", + "id": "low_latency_queueing/junos/interfaces/vlan-bridge", + "note": "vlan-bridge access units" }, { - "raw": "junos/firewall/rpf-pass-dhcp.conf", - "id": "broadband_edge/junos/firewall/rpf-pass-dhcp", - "note": null + "raw": "junos/services/l3vpn-irb.conf (L3VPN VRF hosting the IRB)", + "id": "low_latency_queueing/junos/services/l3vpn-irb", + "note": "L3VPN VRF hosting the IRB" }, { - "raw": "junos/subscriber-management/dp-autosense-ipdemux.conf", - "id": "broadband_edge/junos/subscriber-management/dp-autosense-ipdemux", - "note": null + "raw": "junos/cos/cos-binding-l3-service.conf (DSCP on IRB units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "DSCP on IRB units" }, { - "raw": "junos/subscriber-management/dp-auto-stacked-pwht-dhcp.conf", - "id": "broadband_edge/junos/subscriber-management/dp-auto-stacked-pwht-dhcp", - "note": null + "raw": "junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf (MFC on IRB input)", + "id": "low_latency_queueing/junos/firewall/filter-mfc-ipv4-l3vpn-irb", + "note": "MFC on IRB input" } ], - "variables": [ - { - "name": "$VRF_LO_UNIT", - "example": "lo0.313" - } + "variables": [], + "jvdServiceMapping": [ + " (no instances found in topology registry)" ], - "jvdServiceMapping": [], - "body": "dynamic-profiles {\n prod-dhcp-base {\n predefined-variable-defaults {\n routing-instances dhcp-subs;\n }\n routing-instances {\n \"$junos-routing-instance\" {\n interface \"$junos-interface-name\";\n routing-options {\n access {\n route $junos-framed-route-ip-address-prefix metric \"$junos-framed-route-cost\";\n }\n }\n }\n }\n interfaces {\n demux0 {\n unit \"$junos-interface-unit\" {\n actual-transit-statistics;\n proxy-arp unrestricted;\n demux-options {\n underlying-interface \"$junos-underlying-interface\";\n }\n family inet {\n rpf-check fail-filter rpf-pass-dhcp;\n demux-source {\n $junos-subscriber-ip-address;\n }\n unnumbered-address $VRF_LO_UNIT;\n }\n family inet6 {\n rpf-check fail-filter rpf-pass-dhcpv6;\n demux-source {\n \"$junos-subscriber-ipv6-address\";\n }\n unnumbered-address $VRF_LO_UNIT;\n }\n }\n }\n }\n }\n}", - "bodyHtml": "
dynamic-profiles {\n    prod-dhcp-base {\n        predefined-variable-defaults {\n            routing-instances dhcp-subs;\n        }\n        routing-instances {\n            \"$junos-routing-instance\" {\n                interface \"$junos-interface-name\";\n                routing-options {\n                    access {\n                        route $junos-framed-route-ip-address-prefix metric \"$junos-framed-route-cost\";\n                    }\n                }\n            }\n        }\n        interfaces {\n            demux0 {\n                unit \"$junos-interface-unit\" {\n                    actual-transit-statistics;\n                    proxy-arp unrestricted;\n                    demux-options {\n                        underlying-interface \"$junos-underlying-interface\";\n                    }\n                    family inet {\n                        rpf-check fail-filter rpf-pass-dhcp;\n                        demux-source {\n                            $junos-subscriber-ip-address;\n                        }\n                        unnumbered-address $VRF_LO_UNIT;\n                    }\n                    family inet6 {\n                        rpf-check fail-filter rpf-pass-dhcpv6;\n                        demux-source {\n                            \"$junos-subscriber-ipv6-address\";\n                        }\n                        unnumbered-address $VRF_LO_UNIT;\n                    }\n                }\n            }\n        }\n    }\n}
", - "bytes": 1443, - "lineCount": 42, - "techFamily": "Subscriber & BNG", - "subfamily": "DHCP / Address Assignment", + "body": "routing-instances {\n {\n instance-type mac-vrf;\n protocols {\n evpn {\n default-gateway no-gateway-community;\n }\n }\n bridge-domains {\n {\n vlan-id ;\n interface .;\n routing-interface irb.;\n }\n }\n service-type vlan-based;\n interface .;\n route-distinguisher :;\n vrf-target target::;\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type mac-vrf;\n        protocols {\n            evpn {\n                default-gateway no-gateway-community;\n            }\n        }\n        bridge-domains {\n            <bridge-domain-name> {\n                vlan-id <vlan-id>;\n                interface <interface>.<unit>;\n                routing-interface irb.<irb-unit>;\n            }\n        }\n        service-type vlan-based;\n        interface <interface>.<unit>;\n        route-distinguisher <rd-value>:<rd-index>;\n        vrf-target target:<rt-value>:<rt-index>;\n    }\n}
", + "bytes": 583, + "lineCount": 21, + "techFamily": "Service Overlay", + "subfamily": "EVPN-ELAN", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, { - "id": "broadband_edge/junos/subscriber-management/dp-prod-pppoe-dt-base", - "jvd": "broadband_edge", - "jvdLabel": "Broadband Edge", + "id": "low_latency_queueing/junos/services/evpn-fxc-vlan-aware", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", "area": "Service Provider", "os": "Junos", "osKey": "junos", - "category": "subscriber-management", - "name": "dp-prod-pppoe-dt-base", - "path": "service_provider/broadband_edge/configuration/snips/junos/subscriber-management/dp-prod-pppoe-dt-base.conf", - "topic": "Dynamic-profile prod-pppoe-dt-base (per-session PPPoE pp0 unit)", + "category": "services", + "name": "evpn-fxc-vlan-aware", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-fxc-vlan-aware.conf", + "topic": "EVPN-VPWS Flexible Cross-Connect (FXC, midhaul)", "seenOn": { "junos": [ - "bng1_mx304", - "bng2_mx204", - "bng3_mx10004", - "bng4_mx480" + "sag_mx304" ], "evo": [] }, "highlights": [ - "Invoked by `family pppoe { dynamic-profile prod-pppoe-dt-base; }` inside auto-stacked-pwht (dp-auto-stacked-pwht-pppoe.conf) once a PPPoE session reaches LCP-up. Materializes a pp0.x unit with the PPPoE/PPP framing wired up.", - "ppp-options mru/mtu 1500 — standard PPP MTU, sized to fit inside the ps interface MTU 2022 with PPPoE/PPP overhead.", - "pppoe-options underlying-interface ties the pp0 to the demux unit on the ps that handed it the session.", - "keepalives interval 30 — LCP echo every 30s for liveness.", - "family inet rpf-check + clear-df-bit output filter (see rpf-pass-dhcp.conf for the filter definition).", - "unnumbered-address from RADIUS-supplied loopback per session (so addresses are RADIUS-attribute-driven, not config-driven).", - "protocols router-advertisement issues the per-session NDRA prefix that came from the IPv6 pool delegation.", - "predefined-variable-defaults sets routing-instances PPPOE_SUBS_1." + "EVPN-VPWS with flexible-cross-connect-vlan-aware for multi-endpoint bundling (two VLANs cross-connected through the same VPWS instance)", + "Two interface/vpws-service-id pairs per instance: each sub-interface gets its own local/remote pseudowire ID within the same RD/RT", + "Used for midhaul circuits where control-plane and user-plane VLANs are paired into a single VPWS FXC instance", + "Body is byte-identical to the EVO sibling" ], "pairWith": [ { - "raw": "junos/subscriber-management/dp-auto-stacked-pwht-pppoe.conf", - "id": "broadband_edge/junos/subscriber-management/dp-auto-stacked-pwht-pppoe", - "note": null - }, - { - "raw": "junos/firewall/rpf-pass-dhcp.conf", - "id": "broadband_edge/junos/firewall/rpf-pass-dhcp", - "note": null + "raw": "junos/interfaces/vlan-ccc.conf (vlan-ccc access units)", + "id": "low_latency_queueing/junos/interfaces/vlan-ccc", + "note": "vlan-ccc access units" }, { - "raw": "junos/services/l3vpn-pppoe-subs.conf", - "id": "broadband_edge/junos/services/l3vpn-pppoe-subs", - "note": null + "raw": "junos/cos/cos-binding-l3-service.conf (DSCP on service units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "DSCP on service units" } ], "variables": [], "jvdServiceMapping": [], - "body": "dynamic-profiles {\n prod-pppoe-dt-base {\n predefined-variable-defaults {\n routing-instances PPPOE_SUBS_1;\n }\n routing-instances {\n \"$junos-routing-instance\" {\n interface \"$junos-interface-name\";\n }\n }\n interfaces {\n pp0 {\n unit \"$junos-interface-unit\" {\n actual-transit-statistics;\n no-traps;\n ppp-options {\n mru 1500;\n mtu 1500;\n }\n pppoe-options {\n underlying-interface \"$junos-underlying-interface\";\n server;\n }\n keepalives interval 30;\n family inet {\n rpf-check;\n filter {\n output clear-df-bit;\n }\n unnumbered-address \"$junos-loopback-interface\";\n }\n family inet6 {\n unnumbered-address \"$junos-loopback-interface\";\n }\n }\n }\n }\n protocols {\n router-advertisement {\n interface \"$junos-interface-name\" {\n prefix $junos-ipv6-ndra-prefix;\n }\n }\n }\n }\n}", - "bodyHtml": "
dynamic-profiles {\n    prod-pppoe-dt-base {\n        predefined-variable-defaults {\n            routing-instances PPPOE_SUBS_1;\n        }\n        routing-instances {\n            \"$junos-routing-instance\" {\n                interface \"$junos-interface-name\";\n            }\n        }\n        interfaces {\n            pp0 {\n                unit \"$junos-interface-unit\" {\n                    actual-transit-statistics;\n                    no-traps;\n                    ppp-options {\n                        mru 1500;\n                        mtu 1500;\n                    }\n                    pppoe-options {\n                        underlying-interface \"$junos-underlying-interface\";\n                        server;\n                    }\n                    keepalives interval 30;\n                    family inet {\n                        rpf-check;\n                        filter {\n                            output clear-df-bit;\n                        }\n                        unnumbered-address \"$junos-loopback-interface\";\n                    }\n                    family inet6 {\n                        unnumbered-address \"$junos-loopback-interface\";\n                    }\n                }\n            }\n        }\n        protocols {\n            router-advertisement {\n                interface \"$junos-interface-name\" {\n                    prefix $junos-ipv6-ndra-prefix;\n                }\n            }\n        }\n    }\n}
", - "bytes": 1427, - "lineCount": 46, - "techFamily": "Subscriber & BNG", - "subfamily": "Subscriber Management", + "body": "routing-instances {\n {\n instance-type evpn-vpws;\n protocols {\n evpn {\n interface . {\n vpws-service-id {\n local ;\n remote ;\n }\n }\n interface . {\n vpws-service-id {\n local ;\n remote ;\n }\n }\n flexible-cross-connect-vlan-aware;\n }\n }\n interface .;\n interface .;\n route-distinguisher :;\n vrf-target target::;\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type evpn-vpws;\n        protocols {\n            evpn {\n                interface <interface-a>.<unit-a> {\n                    vpws-service-id {\n                        local <local-id-a>;\n                        remote <remote-id-a>;\n                    }\n                }\n                interface <interface-b>.<unit-b> {\n                    vpws-service-id {\n                        local <local-id-b>;\n                        remote <remote-id-b>;\n                    }\n                }\n                flexible-cross-connect-vlan-aware;\n            }\n        }\n        interface <interface-a>.<unit-a>;\n        interface <interface-b>.<unit-b>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n    }\n}
", + "bytes": 814, + "lineCount": 26, + "techFamily": "Service Overlay", + "subfamily": "EVPN", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, { - "id": "broadband_edge/junos/subscriber-management/radius-server", - "jvd": "broadband_edge", - "jvdLabel": "Broadband Edge", + "id": "low_latency_queueing/junos/services/evpn-vpws-vlan-based-sh", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", "area": "Service Provider", "os": "Junos", "osKey": "junos", - "category": "subscriber-management", - "name": "radius-server", - "path": "service_provider/broadband_edge/configuration/snips/junos/subscriber-management/radius-server.conf", - "topic": "RADIUS server reachable through the RADIUS L3VPN", + "category": "services", + "name": "evpn-vpws-vlan-based-sh", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-vpws-vlan-based-sh.conf", + "topic": "EVPN-VPWS VLAN-based single-homed (midhaul/backhaul)", "seenOn": { "junos": [ - "bng1_mx304", - "bng2_mx204", - "bng3_mx10004", - "bng4_mx480" + "sag_mx304" ], "evo": [] }, "highlights": [ - "The RADIUS server lives behind cr1 (10.189.189.2). Source-address must be the BNG's loopback INSIDE the RADIUS VRF (192.168.17.17 for bng1) so the reply path resolves through the VRF, not the main routing table.", - "routing-instance RADIUS pins the UDP transport to the VRF.", - "max-outstanding-requests 2000 + retry 3 are JVD-tuned for high BNG churn (fast reconnect bursts).", - "The two `radius-server` blocks (top-level and inside profile vlan-auth-access1) point at the same server with different secrets — one for non-AAA queries, one for the per-profile authentication. Keep them in sync." + "Point-to-point EVPN-VPWS for single-homed AN connections (AN4→SAG)", + "flow-label-transmit-static / flow-label-receive-static enables FAT pseudowire for LAG load-balancing without control-word negotiation", + "vpws-service-id local/remote identifies the pseudowire endpoints", + "Used where AN is single-homed (no ESI) directly to SAG" ], "pairWith": [ { - "raw": "junos/services/l3vpn-radius.conf", - "id": "broadband_edge/junos/services/l3vpn-radius", - "note": null - }, - { - "raw": "junos/policy/vrf-radius-policies.conf", - "id": "broadband_edge/junos/policy/vrf-radius-policies", - "note": null + "raw": "junos/interfaces/vlan-ccc.conf (vlan-ccc access units)", + "id": "low_latency_queueing/junos/interfaces/vlan-ccc", + "note": "vlan-ccc access units" }, { - "raw": "junos/subscriber-management/access-profile-radius.conf", - "id": "broadband_edge/junos/subscriber-management/access-profile-radius", - "note": null + "raw": "junos/cos/cos-binding-l3-service.conf (DSCP binding on associated units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "DSCP binding on associated units" } ], - "variables": [ + "variables": [], + "jvdServiceMapping": [ + " (no instances found in topology registry)" + ], + "body": "routing-instances {\n {\n instance-type evpn-vpws;\n protocols {\n evpn {\n interface . {\n vpws-service-id {\n local ;\n remote ;\n }\n }\n flow-label-transmit-static;\n flow-label-receive-static;\n }\n }\n interface .;\n route-distinguisher :;\n vrf-target target::;\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type evpn-vpws;\n        protocols {\n            evpn {\n                interface <interface>.<unit> {\n                    vpws-service-id {\n                        local <local-id>;\n                        remote <remote-id>;\n                    }\n                }\n                flow-label-transmit-static;\n                flow-label-receive-static;\n            }\n        }\n        interface <interface>.<unit>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n    }\n}
", + "bytes": 577, + "lineCount": 20, + "techFamily": "Service Overlay", + "subfamily": "EVPN-VPWS", + "usecases": [ + "Service Provider" + ], + "parseWarnings": [] + }, + { + "id": "low_latency_queueing/junos/services/l3vpn-irb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", + "area": "Service Provider", + "os": "Junos", + "osKey": "junos", + "category": "services", + "name": "l3vpn-irb", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/services/l3vpn-irb.conf", + "topic": "L3VPN VRF with IRB (anycast gateway, vrf-table-label)", + "seenOn": { + "junos": [ + "sag_mx304" + ], + "evo": [] + }, + "highlights": [ + "instance-type vrf for L3VPN routing", + "IRB interface provides routing for EVPN-ELAN bridge-domains", + "vrf-table-label allocates a single MPLS label for the VRF (simplifies PE-to-PE label allocation)", + "router-id set explicitly per-instance (required for multi-VRF ECMP)", + "On SAG, the mac-vrf ELAN provides L2 bridging with IRB linked to this VRF", + "Body is byte-identical to the EVO sibling" + ], + "pairWith": [ { - "name": "$RADIUS_SERVER_V4", - "example": "10.189.189.2" + "raw": "junos/interfaces/vlan-bridge.conf (vlan-bridge access units)", + "id": "low_latency_queueing/junos/interfaces/vlan-bridge", + "note": "vlan-bridge access units" }, { - "name": "$RADIUS_PORT", - "example": "1812" + "raw": "junos/services/evpn-elan-vlan-based-irb.conf (mac-vrf bridging to this VRF)", + "id": "low_latency_queueing/junos/services/evpn-elan-vlan-based-irb", + "note": "mac-vrf bridging to this VRF" }, { - "name": "$RADIUS_SECRET", - "example": "(Junos $9$-encrypted RADIUS secret)" + "raw": "junos/cos/cos-binding-l3-service.conf (DSCP on service units)", + "id": "low_latency_queueing/junos/cos/cos-binding-l3-service", + "note": "DSCP on service units" }, { - "name": "$RADIUS_SOURCE_V4", - "example": "192.168.17.17" + "raw": "junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf (MFC on IRB input)", + "id": "low_latency_queueing/junos/firewall/filter-mfc-ipv4-l3vpn-irb", + "note": "MFC on IRB input" } ], - "jvdServiceMapping": [], - "body": "access {\n radius-server {\n $RADIUS_SERVER_V4 {\n port $RADIUS_PORT;\n secret $RADIUS_SECRET;\n timeout 10;\n retry 3;\n max-outstanding-requests 2000;\n source-address $RADIUS_SOURCE_V4;\n routing-instance RADIUS;\n }\n }\n}", - "bodyHtml": "
access {\n    radius-server {\n        $RADIUS_SERVER_V4 {\n            port $RADIUS_PORT;\n            secret $RADIUS_SECRET;\n            timeout 10;\n            retry 3;\n            max-outstanding-requests 2000;\n            source-address $RADIUS_SOURCE_V4;\n            routing-instance RADIUS;\n        }\n    }\n}
", - "bytes": 311, + "variables": [], + "jvdServiceMapping": [ + " (no instances found in topology registry)" + ], + "body": "routing-instances {\n {\n instance-type vrf;\n routing-options {\n router-id ;\n }\n description ;\n interface irb.;\n route-distinguisher :;\n vrf-target target::;\n vrf-table-label;\n }\n}", + "bodyHtml": "
routing-instances {\n    <instance-name> {\n        instance-type vrf;\n        routing-options {\n            router-id <router-id>;\n        }\n        description <description>;\n        interface irb.<irb-unit>;\n        route-distinguisher <router-id>:<rd-value>;\n        vrf-target target:<asn>:<rt-value>;\n        vrf-table-label;\n    }\n}
", + "bytes": 337, "lineCount": 13, - "techFamily": "Subscriber & BNG", - "subfamily": "RADIUS", + "techFamily": "Service Overlay", + "subfamily": "L3VPN", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, { - "id": "broadband_edge/junos/subscriber-management/system-services-subscriber-mgmt", - "jvd": "broadband_edge", - "jvdLabel": "Broadband Edge", + "id": "low_latency_queueing/junos/transport/bgp-internal", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", "area": "Service Provider", "os": "Junos", "osKey": "junos", - "category": "subscriber-management", - "name": "system-services-subscriber-mgmt", - "path": "service_provider/broadband_edge/configuration/snips/junos/subscriber-management/system-services-subscriber-mgmt.conf", - "topic": "System services subscriber-management redundancy + ddos-protection autoconf/pppoe", + "category": "transport", + "name": "bgp-internal", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/transport/bgp-internal.conf", + "topic": "BGP internal (iBGP) — labeled-unicast + route-reflector", "seenOn": { "junos": [ - "bng1_mx304", - "bng2_mx204", - "bng3_mx10004", - "bng4_mx480" + "sag_mx304" ], "evo": [] }, "highlights": [ - "subscriber-management { enable; } turns on the BNG personality.", - "subscriber-management redundancy declares the ps interfaces that participate in stateless rapid-reconnect (the BNG-pair model where a session can re-anchor on the partner BNG with a shared key per ps interface). One `interface psN.0 { shared-key ...; }` line per ps unit involved.", - "no-advertise-routes-on-backup keeps the standby BNG from advertising subscriber routes (avoids transient blackholes).", - "route-operation-interval 1 paces route programming during failover.", - "dynamic-profile-options versioning enables in-service updates of dynamic profiles without bouncing live sessions.", - "processes smg-service starts the subscriber-management gateway daemon.", - "ddos-protection limits autoconf and PPPoE PADSE rates to keep a misbehaving access circuit from filling the BNG control plane." + "iBGP with inet/inet6 labeled-unicast for inter-area MPLS connectivity", + "rib-group inet3-to-inet0 installs labeled routes into inet.0 (for next-hop resolution)", + "CR devices act as route-reflectors (cluster-id = own router-id)", + "log-updown + multipath enabled at group or global level", + "export next-hop-self on iBGP peering sessions", + "Body is byte-identical to the EVO sibling" ], "pairWith": [ { - "raw": "junos/bootstrap/chassis-bng.conf", - "id": "broadband_edge/junos/bootstrap/chassis-bng", - "note": null - }, - { - "raw": "junos/interfaces/ps-pseudowire-pppoe.conf", - "id": "broadband_edge/junos/interfaces/ps-pseudowire-pppoe", - "note": null - }, - { - "raw": "junos/interfaces/ps-pseudowire-dhcp-ipoe.conf", - "id": "broadband_edge/junos/interfaces/ps-pseudowire-dhcp-ipoe", - "note": null - } - ], - "variables": [ - { - "name": "$REDUNDANCY_PS_LIST", - "example": "ps11.0..ps20.0 (one interface{} block each)" - }, - { - "name": "$AUTOCONF_BW", - "example": "20000" - }, - { - "name": "$AUTOCONF_BURST", - "example": "20000" + "raw": "junos/policy/next-hop-self.conf (BGP export policy)", + "id": "low_latency_queueing/junos/policy/next-hop-self", + "note": "BGP export policy" }, { - "name": "$PPPOE_PADSE_BW", - "example": "2000" + "raw": "junos/policy/allow-loopback.conf (rib-group import filter)", + "id": "low_latency_queueing/junos/policy/allow-loopback", + "note": "rib-group import filter" }, { - "name": "$PPPOE_PADSE_BURST", - "example": "100" + "raw": "junos/transport/isis-global.conf (underlay providing next-hop reachability)", + "id": "low_latency_queueing/junos/transport/isis-global", + "note": "underlay providing next-hop reachability" } ], + "variables": [], "jvdServiceMapping": [], - "body": "system {\n services {\n subscriber-management {\n enable;\n redundancy {\n interface ps11.0 {\n shared-key ps11-key;\n }\n interface ps12.0 {\n shared-key ps12-key;\n }\n interface ps13.0 {\n shared-key ps13-key;\n }\n interface ps14.0 {\n shared-key ps14-key;\n }\n interface ps15.0 {\n shared-key ps15-key;\n }\n interface ps16.0 {\n shared-key ps16-key;\n }\n interface ps17.0 {\n shared-key ps17-key;\n }\n interface ps18.0 {\n shared-key ps18-key;\n }\n interface ps19.0 {\n shared-key ps19-key;\n }\n interface ps20.0 {\n shared-key ps20-key;\n }\n no-advertise-routes-on-backup;\n route-operation-interval 1;\n }\n }\n }\n dynamic-profile-options {\n versioning;\n }\n processes {\n smg-service;\n }\n ddos-protection {\n protocols {\n autoconf {\n aggregate {\n bandwidth $AUTOCONF_BW;\n burst $AUTOCONF_BURST;\n }\n }\n pppoe {\n padse {\n bandwidth $PPPOE_PADSE_BW;\n burst $PPPOE_PADSE_BURST;\n }\n }\n }\n }\n}", - "bodyHtml": "
system {\n    services {\n        subscriber-management {\n            enable;\n            redundancy {\n                interface ps11.0 {\n                    shared-key ps11-key;\n                }\n                interface ps12.0 {\n                    shared-key ps12-key;\n                }\n                interface ps13.0 {\n                    shared-key ps13-key;\n                }\n                interface ps14.0 {\n                    shared-key ps14-key;\n                }\n                interface ps15.0 {\n                    shared-key ps15-key;\n                }\n                interface ps16.0 {\n                    shared-key ps16-key;\n                }\n                interface ps17.0 {\n                    shared-key ps17-key;\n                }\n                interface ps18.0 {\n                    shared-key ps18-key;\n                }\n                interface ps19.0 {\n                    shared-key ps19-key;\n                }\n                interface ps20.0 {\n                    shared-key ps20-key;\n                }\n                no-advertise-routes-on-backup;\n                route-operation-interval 1;\n            }\n        }\n    }\n    dynamic-profile-options {\n        versioning;\n    }\n    processes {\n        smg-service;\n    }\n    ddos-protection {\n        protocols {\n            autoconf {\n                aggregate {\n                    bandwidth $AUTOCONF_BW;\n                    burst $AUTOCONF_BURST;\n                }\n            }\n            pppoe {\n                padse {\n                    bandwidth $PPPOE_PADSE_BW;\n                    burst $PPPOE_PADSE_BURST;\n                }\n            }\n        }\n    }\n}
", - "bytes": 1659, - "lineCount": 63, - "techFamily": "Subscriber & BNG", - "subfamily": "Subscriber Management", + "body": "protocols {\n bgp {\n group {\n type internal;\n local-address ;\n family inet {\n labeled-unicast {\n rib-group inet3-to-inet0;\n rib {\n inet.3;\n }\n }\n }\n family inet6 {\n labeled-unicast {\n rib {\n inet6.3;\n }\n }\n }\n export next-hop-self;\n neighbor ;\n }\n log-updown;\n multipath;\n }\n}", + "bodyHtml": "
protocols {\n    bgp {\n        group <group-name> {\n            type internal;\n            local-address <loopback-address>;\n            family inet {\n                labeled-unicast {\n                    rib-group inet3-to-inet0;\n                    rib {\n                        inet.3;\n                    }\n                }\n            }\n            family inet6 {\n                labeled-unicast {\n                    rib {\n                        inet6.3;\n                    }\n                }\n            }\n            export next-hop-self;\n            neighbor <peer-address>;\n        }\n        log-updown;\n        multipath;\n    }\n}
", + "bytes": 643, + "lineCount": 27, + "techFamily": "Transport", + "subfamily": "Transport", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, { - "id": "broadband_edge/junos/transport/bgp-overlay-pe-bng", - "jvd": "broadband_edge", - "jvdLabel": "Broadband Edge", + "id": "low_latency_queueing/junos/transport/isis-global", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", "area": "Service Provider", "os": "Junos", "osKey": "junos", "category": "transport", - "name": "bgp-overlay-pe-bng", - "path": "service_provider/broadband_edge/configuration/snips/junos/transport/bgp-overlay-pe-bng.conf", - "topic": "iBGP overlay from BNG PE to core route reflectors (multi-AF)", + "name": "isis-global", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/transport/isis-global.conf", + "topic": "IS-IS global — segment routing, SPF tuning, TI-LFA backup", "seenOn": { "junos": [ - "bng1_mx304", - "bng2_mx204", - "bng3_mx10004", - "bng4_mx480" + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480" ], "evo": [] }, "highlights": [ - "GR-IBGP-CR is the only overlay group on the BNG — it directly peers with the access RRs (agn1, agn2 = 192.168.0.5/.6) AND the core RR (cr1 = 192.168.0.11). The BNG is a leaf in the RR mesh, so it does not set `cluster` or `accept-remote-nexthop`.", - "inet labeled-unicast carries `resolve-vpn` so service routes learned via inet-vpn / inet6-vpn / evpn resolve over the SR-MPLS BGP-LU underlay rather than IGP next-hops. (The AGN/CR variants use `rib { inet.3 }` instead because they're transit reflectors.)", - "inet6 labeled-unicast resolves into inet6.3 (paired with `mpls ipv6-tunneling` for 6PE).", - "family evpn signaling is required for the EVPN-VPWS subscriber services (see services/evpn-vpws-*-bng.conf).", - "export [ PS-PPPOE-SUBSv6 PS-DHCP-SUBSv6 ] re-originates IPv6 subscriber prefixes from the PPPOE_SUBS_1 / dhcp-subs VRFs into inet6 with the BNG's loopback as next-hop, so cr1 can leak them into VRF_Internet (see policy/subscriber-vrf-policies.conf).", - "vpn-apply-export at the bgp { } level is required so the export policies are applied on a per-neighbour basis for VPN AFs.", - "BFD 100ms x 3 for fast peer-down detection." + "Segment Routing: SRGB 16000 + 80000 range, node-segment with IPv4/IPv6 indices", + "explicit-null for penultimate-hop transparency (preserves QoS to egress)", + "Level 2 wide-metrics-only (required for TE and SR)", + "SPF delay 100ms with 5 rapid runs before dampening", + "Backup SPF: TI-LFA with up to 5 labels, uses source-packet-routing", + "Exports SR_NONZERO_LOOPBACKS_V4/V6 for multi-loopback SR advertisement", + "Body is byte-identical to the EVO sibling" ], "pairWith": [ { - "raw": "junos/policy/subscriber-vrf-policies.conf", - "id": "broadband_edge/junos/policy/subscriber-vrf-policies", - "note": null - }, - { - "raw": "junos/services/l3vpn-pppoe-subs.conf", - "id": "broadband_edge/junos/services/l3vpn-pppoe-subs", - "note": null - }, - { - "raw": "junos/services/l3vpn-dhcp-subs.conf", - "id": "broadband_edge/junos/services/l3vpn-dhcp-subs", - "note": null - }, - { - "raw": "junos/services/evpn-vpws-pppoe-bng.conf", - "id": "broadband_edge/junos/services/evpn-vpws-pppoe-bng", + "raw": "junos/policy/sr-nonzero-loopbacks.conf", + "id": "low_latency_queueing/junos/policy/sr-nonzero-loopbacks", "note": null }, { - "raw": "junos/services/evpn-vpws-fxc-bng.conf", - "id": "broadband_edge/junos/services/evpn-vpws-fxc-bng", + "raw": "junos/transport/bgp-internal.conf", + "id": "low_latency_queueing/junos/transport/bgp-internal", "note": null }, { - "raw": "junos/services/evpn-vpws-ipoe-bng.conf", - "id": "broadband_edge/junos/services/evpn-vpws-ipoe-bng", + "raw": "junos/transport/mpls-global.conf", + "id": "low_latency_queueing/junos/transport/mpls-global", "note": null - } - ], - "variables": [ - { - "name": "$LOOPBACK_V4", - "example": "192.168.0.7" }, { - "name": "$RR_AGN1_V4", - "example": "192.168.0.5" - }, - { - "name": "$RR_AGN2_V4", - "example": "192.168.0.6" + "raw": "junos/transport/isis-interface.conf (per-interface config)", + "id": "low_latency_queueing/junos/transport/isis-interface", + "note": "per-interface config" }, { - "name": "$RR_CR_V4", - "example": "192.168.0.11" + "raw": "junos/policy/sr-nonzero-loopbacks.conf (SR prefix-segment export)", + "id": "low_latency_queueing/junos/policy/sr-nonzero-loopbacks", + "note": "SR prefix-segment export" } ], + "variables": [], "jvdServiceMapping": [], - "body": "protocols {\n bgp {\n vpn-apply-export;\n group GR-IBGP-CR {\n type internal;\n local-address $LOOPBACK_V4;\n family inet {\n labeled-unicast {\n resolve-vpn;\n }\n }\n family inet-vpn {\n unicast;\n }\n family inet6 {\n labeled-unicast {\n rib {\n inet6.3;\n }\n }\n }\n family inet6-vpn {\n unicast;\n }\n family evpn {\n signaling;\n }\n export [ PS-PPPOE-SUBSv6 PS-DHCP-SUBSv6 ];\n bfd-liveness-detection {\n minimum-interval 100;\n multiplier 3;\n }\n neighbor $RR_AGN1_V4;\n neighbor $RR_AGN2_V4;\n neighbor $RR_CR_V4;\n }\n }\n}", - "bodyHtml": "
protocols {\n    bgp {\n        vpn-apply-export;\n        group GR-IBGP-CR {\n            type internal;\n            local-address $LOOPBACK_V4;\n            family inet {\n                labeled-unicast {\n                    resolve-vpn;\n                }\n            }\n            family inet-vpn {\n                unicast;\n            }\n            family inet6 {\n                labeled-unicast {\n                    rib {\n                        inet6.3;\n                    }\n                }\n            }\n            family inet6-vpn {\n                unicast;\n            }\n            family evpn {\n                signaling;\n            }\n            export [ PS-PPPOE-SUBSv6 PS-DHCP-SUBSv6 ];\n            bfd-liveness-detection {\n                minimum-interval 100;\n                multiplier 3;\n            }\n            neighbor $RR_AGN1_V4;\n            neighbor $RR_AGN2_V4;\n            neighbor $RR_CR_V4;\n        }\n    }\n}
", - "bytes": 938, - "lineCount": 38, + "body": "protocols {\n isis {\n interface lo0.0 {\n passive;\n }\n source-packet-routing {\n srgb start-label 16000 index-range 80000;\n node-segment {\n ipv4-index ;\n ipv6-index ;\n }\n explicit-null;\n }\n level 2 wide-metrics-only;\n spf-options {\n delay 100;\n rapid-runs 5;\n }\n backup-spf-options {\n use-post-convergence-lfa maximum-labels 5;\n use-source-packet-routing;\n }\n export [ SR_NONZERO_LOOPBACKS_V4 SR_NONZERO_LOOPBACKS_V6 ];\n ignore-attached-bit;\n }\n}", + "bodyHtml": "
protocols {\n    isis {\n        interface lo0.0 {\n            passive;\n        }\n        source-packet-routing {\n            srgb start-label 16000 index-range 80000;\n            node-segment {\n                ipv4-index <ipv4-sid-index>;\n                ipv6-index <ipv6-sid-index>;\n            }\n            explicit-null;\n        }\n        level 2 wide-metrics-only;\n        spf-options {\n            delay 100;\n            rapid-runs 5;\n        }\n        backup-spf-options {\n            use-post-convergence-lfa maximum-labels 5;\n            use-source-packet-routing;\n        }\n        export [ SR_NONZERO_LOOPBACKS_V4 SR_NONZERO_LOOPBACKS_V6 ];\n        ignore-attached-bit;\n    }\n}
", + "bytes": 687, + "lineCount": 26, "techFamily": "Transport", - "subfamily": "BGP Overlay (PE)", + "subfamily": "IS-IS", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, { - "id": "broadband_edge/junos/transport/isis-srmpls-tilfa", - "jvd": "broadband_edge", - "jvdLabel": "Broadband Edge", + "id": "low_latency_queueing/junos/transport/isis-interface", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", "area": "Service Provider", "os": "Junos", "osKey": "junos", "category": "transport", - "name": "isis-srmpls-tilfa", - "path": "service_provider/broadband_edge/configuration/snips/junos/transport/isis-srmpls-tilfa.conf", - "topic": "ISIS L1 with SR-MPLS, TI-LFA node-protection, and microloop avoidance", + "name": "isis-interface", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/transport/isis-interface.conf", + "topic": "IS-IS interface — level 2, TI-LFA, BFD, point-to-point", "seenOn": { "junos": [ - "bng1_mx304", - "bng2_mx204", - "bng3_mx10004", - "bng4_mx480" + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480" ], - "evo": [ - "agn1_acx7100-32c", - "agn2_acx7100-32c", - "an1_acx7024", - "an2_acx7100-48l", - "an3_acx7100-48l", - "an4_acx7100-48l", - "an5_acx7100-48l", - "cr1_ptx10004" - ] + "evo": [] }, "highlights": [ - "Single-area ISIS L1 is used end-to-end on access/aggregation/BNG; cr1 also runs L2 toward the core neighbour (et-0/0/18, ae1) and uses `level 2 wide-metrics-only` plus the stop_leak policy to contain L1 routes inside the metro. Other devices keep `level 2 disable`.", - "Every transport interface enables post-convergence-lfa with a high node-protection cost (16777214) so TI-LFA primary paths win over node-protecting backups when both are available.", - "source-packet-routing explicit-null lights up SR-MPLS using the SRGB defined under `mpls label-range`. Loopback prefix-segments are advertised by PS-ISIS-EXPORT (see policy/isis-export-prefix- segment.conf).", - "microloop-avoidance with a 5s post-convergence delay holds the forwarding update until SPF settles network-wide.", - "backup-spf-options use-source-packet-routing tells ISIS to compute backups using SR labels (not LDP), and maximum-labels 5 caps the TI-LFA repair label stack depth.", - "traffic-engineering l3-unicast-topology + advertisement always populate the TED for SR/RSVP path computation." + "Level-2 only (level 1 disabled) — flat IS-IS domain", + "post-convergence-lfa with node-protection (TI-LFA)", + "BFD liveness-detection: 100ms minimum-interval × 3 multiplier = 300ms detect", + "Point-to-point on all inter-router links (no DIS election)", + "Metric 10 on all links (uniform cost for ECMP)", + "Body is byte-identical to the EVO sibling" ], "pairWith": [ { - "raw": "junos/transport/mpls-segment-routing.conf", - "id": "broadband_edge/junos/transport/mpls-segment-routing", - "note": null - }, - { - "raw": "junos/policy/isis-export-prefix-segment.conf", - "id": "broadband_edge/junos/policy/isis-export-prefix-segment", - "note": null - }, - { - "raw": "junos/interfaces/core-isis-mpls.conf", - "id": "broadband_edge/junos/interfaces/core-isis-mpls", - "note": null - } - ], - "variables": [ - { - "name": "$CORE_INTF", - "example": "et-0/0/2.0 (repeat the interface block per core link)" - }, - { - "name": "$ISIS_LEVEL", - "example": "1 (use 2 on inter-area links such as cr1<->core)" - }, - { - "name": "$L2_KNOB", - "example": "disable (use `wide-metrics-only` on cr1)" + "raw": "junos/transport/isis-global.conf (SR, spf-options, backup-spf-options)", + "id": "low_latency_queueing/junos/transport/isis-global", + "note": "SR, spf-options, backup-spf-options" }, { - "name": "$EXPORT_POLICY", - "example": "PS-ISIS-EXPORT (use `[ PS-ISIS-EXPORT stop_leak ]` on cr1)" + "raw": "junos/transport/mpls-global.conf (MPLS interface enablement)", + "id": "low_latency_queueing/junos/transport/mpls-global", + "note": "MPLS interface enablement" } ], + "variables": [], "jvdServiceMapping": [], - "body": "protocols {\n isis {\n interface $CORE_INTF {\n level $ISIS_LEVEL {\n post-convergence-lfa {\n node-protection cost 16777214;\n }\n }\n point-to-point;\n family inet {\n bfd-liveness-detection {\n minimum-interval 100;\n multiplier 3;\n no-adaptation;\n }\n }\n }\n interface lo0.0 {\n passive;\n }\n source-packet-routing explicit-null;\n level 1 wide-metrics-only;\n level 2 $L2_KNOB;\n spf-options {\n microloop-avoidance {\n post-convergence-path {\n delay 5000;\n }\n }\n multipath {\n weighted one-hop;\n }\n }\n backup-spf-options {\n use-post-convergence-lfa maximum-labels 5;\n use-source-packet-routing;\n }\n traffic-engineering {\n l3-unicast-topology;\n advertisement always;\n }\n export $EXPORT_POLICY;\n }\n}", - "bodyHtml": "
protocols {\n    isis {\n        interface $CORE_INTF {\n            level $ISIS_LEVEL {\n                post-convergence-lfa {\n                    node-protection cost 16777214;\n                }\n            }\n            point-to-point;\n            family inet {\n                bfd-liveness-detection {\n                    minimum-interval 100;\n                    multiplier 3;\n                    no-adaptation;\n                }\n            }\n        }\n        interface lo0.0 {\n            passive;\n        }\n        source-packet-routing explicit-null;\n        level 1 wide-metrics-only;\n        level 2 $L2_KNOB;\n        spf-options {\n            microloop-avoidance {\n                post-convergence-path {\n                    delay 5000;\n                }\n            }\n            multipath {\n                weighted one-hop;\n            }\n        }\n        backup-spf-options {\n            use-post-convergence-lfa maximum-labels 5;\n            use-source-packet-routing;\n        }\n        traffic-engineering {\n            l3-unicast-topology;\n            advertisement always;\n        }\n        export $EXPORT_POLICY;\n    }\n}
", - "bytes": 1139, - "lineCount": 44, + "body": "protocols {\n isis {\n interface .0 {\n level 2 {\n post-convergence-lfa {\n node-protection cost 16777214;\n }\n metric 10;\n }\n level 1 disable;\n point-to-point;\n family inet {\n bfd-liveness-detection {\n minimum-interval 100;\n multiplier 3;\n no-adaptation;\n }\n }\n }\n }\n}", + "bodyHtml": "
protocols {\n    isis {\n        interface <ae-interface>.0 {\n            level 2 {\n                post-convergence-lfa {\n                    node-protection cost 16777214;\n                }\n                metric 10;\n            }\n            level 1 disable;\n            point-to-point;\n            family inet {\n                bfd-liveness-detection {\n                    minimum-interval 100;\n                    multiplier 3;\n                    no-adaptation;\n                }\n            }\n        }\n    }\n}
", + "bytes": 515, + "lineCount": 21, "techFamily": "Transport", - "subfamily": "IS-IS / SR-MPLS", + "subfamily": "IS-IS", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, { - "id": "broadband_edge/junos/transport/mpls-segment-routing", - "jvd": "broadband_edge", - "jvdLabel": "Broadband Edge", + "id": "low_latency_queueing/junos/transport/load-balance-pplb", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", "area": "Service Provider", "os": "Junos", "osKey": "junos", "category": "transport", - "name": "mpls-segment-routing", - "path": "service_provider/broadband_edge/configuration/snips/junos/transport/mpls-segment-routing.conf", - "topic": "MPLS SRGB and IPv6 tunneling for SR-MPLS", + "name": "load-balance-pplb", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/transport/load-balance-pplb.conf", + "topic": "Forwarding-table load-balance + chained-composite-next-hop", "seenOn": { "junos": [ - "bng1_mx304", - "bng2_mx204", - "bng3_mx10004", - "bng4_mx480" + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" ], - "evo": [ - "agn1_acx7100-32c", - "agn2_acx7100-32c", - "an1_acx7024", - "an2_acx7100-48l", - "an3_acx7100-48l", - "an4_acx7100-48l", - "an5_acx7100-48l", - "cr1_ptx10004" - ] + "evo": [] }, "highlights": [ - "srgb-label-range 800000 890000 reserves 90,000 labels for ISIS-SR node-segments. The PS-ISIS-EXPORT policy assigns per-loopback prefix-segment indices that fall inside this range (e.g. 1007 for bng1's IPv4 lo0, 4007 for the v6 lo0).", - "ipv6-tunneling enables 6PE-style IPv6 transport over the IPv4 SR-MPLS underlay so `family inet6 labeled-unicast` BGP routes can resolve in inet6.3.", - "No `protocols mpls interface ...` list is needed — SR-MPLS forwarding is driven entirely by ISIS source-packet-routing on each transport interface (see core-isis-mpls.conf for `family mpls maximum-labels 16`)." + "export PPLB enables per-flow ECMP across equal-cost paths", + "chained-composite-next-hop for EVPN, L3VPN, and L2CKT services enables hierarchical next-hop chains (required for EVPN-VPWS MH)", + "Body is byte-identical to the EVO sibling" ], "pairWith": [ { - "raw": "junos/transport/isis-srmpls-tilfa.conf", - "id": "broadband_edge/junos/transport/isis-srmpls-tilfa", - "note": null - }, - { - "raw": "junos/interfaces/core-isis-mpls.conf", - "id": "broadband_edge/junos/interfaces/core-isis-mpls", - "note": null - }, - { - "raw": "junos/policy/isis-export-prefix-segment.conf", - "id": "broadband_edge/junos/policy/isis-export-prefix-segment", - "note": null - } - ], - "variables": [ - { - "name": "$SRGB_START", - "example": "800000" - }, - { - "name": "$SRGB_END", - "example": "890000" + "raw": "junos/policy/pplb.conf (PPLB policy definition)", + "id": "low_latency_queueing/junos/policy/pplb", + "note": "PPLB policy definition" } ], + "variables": [], "jvdServiceMapping": [], - "body": "protocols {\n mpls {\n label-range {\n srgb-label-range $SRGB_START $SRGB_END;\n }\n ipv6-tunneling;\n }\n}", - "bodyHtml": "
protocols {\n    mpls {\n        label-range {\n            srgb-label-range $SRGB_START $SRGB_END;\n        }\n        ipv6-tunneling;\n    }\n}
", - "bytes": 138, - "lineCount": 8, + "body": "routing-options {\n forwarding-table {\n export PPLB;\n chained-composite-next-hop {\n ingress {\n l2ckt;\n evpn;\n l3vpn;\n }\n }\n }\n}", + "bodyHtml": "
routing-options {\n    forwarding-table {\n        export PPLB;\n        chained-composite-next-hop {\n            ingress {\n                l2ckt;\n                evpn;\n                l3vpn;\n            }\n        }\n    }\n}
", + "bytes": 220, + "lineCount": 12, "techFamily": "Transport", - "subfamily": "SR-MPLS", + "subfamily": "Transport", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, { - "id": "broadband_edge/junos/transport/routing-options-pe", - "jvd": "broadband_edge", - "jvdLabel": "Broadband Edge", + "id": "low_latency_queueing/junos/transport/mpls-global", + "jvd": "low_latency_queueing", + "jvdLabel": "Low Latency Queueing", "area": "Service Provider", "os": "Junos", "osKey": "junos", "category": "transport", - "name": "routing-options-pe", - "path": "service_provider/broadband_edge/configuration/snips/junos/transport/routing-options-pe.conf", - "topic": "PE routing-options (router-id, AS, chained-composite-next-hop, rib-groups)", + "name": "mpls-global", + "path": "service_provider/low_latency_queueing/configuration/snips/junos/transport/mpls-global.conf", + "topic": "MPLS global — PCE-controlled LSPs, TTL, ICMP tunneling, IPv6", "seenOn": { "junos": [ - "bng1_mx304", - "bng2_mx204", - "bng3_mx10004", - "bng4_mx480" + "ag2_1_mx204", + "ag2_2_mx204", + "ag3_1_mx480", + "ag3_2_mx480", + "sag_mx304" ], "evo": [] }, "highlights": [ - "chained-composite-next-hop ingress evpn collapses the EVPN egress label stack into a single composite next-hop entry per remote PE, cutting hardware FIB entries dramatically when many EVPN-VPWS services share the same MPLS path.", - "rib-groups interface_routes leaks IPv6 interface routes from the PPPOE_SUBS_1 VRF rib into inet6.0 so the BNG's main-table v6 forwarding sees them — required because PPPoEv6 sessions auto- create access-internal routes inside the VRF.", - "nonstop-routing keeps the BGP/IS-IS state on standby RE in sync for graceful-switchover (chassis-bng.conf).", - "export PS-PPLB enables per-packet load-balance on the FIB." + "lsp-external-controller pccd (NorthStar/Paragon PCE-initiated LSPs)", + "no-propagate-ttl hides MPLS core hops from traceroute", + "icmp-tunneling enables ICMP error reporting through MPLS tunnels", + "ipv6-tunneling for 6PE/6VPE over MPLS core", + "optimize-timer 180 seconds for CSPF re-optimization", + "Interface list is per-device (all inter-router AE interfaces + lo0)", + "Body is byte-identical to the EVO sibling" ], "pairWith": [ { - "raw": "junos/policy/pplb.conf", - "id": "broadband_edge/junos/policy/pplb", - "note": null - }, - { - "raw": "junos/services/l3vpn-pppoe-subs.conf", - "id": "broadband_edge/junos/services/l3vpn-pppoe-subs", - "note": null - }, - { - "raw": "junos/bootstrap/chassis-bng.conf", - "id": "broadband_edge/junos/bootstrap/chassis-bng", + "raw": "junos/transport/isis-interface.conf", + "id": "low_latency_queueing/junos/transport/isis-interface", "note": null - } - ], - "variables": [ - { - "name": "$ROUTER_ID", - "example": "192.168.0.7" - }, - { - "name": "$LOCAL_AS", - "example": "65001" }, { - "name": "$V6_VRF_RIB", - "example": "PPPOE_SUBS_1.inet6.0" + "raw": "junos/transport/isis-global.conf (SR/ISIS underlay)", + "id": "low_latency_queueing/junos/transport/isis-global", + "note": "SR/ISIS underlay" } ], + "variables": [], "jvdServiceMapping": [], - "body": "routing-options {\n router-id $ROUTER_ID;\n autonomous-system $LOCAL_AS;\n rib-groups {\n interface_routes {\n import-rib [ $V6_VRF_RIB inet6.0 ];\n }\n }\n nonstop-routing;\n forwarding-table {\n export PS-PPLB;\n chained-composite-next-hop {\n ingress {\n evpn;\n }\n }\n }\n}", - "bodyHtml": "
routing-options {\n    router-id $ROUTER_ID;\n    autonomous-system $LOCAL_AS;\n    rib-groups {\n        interface_routes {\n            import-rib [ $V6_VRF_RIB inet6.0 ];\n        }\n    }\n    nonstop-routing;\n    forwarding-table {\n        export PS-PPLB;\n        chained-composite-next-hop {\n            ingress {\n                evpn;\n            }\n        }\n    }\n}
", - "bytes": 365, - "lineCount": 18, + "body": "protocols {\n mpls {\n lsp-external-controller pccd;\n log-updown {\n syslog;\n trap;\n }\n no-propagate-ttl;\n icmp-tunneling;\n optimize-timer 180;\n ipv6-tunneling;\n interface lo0.0;\n interface .0;\n }\n}", + "bodyHtml": "
protocols {\n    mpls {\n        lsp-external-controller pccd;\n        log-updown {\n            syslog;\n            trap;\n        }\n        no-propagate-ttl;\n        icmp-tunneling;\n        optimize-timer 180;\n        ipv6-tunneling;\n        interface lo0.0;\n        interface <ae-interface>.0;\n    }\n}
", + "bytes": 300, + "lineCount": 15, "techFamily": "Transport", - "subfamily": "Routing Options", + "subfamily": "Transport", "usecases": [ - "Service Provider", - "BNG", - "Subscriber Mgmt", - "Metro" + "Service Provider" ], "parseWarnings": [] }, @@ -34108,6 +38416,10 @@ "jvd": "ewan_finance", "markdown": "# Variables Glossary\n\nAll `$VARIABLE` placeholders used across the ewan_finance snip library.\nReplace these with site-specific values when deploying.\n\n## Identifiers & Addressing\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$LOCAL_ADDRESS` | BGP local-address (router-id loopback) | `10.200.50.12` |\n| `$LOCAL_AS` | BGP autonomous system number | `64512` |\n| `$ROUTER_ID_ADDRESS` | Primary loopback IPv4 with /32 mask | `10.200.50.13/32` |\n| `$MGMT_LOOPBACK` | Management loopback address | `10.255.163.148/32` |\n| `$ISO_ADDRESS` | IS-IS/CLNS NET address on lo0 | `47.0005.80ff.f800.0000.0108.0001.0102.5516.3148.00` |\n| `$IPV6_ADDRESS` | Primary IPv6 loopback address | `2001:db8::10:255:163:148/128` |\n| `$IPV4_ADDRESS` | Interface IPv4 address with mask | `10.101.23.2/24` |\n| `$ROUTE_DISTINGUISHER` | BGP route-distinguisher (router-id:id) | `10.200.50.12:61` |\n| `$VRF_TARGET` | VPN route-target community | `target:64512:11` |\n\n## Interfaces & LAG\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$INTERFACE_NAME` | Physical interface name | `et-0/0/0` |\n| `$AE_NAME` | Aggregated Ethernet (LAG) name | `ae0` |\n| `$DESCRIPTION` | Interface description string | `Link to P1Node to WANEdge1` |\n| `$MTU` | Interface MTU value | `1522` |\n| `$CORE_IFACE_1` .. `$CORE_IFACE_4` | Core transport interface.unit | `et-0/0/1.0` |\n| `$UNIT_ID` | Logical interface unit number | `1` |\n| `$VLAN_ID` | 802.1Q VLAN identifier | `1` |\n\n## LAG / ESI\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$ESI_ID` | Ethernet Segment Identifier (10 bytes) | `00:11:11:11:11:11:12:12:12:12` |\n| `$DF_PREFERENCE` | Designated-forwarder election preference | `150` |\n| `$LACP_PRIORITY` | LACP system priority | `100` |\n| `$LACP_SYSTEM_ID` | LACP system-id (must match across ESI peers) | `00:00:00:00:00:10` |\n| `$UNIT_ESI` | Per-unit ESI for per-VLAN DF election | `00:01:71:81:11:12:a1:00:00:01` |\n| `$UNIT_DF_PREFERENCE` | Per-unit DF preference value | `150` |\n\n## IRB\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$FILTER_NAME` | Firewall filter applied on IRB input | `mfc-filter` |\n| `$STATIC_MAC` | Static MAC for deterministic gateway | `00:10:94:00:00:01` |\n\n## Chassis\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$DEVICE_COUNT` | Aggregated Ethernet device-count | `25` |\n| `$FPC_SLOT` | FPC slot number | `0` |\n| `$PIC_SLOT` | PIC slot number | `0` |\n| `$TUNNEL_BW` | Tunnel-services bandwidth | `10g` |\n| `$PORT_ID` | Physical port number | `0` |\n| `$PORT_SPEED` | Port speed setting | `100g` |\n| `$BREAKOUT_PORT_ID` | Port to be broken out | `9` |\n| `$BREAKOUT_SPEED` | Per-lane speed after breakout | `10g` |\n| `$BREAKOUT_SUB_PORTS` | Number of breakout sub-ports | `4` |\n\n## BGP Peers\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$NEIGHBOR_1` .. `$NEIGHBOR_5` | iBGP peer addresses | `10.200.50.13` |\n| `$EXPORT_POLICY` | BGP group export policy list | `[ PS-send-ospf PS-BGP-TO-OSPF ]` |\n| `$CE_NEIGHBOR` | CE/TG BGP peer address | `172.16.1.2` |\n| `$CE_PEER_AS` | CE/TG peer autonomous system | `64513` |\n| `$AP_PEER_AS` | AP router peer AS (for CR VRs) | `64512` |\n| `$AP_NEIGHBOR_1` | AP1 peer address in virtual-router | `10.101.49.1` |\n| `$AP_NEIGHBOR_2` | AP2 peer address in virtual-router | `10.101.79.1` |\n| `$IXIA_PEER_AS` | Traffic generator peer AS | `64521` |\n| `$IXIA_NEIGHBOR` | Traffic generator peer address | `10.101.91.2` |\n\n## MPLS / RSVP\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$P2MP_LSP_NAME` | P2MP LSP template name | `P2MP` |\n| `$LSP_NAME_1` .. `$LSP_NAME_3` | Named unicast LSP | `lsp_to_AP1` |\n| `$LSP_DEST_1` .. `$LSP_DEST_3` | LSP destination (peer loopback) | `10.200.50.14` |\n\n## OSPF / BFD\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$BFD_INTERVAL` | BFD minimum-interval (ms) | `10` |\n| `$BFD_MULTIPLIER` | BFD detect-multiplier | `3` |\n\n## Policy\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$DIRECT_POLICY_NAME` | Direct-route redistribution policy | `PS-ADV_DIRECT` |\n| `$BGP_TO_OSPF_NAME` | BGP-to-OSPF leak policy | `PS-BGP-TO-OSPF` |\n| `$OSPF_TO_BGP_NAME` | OSPF-to-BGP export policy | `PS-send-ospf` |\n| `$MED_LOW_NAME` | Low-MED route-filter policy | `PS-med-10` |\n| `$MED_LOW_PREFIX` | Route-filter prefix for low MED | `10.101.0.0/16` |\n| `$MED_LOW_VALUE` | Low MED metric value | `10` |\n| `$MED_HIGH_NAME` | High-MED catch-all policy | `PS-med-30` |\n| `$MED_HIGH_VALUE` | High MED metric value | `30` |\n| `$EXPORT_POLICIES` | VR BGP export policy list | `[ med-10 med-30 ]` |\n\n## CoS\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$INTERFACE_1` .. `$INTERFACE_4` | CoS-applied interfaces | `et-0/0/1` |\n\n## Firewall\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$MCAST_DEST_PREFIX` | Multicast destination prefix to match | `225.0.0.0/16` |\n| `$FORWARDING_CLASS` | Target forwarding class for match | `FC-LLQ` |\n| `$UNICAST_DEST_1` | Unicast destination for VRF filter | `10.8.21.2/32` |\n| `$UNICAST_DEST_2` | Second unicast destination | `10.9.21.2/32` |\n| `$UNICAST_FWD_CLASS` | Forwarding class for unicast match | `FC-HIGH` |\n\n## Multicast / MVPN\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$RESOLVE_RATE` | Multicast PFE resolve-rate (pps) | `1000` |\n| `$MISMATCH_RATE` | RPF mismatch-rate (pps) | `1000` |\n| `$INSTANCE_NAME` | MVPN/VRF routing-instance name | `MVPN_INSTANCE1` |\n| `$CE_LOCAL_ADDRESS` | MVPN VRF local-address for CE peering | `172.16.1.1` |\n| `$MVPN_RT_IMPORT` | MVPN route-target import | `target:64512:101` |\n| `$MVPN_RT_EXPORT` | MVPN route-target export | `target:64512:101` |\n| `$RP_ADDRESS` | PIM Rendezvous Point address | `10.10.47.101` |\n| `$MCAST_GROUP_RANGE` | PIM multicast group-range prefix | `225.0.0.0/22` |\n| `$IRB_UNIT` | IRB interface bound to MVPN | `irb.1` |\n| `$LO_UNIT` | Loopback unit bound to MVPN | `lo0.1` |\n\n## EVPN\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$BD_NAME` | Bridge-domain name | `BD_EVPN_GROUP1` |\n| `$AE_UNIT` | LAG unit in bridge-domain | `ae0.1` |\n| `$IRB_UNIT` | Routing-interface in bridge-domain | `irb.1` |\n\n## L3VPN / Virtual-Router\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$VRF_NAME` | L3VPN VRF instance name | `VRF21` |\n| `$VR_NAME` | Virtual-router instance name | `VIRTUAL-ROUTER-V1` |\n| `$LOCAL_ADDRESS` | VRF eBGP local-address | `172.16.21.1` |\n| `$IFACE_AP1` | AP1-facing interface in VR | `et-5/0/0.1` |\n| `$IFACE_AP2` | AP2-facing interface in VR | `et-5/0/1.1` |\n| `$IFACE_TG` | Traffic-generator interface in VR | `xe-3/0/6.1` |\n\n## TWAMP / OAM\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$VRF_NAME_1` | TWAMP server VRF name | `MVPN_INSTANCE1` |\n| `$VRF_PORT_1` | TWAMP server port for VRF | `862` |\n| `$GLOBAL_PORT` | TWAMP server global port | `1862` |\n| `$CLIENT_LIST_NAME` | TWAMP client-list ACL name | `CR1_1` |\n| `$CLIENT_ADDRESS` | TWAMP client source address | `10.101.48.2/32` |\n| `$CONNECTION_NAME` | TWAMP client control-connection name | `CR24_1` |\n| `$DEST_PORT` | TWAMP client destination port | `862` |\n| `$ROUTING_INSTANCE` | TWAMP client routing-instance | `VIRTUAL-ROUTER-V1` |\n| `$TARGET_ADDRESS` | TWAMP probe target (server) address | `10.101.49.1` |\n| `$TEST_SESSION_NAME` | TWAMP test-session identifier | `T24_1` |\n| `$PROBE_COUNT` | Probes per test-session iteration | `100` |\n| `$PROBE_INTERVAL` | Probe interval in seconds | `1` |\n\n## VLAN Bridge-Domain (L2 Edge)\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `$VLAN_NAME` | VLAN definition name | `vlan1` |\n| `$LAG_UNIT` | LAG unit in VLAN membership | `ae0.1` |\n| `$ACCESS_UNIT` | Access port unit in VLAN membership | `et-0/0/47.1` |\n" }, + { + "jvd": "low_latency_queueing", + "markdown": "# Template Variables — LLQ Snip Library\n\nVariables used in templatized snip bodies. Replace `` placeholders\nwith site-specific values when deploying.\n\n## Interface & Unit Variables\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | Aggregated Ethernet interface name | `ae11`, `ae26` |\n| `` | Any physical or logical interface | `et-1/0/1`, `ae26`, `xe-0/1/3:2` |\n| `` | Logical unit on the interface | `0`, `101`, `901`, `2501` |\n\n## Addressing & Identity\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | Device router-id (usually primary loopback) | `192.168.1.3` |\n| `` | BGP local-address (loopback for iBGP) | `192.168.1.3` |\n| `` | BGP neighbor address | `192.168.1.9` |\n| `` | Additional loopback for SR advertisement | `192.168.10.3` |\n| `` | IPv6 secondary loopback for SR | `2001:db8::1:1:10:3` |\n\n## Segment Routing\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | SR node-segment IPv4 index (unique per device) | `14` |\n| `` | SR node-segment IPv6 index | `114` |\n| `` | SR prefix-segment index for secondary loopback | `214` |\n| `` | SR prefix-segment index for secondary IPv6 loopback | `314` |\n\n## Service Instance Variables\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | Routing-instance name | `FRONTHAUL-EVPN-VPWS-MH-AN1-1` |\n| `` | Human-readable instance description | `L3VPN-IRB-ANYCAST-GATEWAY-MH-1` |\n| `` | Route-distinguisher numeric suffix | `3401` |\n| `` | RD index (for mac-vrf pattern) | `101` |\n| `` | Route-target numeric suffix | `3401` |\n| `` | RT index (for mac-vrf pattern) | `101` |\n| `` | Autonomous system number | `63535` |\n| `` | VPWS local service-id | `1`, `2` |\n| `` | VPWS remote service-id | `2`, `1` |\n\n## VLAN & Bridge Domain\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | 802.1Q VLAN identifier | `101`, `901`, `2501` |\n| `` | VLAN name in vlans stanza | `vlan201` |\n| `` | Bridge-domain identifier | `BD_EVPN_ELAN_1501` |\n| `` | IRB interface unit number | `101`, `351` |\n\n## LAG & Multi-Homing\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | LACP system-id (shared across AG pair) | `00:00:00:00:00:01` |\n| `` | EVPN ESI (10-byte, per-unit unique) | `00:51:11:11:11:11:11:00:00:01` |\n| `` | Per-unit description string | `FRONTHAUL-EVPN-VPWS-MH-AN1-1` |\n\n## Firewall / MAC Classification\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | Firewall filter name | `FF-MFC-IPV4-L3VPN-BD-IRB` |\n| `` | eCPRI user-plane source MAC | `00:0c:0d:00:00:01` |\n| `` | eCPRI control-plane source MAC | `00:0c:0e:00:00:01` |\n| `` | eCPRI sync source MAC | `00:0c:0f:00:00:01` |\n| `` | PTP/timing destination MAC | `00:0c:22:00:00:01` |\n\n## OAM / CFM\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | Maintenance domain name | `MD_63535` |\n| `` | CFM maintenance-domain level (0-7) | `5` |\n| `` | Maintenance association identifier | `2501` |\n| `` | Local MEP identifier | `1003` |\n| `` | Remote MEP identifier | `1001` |\n\n## BGP Groups\n\n| Variable | Description | Example |\n|----------|-------------|---------|\n| `` | BGP group name | `ibgp_meg_rr`, `ibgp_cr` |\n| `` | BGP-VPLS site name | `r2`, `r11` |\n| `` | BGP-VPLS site-identifier | `1003`, `1011` |\n" + }, { "jvd": "metro_as_a_service", "markdown": "# MaaS snip-library variables\n\nAuto-generated. 49 unique variables across 112 snips.\n\nEach `$VARIABLE` in a snip body is a placeholder that a deployer\nsubstitutes per-instance. Examples below are taken from the source\nJVD configs.\n\n| Variable | Used in | Example |\n|---|---|---|\n| `$AC_INTF` | 65 snip(s) | `et-0/0/13` |\n| `$AC_INTF_1` | 3 snip(s) | `et-0/0/0` |\n| `$AC_INTF_2` | 3 snip(s) | `et-0/0/51` |\n| `$COMM_RT` | 5 snip(s) | `61535:13075` |\n| `$ESI_ID` | 11 snip(s) | `00:81:10:13:10:10:10:00:00:01` |\n| `$ESI_ID_1` | 1 snip(s) | `00:10:44:11:50:12:02:00:00:00` |\n| `$ESI_ID_2` | 1 snip(s) | `00:10:44:11:50:12:01:00:00:00` |\n| `$FILTER_NAME` | 16 snip(s) | `f_port_based_fam_ccc` |\n| `$INPUT_VID` | 9 snip(s) | `3712` |\n| `$INPUT_VID_1` | 1 snip(s) | `3400` |\n| `$INPUT_VID_2` | 1 snip(s) | `3000` |\n| `$INSTANCE_NAME` | 26 snip(s) | `vpls_group_4005` |\n| `$IP_ADDRESS` | 3 snip(s) | `198.51.100.2/27` |\n| `$IRB_UNIT` | 3 snip(s) | `4075` |\n| `$LABEL_BLOCK_SIZE` | 3 snip(s) | `2` |\n| `$LOCAL_VID` | 6 snip(s) | `1` |\n| `$MAC` | 1 snip(s) | `00:01:33:44:11:12` |\n| `$MTU` | 8 snip(s) | `9192` |\n| `$OUTER_VID_TPID` | 3 snip(s) | `0x88a8.4082` |\n| `$POLICY_NAME` | 3 snip(s) | `evpn_group_80_4013` |\n| `$POLICY_NAME_1` | 2 snip(s) | `PS-$VPN_RT_COMM-EXPORT` |\n| `$POLICY_NAME_2` | 2 snip(s) | `PS-$VPN_RT_COMM-IMPORT` |\n| `$PUBLIC_PREFIX` | 2 snip(s) | `203.0.113.0/24` |\n| `$RD` | 23 snip(s) | `10.0.0.18:44444` |\n| `$RD_1` | 3 snip(s) | `10.0.0.6:14075` |\n| `$RD_2` | 3 snip(s) | `61000:13075` |\n| `$REMOTE_SITE_ID` | 4 snip(s) | `1119` |\n| `$REMOTE_VID` | 6 snip(s) | `2` |\n| `$ROUTER_ID` | 3 snip(s) | `10.0.0.6` |\n| `$SITE_ID` | 7 snip(s) | `5` |\n| `$SITE_NAME` | 3 snip(s) | `r18` |\n| `$SITE_RANGE` | 3 snip(s) | `2` |\n| `$UNIT` | 61 snip(s) | `0` |\n| `$UNIT_1` | 10 snip(s) | `4007` |\n| `$UNIT_2` | 10 snip(s) | `4008` |\n| `$VC_ID` | 3 snip(s) | `10120` |\n| `$VC_ID_1` | 1 snip(s) | `2006` |\n| `$VC_ID_2` | 1 snip(s) | `3333` |\n| `$VG_ADDRESS` | 1 snip(s) | `198.51.100.1` |\n| `$VG_MAC` | 1 snip(s) | `00:01:33:44:11:11` |\n| `$VLAN` | 28 snip(s) | `4075` |\n| `$VLAN_1` | 3 snip(s) | `4007` |\n| `$VLAN_2` | 3 snip(s) | `4008` |\n| `$VLAN_LIST_END` | 3 snip(s) | `4014` |\n| `$VLAN_LIST_START` | 3 snip(s) | `4013` |\n| `$VPN_RT_COMM` | 5 snip(s) | `METRO_L3VPN_4075` |\n| `$VRF_TARGET` | 23 snip(s) | `64535:44444` |\n| `$VRF_TARGET_1` | 1 snip(s) | `61535:14075` |\n| `$VRF_TARGET_2` | 1 snip(s) | `61535:13075` |\n" diff --git a/service_provider/low_latency_queueing/configuration/snips/README.md b/service_provider/low_latency_queueing/configuration/snips/README.md new file mode 100644 index 0000000..6c227aa --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/README.md @@ -0,0 +1,66 @@ +# Snip Library — 5G xHaul Low-Latency QoS + +Reusable configuration snippets extracted from the +[Low-Latency Queueing JVD](../../README.md). + +## What's Here + +| Category | EVO Snips | Junos Snips | Description | +|----------|-----------|-------------|-------------| +| **cos** | 17 | 12 | Forwarding-classes, classifiers, schedulers, rewrites, interface bindings | +| **firewall** | 3 | 2 | Multi-field classifiers (DSCP→FC, eCPRI MAC→FC) | +| **transport** | 6 | 5 | IS-IS, MPLS, BGP labeled-unicast, ECMP hashing | +| **services** | 4 | 4 | EVPN-VPWS, EVPN-ELAN, BGP-VPLS, L3VPN | +| **policy** | 4 | 4 | PPLB, ALLOW_LOOPBACK, SR loopbacks, next-hop-self | +| **interfaces** | 1 | — | LAG with ESI for EVPN multi-homing | +| **oam** | 1 | — | CFM maintenance-domain (802.1ag) | +| **Total** | **36** | **27** | **63 snips** | + +## Key Differentiator: Priority Low-Latency + +The headline feature of this JVD is the ACX-specific `priority low-latency` +hardware scheduler (`evo/cos/schedulers-low-latency.conf`). This provides +sub-10µs per-hop latency guarantees for eCPRI fronthaul traffic under +congestion — not available on MX or PTX platforms. + +**Scheduler variant split:** +- **ACX (AG/AN):** `SC-LLQ priority low-latency` — hardware LLQ +- **PTX (Core):** `SC-LLQ priority strict-high` — best-available fallback +- **MX (Junos):** `SC-LLQ priority strict-high` — same as PTX + +## OS Variants + +Snips are filed under `evo/` or `junos/` based on the target OS: + +- **EVO** (Evolved Junos): ACX7509, ACX7100-32C, ACX7100-48L, ACX7024, PTX10001-36MR +- **Junos** (Classic): MX204, MX480, MX304 + +Many CoS/transport/policy snips are byte-identical across OS variants +(noted in headers). The split exists for accurate `Seen on:` tracking +and platform-specific scheduler behavior. + +## Device Role Mapping + +| Role | Devices | Notable Snips | +|------|---------|---------------| +| Access Node | AN1 (ACX7100-48L), AN3 (ACX7100-48L), AN4 (ACX7024) | LLQ scheduler, eCPRI filter, EVPN-VPWS-MH, LAG-ESI | +| Aggregation HSR | AG1-1 (ACX7509), AG1-2 (ACX7100-32C) | All categories, MFC filters, CFM OAM | +| Aggregation Transport | AG2 (MX204×2), AG3 (MX480×2) | CoS + transport only (no services) | +| Core Router | CR1, CR2 (PTX10001-36MR) | strict-high scheduler, EXP binding, transport | +| Services Aggregation GW | SAG (MX304) | EVPN-ELAN-IRB, VPWS-SH, BGP-VPLS, MFC, L3VPN | + +## Template Variables + +See [`_variables.md`](_variables.md) for the complete variable reference. +Placeholders use `` syntax in snip bodies. + +## Using These Snips + +1. Choose the OS variant matching your target platform +2. Replace `` placeholders with site values +3. Combine snips by following `Pair with:` references in headers +4. Apply CoS binding snips last (they reference schedulers + classifiers) + +## Files + +- [`_variables.md`](_variables.md) — template variable reference diff --git a/service_provider/low_latency_queueing/configuration/snips/_variables.md b/service_provider/low_latency_queueing/configuration/snips/_variables.md new file mode 100644 index 0000000..7a2d8a1 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/_variables.md @@ -0,0 +1,90 @@ +# Template Variables — LLQ Snip Library + +Variables used in templatized snip bodies. Replace `` placeholders +with site-specific values when deploying. + +## Interface & Unit Variables + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | Aggregated Ethernet interface name | `ae11`, `ae26` | +| `` | Any physical or logical interface | `et-1/0/1`, `ae26`, `xe-0/1/3:2` | +| `` | Logical unit on the interface | `0`, `101`, `901`, `2501` | + +## Addressing & Identity + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | Device router-id (usually primary loopback) | `192.168.1.3` | +| `` | BGP local-address (loopback for iBGP) | `192.168.1.3` | +| `` | BGP neighbor address | `192.168.1.9` | +| `` | Additional loopback for SR advertisement | `192.168.10.3` | +| `` | IPv6 secondary loopback for SR | `2001:db8::1:1:10:3` | + +## Segment Routing + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | SR node-segment IPv4 index (unique per device) | `14` | +| `` | SR node-segment IPv6 index | `114` | +| `` | SR prefix-segment index for secondary loopback | `214` | +| `` | SR prefix-segment index for secondary IPv6 loopback | `314` | + +## Service Instance Variables + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | Routing-instance name | `FRONTHAUL-EVPN-VPWS-MH-AN1-1` | +| `` | Human-readable instance description | `L3VPN-IRB-ANYCAST-GATEWAY-MH-1` | +| `` | Route-distinguisher numeric suffix | `3401` | +| `` | RD index (for mac-vrf pattern) | `101` | +| `` | Route-target numeric suffix | `3401` | +| `` | RT index (for mac-vrf pattern) | `101` | +| `` | Autonomous system number | `63535` | +| `` | VPWS local service-id | `1`, `2` | +| `` | VPWS remote service-id | `2`, `1` | + +## VLAN & Bridge Domain + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | 802.1Q VLAN identifier | `101`, `901`, `2501` | +| `` | VLAN name in vlans stanza | `vlan201` | +| `` | Bridge-domain identifier | `BD_EVPN_ELAN_1501` | +| `` | IRB interface unit number | `101`, `351` | + +## LAG & Multi-Homing + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | LACP system-id (shared across AG pair) | `00:00:00:00:00:01` | +| `` | EVPN ESI (10-byte, per-unit unique) | `00:51:11:11:11:11:11:00:00:01` | +| `` | Per-unit description string | `FRONTHAUL-EVPN-VPWS-MH-AN1-1` | + +## Firewall / MAC Classification + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | Firewall filter name | `FF-MFC-IPV4-L3VPN-BD-IRB` | +| `` | eCPRI user-plane source MAC | `00:0c:0d:00:00:01` | +| `` | eCPRI control-plane source MAC | `00:0c:0e:00:00:01` | +| `` | eCPRI sync source MAC | `00:0c:0f:00:00:01` | +| `` | PTP/timing destination MAC | `00:0c:22:00:00:01` | + +## OAM / CFM + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | Maintenance domain name | `MD_63535` | +| `` | CFM maintenance-domain level (0-7) | `5` | +| `` | Maintenance association identifier | `2501` | +| `` | Local MEP identifier | `1003` | +| `` | Remote MEP identifier | `1001` | + +## BGP Groups + +| Variable | Description | Example | +|----------|-------------|---------| +| `` | BGP group name | `ibgp_meg_rr`, `ibgp_cr` | +| `` | BGP-VPLS site name | `r2`, `r11` | +| `` | BGP-VPLS site-identifier | `1003`, `1011` | diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-dscp-ipv6.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-dscp-ipv6.conf new file mode 100644 index 0000000..54f34df --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-dscp-ipv6.conf @@ -0,0 +1,60 @@ +/* + * Topic: DSCP-IPv6 classifier (CL-DSCP-IPV6) — ingress IPv6 packet-to-FC mapping + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Identical classification logic to CL-DSCP but applied to IPv6 traffic + * - Required when inet6 traffic is classified separately from inet + * - Applied to L3 service interfaces alongside CL-DSCP + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/cos-binding-l3-service.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/classifier-dscp.conf (IPv4 counterpart) + * - evo/cos/rewrite-dscp-ipv6.conf (egress IPv6 FC → DSCP marking) + */ + +class-of-service { + classifiers { + dscp-ipv6 CL-DSCP-IPV6 { + import default; + forwarding-class FC-BEST-EFFORT { + loss-priority high code-points be; + } + forwarding-class FC-CONTROL { + loss-priority low code-points cs7; + } + forwarding-class FC-HIGH { + loss-priority high code-points af33; + loss-priority low code-points [ cs3 af31 ]; + loss-priority medium-high code-points af32; + } + forwarding-class FC-LLQ { + loss-priority high code-points af43; + loss-priority low code-points [ cs4 af41 ]; + loss-priority medium-high code-points af42; + } + forwarding-class FC-LOW { + loss-priority high code-points af13; + loss-priority low code-points [ cs1 af11 ]; + loss-priority medium-high code-points af12; + } + forwarding-class FC-MEDIUM { + loss-priority high code-points af23; + loss-priority low code-points [ cs2 af21 ]; + loss-priority medium-high code-points af22; + } + forwarding-class FC-REALTIME { + loss-priority low code-points ef; + } + forwarding-class FC-SIGNALING { + loss-priority high code-points cs5; + loss-priority low code-points cs6; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-dscp.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-dscp.conf new file mode 100644 index 0000000..3025818 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-dscp.conf @@ -0,0 +1,63 @@ +/* + * Topic: DSCP classifier (CL-DSCP) — ingress packet-to-FC mapping + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - AF per-hop behavior: AF4x → FC-LLQ, AF3x → FC-HIGH, AF2x → FC-MEDIUM, + * AF1x → FC-LOW, EF → FC-REALTIME, CS6/CS7 → FC-SIGNALING/CONTROL + * - 3-level loss-priority (low/medium-high/high) for AFxy drop-precedence + * - import default covers unmapped code-points → FC-BEST-EFFORT + * - Applied to L3 service interfaces via interface cos-binding + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/classifier-dscp-ipv6.conf + * - evo/cos/cos-binding-l3-service.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/forwarding-classes.conf (FC queue-num definitions) + * - evo/cos/rewrite-dscp.conf (egress FC → DSCP marking) + */ + +class-of-service { + classifiers { + dscp CL-DSCP { + import default; + forwarding-class FC-BEST-EFFORT { + loss-priority high code-points be; + } + forwarding-class FC-CONTROL { + loss-priority low code-points cs7; + } + forwarding-class FC-HIGH { + loss-priority high code-points af33; + loss-priority low code-points [ cs3 af31 ]; + loss-priority medium-high code-points af32; + } + forwarding-class FC-LLQ { + loss-priority high code-points af43; + loss-priority low code-points [ cs4 af41 ]; + loss-priority medium-high code-points af42; + } + forwarding-class FC-LOW { + loss-priority high code-points af13; + loss-priority low code-points [ cs1 af11 ]; + loss-priority medium-high code-points af12; + } + forwarding-class FC-MEDIUM { + loss-priority high code-points af23; + loss-priority low code-points [ cs2 af21 ]; + loss-priority medium-high code-points af22; + } + forwarding-class FC-REALTIME { + loss-priority low code-points ef; + } + forwarding-class FC-SIGNALING { + loss-priority high code-points cs5; + loss-priority low code-points cs6; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-exp.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-exp.conf new file mode 100644 index 0000000..7b44488 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-exp.conf @@ -0,0 +1,52 @@ +/* + * Topic: MPLS EXP classifier (CL-MPLS) — ingress MPLS-to-FC mapping + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Maps 3-bit MPLS EXP field to 8 forwarding classes + * - EXP 4 → FC-LLQ, EXP 5 → FC-REALTIME, EXP 6 → FC-SIGNALING + * - Applied on MPLS transport interfaces (ae units with family mpls) + * - All loss-priority = low (EXP has no drop-precedence encoding) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/cos-binding-transport.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/forwarding-classes.conf (FC queue-num definitions) + * - evo/cos/rewrite-exp.conf (egress FC → EXP marking) + */ + +class-of-service { + classifiers { + exp CL-MPLS { + import default; + forwarding-class FC-BEST-EFFORT { + loss-priority low code-points 000; + } + forwarding-class FC-CONTROL { + loss-priority low code-points 111; + } + forwarding-class FC-HIGH { + loss-priority low code-points 011; + } + forwarding-class FC-LLQ { + loss-priority low code-points 100; + } + forwarding-class FC-LOW { + loss-priority low code-points 001; + } + forwarding-class FC-MEDIUM { + loss-priority low code-points 010; + } + forwarding-class FC-REALTIME { + loss-priority low code-points 101; + } + forwarding-class FC-SIGNALING { + loss-priority low code-points 110; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-ieee-802.1.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-ieee-802.1.conf new file mode 100644 index 0000000..1f4e117 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/classifier-ieee-802.1.conf @@ -0,0 +1,52 @@ +/* + * Topic: 802.1p classifier (CL-8021P) — ingress VLAN-tag-to-FC mapping + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Maps 3-bit 802.1p PCP field to 8 forwarding classes + * - PCP 4 → FC-LLQ, PCP 5 → FC-REALTIME, PCP 6 → FC-SIGNALING + * - Applied on L2 access/trunk interfaces (EVPN-VPWS, ELAN) + * - All loss-priority = low (PCP has no drop-precedence encoding) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/cos-binding-l2-fronthaul.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/forwarding-classes.conf (FC queue-num definitions) + * - evo/cos/rewrite-ieee-802.1.conf (egress FC → PCP marking) + */ + +class-of-service { + classifiers { + ieee-802.1 CL-8021P { + import default; + forwarding-class FC-BEST-EFFORT { + loss-priority low code-points 000; + } + forwarding-class FC-CONTROL { + loss-priority low code-points 111; + } + forwarding-class FC-HIGH { + loss-priority low code-points 011; + } + forwarding-class FC-LLQ { + loss-priority low code-points 100; + } + forwarding-class FC-LOW { + loss-priority low code-points 001; + } + forwarding-class FC-MEDIUM { + loss-priority low code-points 010; + } + forwarding-class FC-REALTIME { + loss-priority low code-points 101; + } + forwarding-class FC-SIGNALING { + loss-priority low code-points 110; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-irb.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-irb.conf new file mode 100644 index 0000000..5465f02 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-irb.conf @@ -0,0 +1,40 @@ +/* + * Topic: CoS interface binding — IRB with static FC-REALTIME + DSCP rewrite + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Static forwarding-class FC-REALTIME for IRB units — guarantees strict + * priority queuing for routed traffic on EVPN-ELAN IRB interfaces + * - DSCP rewrite ensures L3-routed packets leaving the IRB carry correct + * DSCP marking (EF for realtime) into the L3VPN domain + * - Used on IRB units associated with EVPN-ELAN + IRB services where + * the bridge domain carries time-sensitive traffic + * + * Pair with: + * - evo/cos/forwarding-classes.conf + * - evo/cos/scheduler-map.conf + * - evo/firewall/filter-mfc-ipv4-l3vpn-irb.conf + * - evo/firewall/filter-mfc-ipv6-l3vpn-irb.conf + * - evo/services/l3vpn-irb.conf + * - evo/cos/forwarding-classes.conf (FC-REALTIME definition) + * - evo/cos/rewrite-dscp.conf (RR-DSCP definition) + * - evo/cos/rewrite-dscp-ipv6.conf (RR-DSCP-IPV6 definition) + */ + +class-of-service { + interfaces { + { + scheduler-map SM-5G-SCHEDULER; + unit { + forwarding-class FC-REALTIME; + rewrite-rules { + dscp RR-DSCP; + dscp-ipv6 RR-DSCP-IPV6; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l2-fronthaul-static.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l2-fronthaul-static.conf new file mode 100644 index 0000000..dfbe6e5 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l2-fronthaul-static.conf @@ -0,0 +1,39 @@ +/* + * Topic: CoS interface binding — L2 fronthaul with static FC-LLQ (guaranteed low-latency) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Static forwarding-class FC-LLQ forces ALL traffic on this unit into + * the low-latency queue regardless of packet marking + * - Paired with 802.1p rewrite so downstream L2 devices see correct PCP + * - Used on dedicated eCPRI fronthaul units where classification is + * unnecessary (all traffic is fronthaul by VLAN assignment) + * - The key differentiator from cos-binding-l2-fronthaul.conf: this + * variant bypasses classification entirely for deterministic queuing + * + * Pair with: + * - evo/cos/forwarding-classes.conf + * - evo/cos/scheduler-map.conf + * - evo/firewall/filter-mf-ecpri-fronthaul.conf + * - evo/services/evpn-vpws-vlan-based-mh.conf + * - evo/cos/forwarding-classes.conf (FC-LLQ definition) + * - evo/cos/rewrite-ieee-802.1.conf (RR-8021P definition) + * - evo/cos/schedulers-low-latency.conf (SC-LLQ with priority low-latency) + */ + +class-of-service { + interfaces { + { + scheduler-map SM-5G-SCHEDULER; + unit { + forwarding-class FC-LLQ; + rewrite-rules { + ieee-802.1 RR-8021P; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l2-fronthaul.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l2-fronthaul.conf new file mode 100644 index 0000000..a3a698a --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l2-fronthaul.conf @@ -0,0 +1,39 @@ +/* + * Topic: CoS interface binding — L2 fronthaul with 802.1p classification + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Per-unit 802.1p PCP classification and rewrite (CL-8021P / RR-8021P) + * - Applied to EVPN-VPWS/ELAN L2 service units carrying eCPRI fronthaul + * - PCP bits classify directly into FC-LLQ (PCP 4) for low-latency queuing + * - No static FC — relies on dynamic 802.1p classification from DU tagging + * - Compare with cos-binding-l2-fronthaul-static.conf where FC is pinned + * + * Pair with: + * - evo/cos/scheduler-map.conf + * - evo/interfaces/lag-esi.conf + * - evo/oam/cfm-maintenance-domain.conf + * - evo/services/bgp-vpls-vsi.conf + * - evo/services/evpn-elan-vlan-based.conf + * - evo/cos/classifier-ieee-802.1.conf (CL-8021P definition) + * - evo/cos/rewrite-ieee-802.1.conf (RR-8021P definition) + */ + +class-of-service { + interfaces { + { + scheduler-map SM-5G-SCHEDULER; + unit { + classifiers { + ieee-802.1 CL-8021P; + } + rewrite-rules { + ieee-802.1 RR-8021P; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l3-service.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l3-service.conf new file mode 100644 index 0000000..30a2818 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-l3-service.conf @@ -0,0 +1,39 @@ +/* + * Topic: CoS interface binding — L3 service (DSCP classifier + rewrite per unit) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Per-unit DSCP + DSCP-IPv6 classification and rewrite + * - No static forwarding-class — traffic is classified dynamically + * - Applied to L3VPN service units (inet/inet6 traffic) + * - Scheduler-map is applied at the interface level (not shown per-unit) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/scheduler-map.conf + * - evo/cos/classifier-dscp.conf (CL-DSCP definition) + * - evo/cos/classifier-dscp-ipv6.conf (CL-DSCP-IPV6 definition) + * - evo/cos/rewrite-dscp.conf (RR-DSCP definition) + * - evo/cos/rewrite-dscp-ipv6.conf (RR-DSCP-IPV6 definition) + */ + +class-of-service { + interfaces { + { + scheduler-map SM-5G-SCHEDULER; + unit { + classifiers { + dscp CL-DSCP; + dscp-ipv6 CL-DSCP-IPV6; + } + rewrite-rules { + dscp RR-DSCP; + dscp-ipv6 RR-DSCP-IPV6; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-transport.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-transport.conf new file mode 100644 index 0000000..a2a4e45 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/cos-binding-transport.conf @@ -0,0 +1,34 @@ +/* + * Topic: CoS interface binding — MPLS transport (EXP classifier + rewrite) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Applies scheduler-map SM-5G-SCHEDULER at interface level + * - Classifies inbound MPLS traffic via EXP bits (CL-MPLS) + * - Rewrites outbound EXP bits (RR-MPLS) to preserve QoS marking + * - Applied on ae interface unit 0 (transport backbone links) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/classifier-exp.conf (CL-MPLS definition) + * - evo/cos/rewrite-exp.conf (RR-MPLS definition) + * - evo/cos/scheduler-map.conf (SM-5G-SCHEDULER definition) + */ + +class-of-service { + interfaces { + { + scheduler-map SM-5G-SCHEDULER; + unit 0 { + classifiers { + exp CL-MPLS; + } + rewrite-rules { + exp RR-MPLS; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/forwarding-classes.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/forwarding-classes.conf new file mode 100644 index 0000000..36f02ee --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/forwarding-classes.conf @@ -0,0 +1,41 @@ +/* + * Topic: 8-class forwarding-class model (O-RAN multi-priority alignment) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - 8 forwarding classes aligned to O-RAN multi-priority queuing model + * - FC-LLQ (queue 6) is the low-latency queue for eCPRI/fronthaul + * - FC-REALTIME (queue 5) for strict priority real-time flows (PTP, sync) + * - FC-SIGNALING (queue 7) for control-plane signaling + * - Queue numbering is consistent across all platforms in this JVD + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/classifier-dscp.conf + * - evo/cos/classifier-exp.conf + * - evo/cos/classifier-ieee-802.1.conf + * - evo/cos/cos-binding-irb.conf + * - evo/cos/cos-binding-l2-fronthaul-static.conf + * - evo/cos/rewrite-dscp.conf + * - evo/cos/rewrite-exp.conf + * - evo/cos/rewrite-ieee-802.1.conf + * - evo/cos/schedulers-low-latency.conf (ACX: LLQ with priority low-latency) + * - evo/cos/schedulers-strict-high.conf (PTX: LLQ with priority strict-high) + * - evo/cos/scheduler-map.conf (FC → scheduler binding) + */ + +class-of-service { + forwarding-classes { + class FC-BEST-EFFORT queue-num 0; + class FC-CONTROL queue-num 3; + class FC-HIGH queue-num 4; + class FC-LLQ queue-num 6; + class FC-LOW queue-num 1; + class FC-MEDIUM queue-num 2; + class FC-REALTIME queue-num 5; + class FC-SIGNALING queue-num 7; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-dscp-ipv6.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-dscp-ipv6.conf new file mode 100644 index 0000000..7fcf9ad --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-dscp-ipv6.conf @@ -0,0 +1,62 @@ +/* + * Topic: DSCP-IPv6 rewrite rule (RR-DSCP-IPV6) — egress FC-to-DSCP marking for IPv6 + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Identical marking logic to RR-DSCP but applied to IPv6 egress + * - Required when inet6 traffic is rewritten separately from inet + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/cos-binding-irb.conf + * - evo/cos/cos-binding-l3-service.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/classifier-dscp-ipv6.conf (ingress counterpart) + * - evo/cos/rewrite-dscp.conf (IPv4 counterpart) + */ + +class-of-service { + rewrite-rules { + dscp-ipv6 RR-DSCP-IPV6 { + forwarding-class FC-BEST-EFFORT { + loss-priority high code-point be; + loss-priority low code-point be; + } + forwarding-class FC-CONTROL { + loss-priority high code-point cs7; + loss-priority low code-point cs7; + } + forwarding-class FC-HIGH { + loss-priority high code-point af33; + loss-priority low code-point af31; + loss-priority medium-high code-point af32; + } + forwarding-class FC-LLQ { + loss-priority high code-point af43; + loss-priority low code-point af41; + loss-priority medium-high code-point af42; + } + forwarding-class FC-LOW { + loss-priority high code-point af13; + loss-priority low code-point af11; + loss-priority medium-high code-point af12; + } + forwarding-class FC-MEDIUM { + loss-priority high code-point af23; + loss-priority low code-point af21; + loss-priority medium-high code-point af22; + } + forwarding-class FC-REALTIME { + loss-priority high code-point ef; + loss-priority low code-point ef; + } + forwarding-class FC-SIGNALING { + loss-priority high code-point cs5; + loss-priority low code-point cs6; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-dscp.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-dscp.conf new file mode 100644 index 0000000..762835b --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-dscp.conf @@ -0,0 +1,64 @@ +/* + * Topic: DSCP rewrite rule (RR-DSCP) — egress FC-to-DSCP marking + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Rewrites outgoing DSCP based on FC + loss-priority at egress + * - AF4x codes for FC-LLQ, EF for FC-REALTIME (matches classifier in reverse) + * - Applied on L3 service interface units via cos-binding + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/cos-binding-irb.conf + * - evo/cos/cos-binding-l3-service.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/rewrite-dscp-ipv6.conf + * - evo/cos/classifier-dscp.conf (ingress counterpart) + * - evo/cos/forwarding-classes.conf (FC definitions) + */ + +class-of-service { + rewrite-rules { + dscp RR-DSCP { + forwarding-class FC-BEST-EFFORT { + loss-priority high code-point be; + loss-priority low code-point be; + } + forwarding-class FC-CONTROL { + loss-priority high code-point cs7; + loss-priority low code-point cs7; + } + forwarding-class FC-HIGH { + loss-priority high code-point af33; + loss-priority low code-point af31; + loss-priority medium-high code-point af32; + } + forwarding-class FC-LLQ { + loss-priority high code-point af43; + loss-priority low code-point af41; + loss-priority medium-high code-point af42; + } + forwarding-class FC-LOW { + loss-priority high code-point af13; + loss-priority low code-point af11; + loss-priority medium-high code-point af12; + } + forwarding-class FC-MEDIUM { + loss-priority high code-point af23; + loss-priority low code-point af21; + loss-priority medium-high code-point af22; + } + forwarding-class FC-REALTIME { + loss-priority high code-point ef; + loss-priority low code-point ef; + } + forwarding-class FC-SIGNALING { + loss-priority high code-point cs5; + loss-priority low code-point cs6; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-exp.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-exp.conf new file mode 100644 index 0000000..850a813 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-exp.conf @@ -0,0 +1,64 @@ +/* + * Topic: MPLS EXP rewrite rule (RR-MPLS) — egress FC-to-EXP marking + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Rewrites outgoing MPLS EXP bits based on FC + loss-priority + * - EXP 4 ← FC-LLQ, EXP 5 ← FC-REALTIME, EXP 6 ← FC-SIGNALING + * - All loss-priority levels map to the same code-point per FC (3 bits + * cannot encode drop-precedence) + * - Applied on MPLS transport AE interfaces + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/cos-binding-transport.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/classifier-exp.conf (ingress counterpart) + * - evo/cos/forwarding-classes.conf (FC definitions) + */ + +class-of-service { + rewrite-rules { + exp RR-MPLS { + forwarding-class FC-BEST-EFFORT { + loss-priority high code-point 000; + loss-priority low code-point 000; + } + forwarding-class FC-CONTROL { + loss-priority high code-point 111; + loss-priority low code-point 111; + } + forwarding-class FC-HIGH { + loss-priority high code-point 011; + loss-priority low code-point 011; + loss-priority medium-high code-point 011; + } + forwarding-class FC-LLQ { + loss-priority high code-point 100; + loss-priority low code-point 100; + loss-priority medium-high code-point 100; + } + forwarding-class FC-LOW { + loss-priority high code-point 001; + loss-priority low code-point 001; + loss-priority medium-high code-point 001; + } + forwarding-class FC-MEDIUM { + loss-priority high code-point 010; + loss-priority low code-point 010; + loss-priority medium-high code-point 010; + } + forwarding-class FC-REALTIME { + loss-priority high code-point 101; + loss-priority low code-point 101; + } + forwarding-class FC-SIGNALING { + loss-priority high code-point 110; + loss-priority low code-point 110; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-ieee-802.1.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-ieee-802.1.conf new file mode 100644 index 0000000..f3abcb5 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/rewrite-ieee-802.1.conf @@ -0,0 +1,64 @@ +/* + * Topic: 802.1p rewrite rule (RR-8021P) — egress FC-to-PCP marking + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Rewrites outgoing 802.1p PCP bits based on FC + loss-priority + * - PCP 4 ← FC-LLQ, PCP 5 ← FC-REALTIME, PCP 6 ← FC-SIGNALING + * - All loss-priority levels map to the same code-point per FC + * - Applied on L2 service interfaces (EVPN-VPWS access ports) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/cos-binding-l2-fronthaul-static.conf + * - evo/cos/cos-binding-l2-fronthaul.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/classifier-ieee-802.1.conf (ingress counterpart) + * - evo/cos/forwarding-classes.conf (FC definitions) + */ + +class-of-service { + rewrite-rules { + ieee-802.1 RR-8021P { + forwarding-class FC-BEST-EFFORT { + loss-priority high code-point 000; + loss-priority low code-point 000; + } + forwarding-class FC-CONTROL { + loss-priority high code-point 111; + loss-priority low code-point 111; + } + forwarding-class FC-HIGH { + loss-priority high code-point 011; + loss-priority low code-point 011; + loss-priority medium-high code-point 011; + } + forwarding-class FC-LLQ { + loss-priority high code-point 100; + loss-priority low code-point 100; + loss-priority medium-high code-point 100; + } + forwarding-class FC-LOW { + loss-priority high code-point 001; + loss-priority low code-point 001; + loss-priority medium-high code-point 001; + } + forwarding-class FC-MEDIUM { + loss-priority high code-point 010; + loss-priority low code-point 010; + loss-priority medium-high code-point 010; + } + forwarding-class FC-REALTIME { + loss-priority high code-point 101; + loss-priority low code-point 101; + } + forwarding-class FC-SIGNALING { + loss-priority high code-point 110; + loss-priority low code-point 110; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/scheduler-map.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/scheduler-map.conf new file mode 100644 index 0000000..e2f8956 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/scheduler-map.conf @@ -0,0 +1,37 @@ +/* + * Topic: Scheduler-map binding FCs to schedulers (SM-5G-SCHEDULER) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Maps all 8 forwarding classes to their corresponding schedulers + * - Referenced by interface CoS bindings (scheduler-map SM-5G-SCHEDULER) + * - The scheduler-map itself is identical across all devices; the + * underlying scheduler behavior (low-latency vs strict-high) is + * determined by the scheduler definition, not the map + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/cos/cos-binding-transport.conf + * - evo/cos/forwarding-classes.conf + * - evo/cos/forwarding-classes.conf (FC definitions) + * - evo/cos/schedulers-low-latency.conf (ACX scheduler priorities) + * - evo/cos/schedulers-strict-high.conf (PTX scheduler priorities) + */ + +class-of-service { + scheduler-maps { + SM-5G-SCHEDULER { + forwarding-class FC-BEST-EFFORT scheduler SC-BEST-EFFORT; + forwarding-class FC-CONTROL scheduler SC-CONTROL; + forwarding-class FC-HIGH scheduler SC-HIGH; + forwarding-class FC-LLQ scheduler SC-LLQ; + forwarding-class FC-LOW scheduler SC-LOW; + forwarding-class FC-MEDIUM scheduler SC-MEDIUM; + forwarding-class FC-REALTIME scheduler SC-REALTIME; + forwarding-class FC-SIGNALING scheduler SC-SIGNALING; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/schedulers-low-latency.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/schedulers-low-latency.conf new file mode 100644 index 0000000..d3f5e1e --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/schedulers-low-latency.conf @@ -0,0 +1,71 @@ +/* + * Topic: Scheduler definitions with priority low-latency (ACX LLQ) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - SC-LLQ uses `priority low-latency` — the ACX-specific hardware LLQ + * scheduler that guarantees sub-10µs per-hop latency under congestion + * - SC-REALTIME uses `priority medium-high` (shaped strict priority) + * - SC-SIGNALING uses `priority strict-high` (highest strict priority + * after low-latency; protects control-plane even under LLQ load) + * - SC-HIGH/MEDIUM/LOW/BEST-EFFORT are WFQ with transmit-rate percentages + * - Compare with junos/cos/schedulers-strict-high.conf where LLQ falls + * back to strict-high (MX/PTX do not support priority low-latency) + * + * Pair with: + * - evo/cos/cos-binding-l2-fronthaul-static.conf + * - evo/firewall/filter-mf-ecpri-fronthaul.conf + * - evo/cos/forwarding-classes.conf (FC definitions these schedulers serve) + * - evo/cos/scheduler-map.conf (FC → scheduler binding) + */ + +class-of-service { + schedulers { + SC-BEST-EFFORT { + transmit-rate { + remainder; + } + buffer-size { + remainder; + } + priority low; + } + SC-CONTROL { + shaping-rate percent 5; + buffer-size percent 5; + priority high; + } + SC-HIGH { + transmit-rate percent 40; + buffer-size percent 30; + priority low; + } + SC-LLQ { + shaping-rate percent 40; + buffer-size percent 10; + priority low-latency; + } + SC-LOW { + transmit-rate percent 20; + priority low; + } + SC-MEDIUM { + transmit-rate percent 30; + buffer-size percent 20; + priority low; + } + SC-REALTIME { + shaping-rate percent 30; + buffer-size percent 20; + priority medium-high; + } + SC-SIGNALING { + shaping-rate percent 5; + buffer-size percent 5; + priority strict-high; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/cos/schedulers-strict-high.conf b/service_provider/low_latency_queueing/configuration/snips/evo/cos/schedulers-strict-high.conf new file mode 100644 index 0000000..6f4665d --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/cos/schedulers-strict-high.conf @@ -0,0 +1,68 @@ +/* + * Topic: Scheduler definitions with priority strict-high (PTX core transit) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - SC-LLQ uses `priority strict-high` — PTX does not support the ACX + * `priority low-latency` hardware scheduler; strict-high is the + * highest available strict priority on this platform + * - SC-SIGNALING uses `priority high` (one tier below strict-high) + * - All other schedulers (rates, buffer-size) are identical to the + * ACX low-latency variant — only the priority keywords differ + * - Body is byte-identical to the Junos (MX) sibling + * - Core routers are transit-only; CoS preserves marking end-to-end + * + * Pair with: + * - evo/cos/forwarding-classes.conf (FC definitions these schedulers serve) + * - evo/cos/scheduler-map.conf (FC → scheduler binding) + */ + +class-of-service { + schedulers { + SC-BEST-EFFORT { + transmit-rate { + remainder; + } + buffer-size { + remainder; + } + priority low; + } + SC-CONTROL { + shaping-rate percent 5; + buffer-size percent 5; + priority high; + } + SC-HIGH { + transmit-rate percent 40; + buffer-size percent 30; + priority low; + } + SC-LLQ { + shaping-rate percent 40; + buffer-size percent 10; + priority strict-high; + } + SC-LOW { + transmit-rate percent 20; + priority low; + } + SC-MEDIUM { + transmit-rate percent 30; + buffer-size percent 20; + priority low; + } + SC-REALTIME { + shaping-rate percent 30; + buffer-size percent 20; + priority medium-high; + } + SC-SIGNALING { + shaping-rate percent 5; + buffer-size percent 5; + priority high; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mf-ecpri-fronthaul.conf b/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mf-ecpri-fronthaul.conf new file mode 100644 index 0000000..e687cbe --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mf-ecpri-fronthaul.conf @@ -0,0 +1,86 @@ +/* + * Topic: Multi-field eCPRI filter — MAC-based FC classification for fronthaul (CCC) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 + * + * Highlights: + * - Family CCC (circuit cross-connect) filter for EVPN-VPWS fronthaul + * - Multi-field classification using MAC addresses to steer eCPRI flows: + * - learn-vlan-1p-priority 3 → FC-HIGH (management plane) + * - learn-vlan-1p-priority 7 → FC-BEST-EFFORT (low-priority sync) + * - source-mac → FC-LLQ (fronthaul user-plane) + * - source-mac → FC-SIGNALING (eCPRI C-plane) + * - source-mac → FC-CONTROL (synchronization) + * - destination-mac → FC-REALTIME (PTP/timing) + * - MAC addresses are lab-specific; replace with site MAC pools + * - interface-specific allows per-unit counters + * - AG variant names per-AN: FF-MF-EVPN-VPWS-MH-TO-AN{1,3,4} + * - AN variant name: FF-MF-EVPN-VPWS-MH (applied ingress on DU-facing ports) + * + * Pair with: + * - evo/cos/forwarding-classes.conf + * - evo/cos/cos-binding-l2-fronthaul-static.conf (static FC-LLQ binding) + * - evo/cos/schedulers-low-latency.conf (SC-LLQ low-latency) + * - evo/services/evpn-vpws-vlan-based-mh.conf (EVPN-VPWS service) + */ + +firewall { + family ccc { + filter { + interface-specific; + term 1 { + from { + learn-vlan-1p-priority 3; + } + then forwarding-class FC-HIGH; + } + term 2 { + from { + learn-vlan-1p-priority 7; + } + then forwarding-class FC-BEST-EFFORT; + } + term 3 { + from { + source-mac-address { + /48; + /48; + /* ... additional eCPRI user-plane source MACs ... */ + } + } + then forwarding-class FC-LLQ; + } + term 4 { + from { + source-mac-address { + /48; + /48; + /* ... additional eCPRI control-plane source MACs ... */ + } + } + then forwarding-class FC-SIGNALING; + } + term 5 { + from { + source-mac-address { + /48; + /48; + /* ... additional eCPRI sync source MACs ... */ + } + } + then forwarding-class FC-CONTROL; + } + term 6 { + from { + destination-mac-address { + /48; + /48; + /* ... additional PTP/timing destination MACs ... */ + } + } + then forwarding-class FC-REALTIME; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mfc-ipv4-l3vpn-irb.conf b/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mfc-ipv4-l3vpn-irb.conf new file mode 100644 index 0000000..a2de746 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mfc-ipv4-l3vpn-irb.conf @@ -0,0 +1,55 @@ +/* + * Topic: Multi-field classifier — IPv4 DSCP-to-FC (L3VPN IRB ingress) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c + * + * Highlights: + * - Interface-specific filter applied on IRB units (input direction) + * - Overrides CoS classifier: forces FC based on DSCP for traffic + * entering the L3VPN from a bridged domain + * - cs1 → FC-REALTIME, cs2 → FC-HIGH, cs3 → FC-MEDIUM, cs4 → FC-LOW + * - Default term accepts unmatched traffic (uses CoS classifier instead) + * - Two named variants in the JVD: FF-MFC-IPV4-L3VPN-BD-IRB (bridged-domain + * IRB) and FF-MFC-IPV4-L3VPN-EVPN-IRB (EVPN IRB) — bodies identical + * + * Pair with: + * - evo/cos/forwarding-classes.conf + * - evo/firewall/filter-mfc-ipv6-l3vpn-irb.conf (IPv6 counterpart) + * - evo/cos/cos-binding-irb.conf (CoS binding on IRB units) + */ + +firewall { + family inet { + filter { + interface-specific; + term fc-realtime { + from { + dscp cs1; + } + then forwarding-class FC-REALTIME; + } + term fc-high { + from { + dscp cs2; + } + then forwarding-class FC-HIGH; + } + term fc-medium { + from { + dscp cs3; + } + then forwarding-class FC-MEDIUM; + } + term fc-low { + from { + dscp cs4; + } + then forwarding-class FC-LOW; + } + term default { + then accept; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mfc-ipv6-l3vpn-irb.conf b/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mfc-ipv6-l3vpn-irb.conf new file mode 100644 index 0000000..9a8478c --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/firewall/filter-mfc-ipv6-l3vpn-irb.conf @@ -0,0 +1,53 @@ +/* + * Topic: Multi-field classifier — IPv6 traffic-class-to-FC (L3VPN IRB ingress) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c + * + * Highlights: + * - IPv6 counterpart of filter-mfc-ipv4-l3vpn-irb.conf + * - Uses `traffic-class` (IPv6 traffic class field) instead of `dscp` + * - Same FC assignment: cs1→REALTIME, cs2→HIGH, cs3→MEDIUM, cs4→LOW + * - Interface-specific, applied input on IRB units + * - Two named variants: FF-MFC-IPV6-L3VPN-BD-IRB / FF-MFC-IPV6-L3VPN-EVPN-IRB + * + * Pair with: + * - evo/cos/forwarding-classes.conf + * - evo/firewall/filter-mfc-ipv4-l3vpn-irb.conf (IPv4 counterpart) + * - evo/cos/cos-binding-irb.conf (CoS binding on IRB units) + */ + +firewall { + family inet6 { + filter { + interface-specific; + term fc-realtime { + from { + traffic-class cs1; + } + then forwarding-class FC-REALTIME; + } + term fc-high { + from { + traffic-class cs2; + } + then forwarding-class FC-HIGH; + } + term fc-medium { + from { + traffic-class cs3; + } + then forwarding-class FC-MEDIUM; + } + term fc-low { + from { + traffic-class cs4; + } + then forwarding-class FC-LOW; + } + term default { + then accept; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/lag-esi.conf b/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/lag-esi.conf new file mode 100644 index 0000000..d9f2ffb --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/lag-esi.conf @@ -0,0 +1,61 @@ +/* + * Topic: LAG interface with ESI for EVPN multi-homing + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 + * + * Highlights: + * - Aggregated Ethernet with flexible-vlan-tagging for multi-service + * - LACP active with fast periodic (1s) for sub-second LAG failover + * - system-id must match across AG pair for EVPN-MH ESI + * - Per-unit ESI with all-active for active-active multi-homing + * - vlan-ccc encapsulation for EVPN-VPWS units (L2 circuit) + * - vlan-bridge encapsulation for EVPN-ELAN units (bridged) + * - Each unit maps to one routing-instance (EVPN-VPWS or mac-vrf) + * + * Pair with: + * - evo/services/evpn-vpws-vlan-based-mh.conf (VPWS service) + * - evo/services/evpn-elan-vlan-based.conf (ELAN service) + * - evo/services/l3vpn-irb.conf (L3VPN hosting IRB) + * - evo/cos/cos-binding-l2-fronthaul.conf (CoS per-unit) + */ + +interfaces { + { + description ; + flexible-vlan-tagging; + encapsulation flexible-ethernet-services; + aggregated-ether-options { + lacp { + active; + periodic fast; + system-id ; + } + } + /* repeat per EVPN-VPWS service */ + unit { + description ; + encapsulation vlan-ccc; + vlan-id ; + esi { + ; + all-active; + } + family ccc { + filter { + input ; + } + } + } + /* repeat per EVPN-ELAN / L3VPN-IRB service */ + unit { + description ; + encapsulation vlan-bridge; + vlan-id ; + esi { + ; + all-active; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/vlan-bridge.conf b/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/vlan-bridge.conf new file mode 100644 index 0000000..145b793 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/vlan-bridge.conf @@ -0,0 +1,34 @@ +/* + * Topic: Service sub-interface with vlan-bridge encapsulation + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c + * + * Highlights: + * - Physical (non-LAG) interface for single-homed L2 services + * - flexible-vlan-tagging + flexible-ethernet-services: multi-encap parent + * - vlan-bridge encapsulation: unit is placed into a virtual-switch or mac-vrf + * - Used for BGP-VPLS midhaul circuits toward SAG + * - No ESI: directly connected (single-homed path) + * - speed 10g configured where port supports multi-rate + * + * Pair with: + * - evo/services/bgp-vpls-vsi.conf (virtual-switch service) + * - evo/services/evpn-elan-vlan-based.conf (mac-vrf ELAN) + * - evo/cos/cos-binding-l2-fronthaul.conf (CoS per-unit) + */ + +interfaces { + { + description ; + flexible-vlan-tagging; + speed 10g; + encapsulation flexible-ethernet-services; + /* repeat per BGP-VPLS / ELAN service */ + unit { + description ; + encapsulation vlan-bridge; + vlan-id ; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/vlan-ccc.conf b/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/vlan-ccc.conf new file mode 100644 index 0000000..360afcb --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/interfaces/vlan-ccc.conf @@ -0,0 +1,34 @@ +/* + * Topic: Service sub-interface with vlan-ccc encapsulation + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c + * + * Highlights: + * - Physical (non-LAG) interface for single-homed EVPN-VPWS circuits + * - flexible-vlan-tagging + flexible-ethernet-services: multi-encap parent + * - vlan-ccc encapsulation: unit carries L2 circuit for EVPN-VPWS + * - family ccc enables circuit cross-connect forwarding + * - No ESI: directly connected (single-homed path) + * - speed 10g configured where port supports multi-rate + * + * Pair with: + * - evo/services/evpn-vpws-vlan-based-mh.conf (VPWS service) + * - evo/cos/cos-binding-l2-fronthaul-static.conf (static FC-LLQ) + */ + +interfaces { + { + description ; + flexible-vlan-tagging; + speed 10g; + encapsulation flexible-ethernet-services; + /* repeat per EVPN-VPWS service */ + unit { + description ; + encapsulation vlan-ccc; + vlan-id ; + family ccc; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/oam/cfm-maintenance-domain.conf b/service_provider/low_latency_queueing/configuration/snips/evo/oam/cfm-maintenance-domain.conf new file mode 100644 index 0000000..3e58f71 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/oam/cfm-maintenance-domain.conf @@ -0,0 +1,44 @@ +/* + * Topic: CFM maintenance-domain with continuity-check MEPs (802.1ag OAM) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 + * + * Highlights: + * - CFM (Connectivity Fault Management, IEEE 802.1ag) for L2 service monitoring + * - MD level 5 with 2-octet short-name format maintenance-associations + * - Continuity-check (CC): 1-second interval, loss-threshold 10 (10s detect) + * - MEP direction: up (monitors the VPLS/ELAN service path, not the link) + * - One maintenance-association per service (mapped to interface unit) + * - Enables proactive fault detection on midhaul BGP-VPLS circuits + * + * Pair with: + * - evo/services/bgp-vpls-vsi.conf (monitored service) + * - evo/cos/cos-binding-l2-fronthaul.conf (CoS on monitored units) + */ + +protocols { + oam { + ethernet { + connectivity-fault-management { + maintenance-domain { + level ; + name-format none; + maintenance-association { + short-name-format 2octet; + continuity-check { + interval 1s; + loss-threshold 10; + hold-interval 1; + } + mep { + interface .; + direction up; + remote-mep ; + } + } + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/policy/allow-loopback.conf b/service_provider/low_latency_queueing/configuration/snips/evo/policy/allow-loopback.conf new file mode 100644 index 0000000..ad6dae0 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/policy/allow-loopback.conf @@ -0,0 +1,25 @@ +/* + * Topic: ALLOW_LOOPBACK — rib-group import filter for labeled-unicast + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Permits loopback routes (host routes /32) to be imported from inet.3 to inet.0 + * - Used by rib-group inet3-to-inet0 in BGP labeled-unicast + * - Ensures MPLS next-hops resolve via the IGP for service overlays + * - orlonger matches /32 and any more-specific (effectively any host route) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/transport/bgp-internal.conf (rib-group referencing this policy) + */ + +policy-options { + policy-statement ALLOW_LOOPBACK { + from { + route-filter 0.0.0.0/32 orlonger; + } + then accept; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/policy/next-hop-self.conf b/service_provider/low_latency_queueing/configuration/snips/evo/policy/next-hop-self.conf new file mode 100644 index 0000000..40160de --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/policy/next-hop-self.conf @@ -0,0 +1,24 @@ +/* + * Topic: next-hop-self BGP export policy + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Forces next-hop-self on all advertised BGP routes + * - Applied as export policy on iBGP groups (transport and service families) + * - Ensures remote peers can resolve next-hop via local IGP + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/transport/bgp-internal.conf (iBGP group referencing this policy) + */ + +policy-options { + policy-statement next-hop-self { + then { + next-hop self; + accept; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/policy/pplb.conf b/service_provider/low_latency_queueing/configuration/snips/evo/policy/pplb.conf new file mode 100644 index 0000000..a5f4546 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/policy/pplb.conf @@ -0,0 +1,25 @@ +/* + * Topic: Per-packet load-balance policy (PPLB) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Enables per-flow (per-packet) ECMP load-balancing in the forwarding table + * - Applied via routing-options forwarding-table export PPLB + * - Despite the name, modern Junos treats this as per-flow (5-tuple hash) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/transport/load-balance-pplb.conf (forwarding-table export) + * - evo/transport/forwarding-options-hash.conf (hash-key tuning) + */ + +policy-options { + policy-statement PPLB { + then { + load-balance per-packet; + accept; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/policy/sr-nonzero-loopbacks.conf b/service_provider/low_latency_queueing/configuration/snips/evo/policy/sr-nonzero-loopbacks.conf new file mode 100644 index 0000000..8999b84 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/policy/sr-nonzero-loopbacks.conf @@ -0,0 +1,47 @@ +/* + * Topic: SR non-zero loopback advertisement (IPv4 + IPv6 prefix-segment) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Advertises additional loopback addresses (beyond lo0.0 primary) into + * IS-IS with SR prefix-segment indices + * - Allows anycast or per-service loopbacks to be SR-reachable + * - Exported via ISIS export policy (protocols isis export [... SR_NONZERO_...]) + * - Index values are per-device; coordinate with SID allocation plan + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/transport/isis-global.conf (ISIS export referencing these policies) + */ + +policy-options { + policy-statement SR_NONZERO_LOOPBACKS_V4 { + term t1 { + from { + route-filter /32 exact; + } + then { + prefix-segment { + index ; + } + accept; + } + } + } + policy-statement SR_NONZERO_LOOPBACKS_V6 { + term t1 { + from { + family inet6; + route-filter /128 exact; + } + then { + prefix-segment { + index ; + } + accept; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/services/bgp-vpls-vsi.conf b/service_provider/low_latency_queueing/configuration/snips/evo/services/bgp-vpls-vsi.conf new file mode 100644 index 0000000..702a399 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/services/bgp-vpls-vsi.conf @@ -0,0 +1,52 @@ +/* + * Topic: BGP-VPLS virtual-switch with FAT pseudowire (midhaul L2) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 + * + * Highlights: + * - instance-type virtual-switch with BGP-VPLS signaling (RFC 4761) + * - FAT pseudowire via flow-label-transmit / flow-label-receive for + * entropy-based LAG/ECMP load-balancing on midhaul circuits + * - site / site-identifier for auto-discovery and split-horizon + * - site-range 65534, label-block-size 4 (capacity planning) + * - no-tunnel-services: uses inline MPLS (no tunnel PIC needed) + * - vlans stanza maps one VLAN per instance (vlan-based model) + * - Hundreds of instances: one per midhaul service to SAG + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/interfaces/vlan-bridge.conf (vlan-bridge access units) + * - evo/oam/cfm-maintenance-domain.conf + * - evo/cos/cos-binding-l2-fronthaul.conf (802.1p on access units) + * JVD service mapping: + * (no instances found in topology registry) + * + */ + +routing-instances { + { + instance-type virtual-switch; + protocols { + vpls { + site { + site-identifier ; + } + site-range 65534; + label-block-size 4; + no-tunnel-services; + flow-label-transmit; + flow-label-receive; + } + } + description ; + route-distinguisher :; + vrf-target target::; + vlans { + { + vlan-id ; + interface .; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-elan-vlan-based.conf b/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-elan-vlan-based.conf new file mode 100644 index 0000000..ac1e433 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-elan-vlan-based.conf @@ -0,0 +1,41 @@ +/* + * Topic: EVPN-ELAN VLAN-based (mac-vrf, multi-homed fronthaul) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 + * + * Highlights: + * - mac-vrf instance with EVPN for multipoint L2 bridging + * - service-type vlan-based (one VLAN per bridge-domain, one BD per instance) + * - Used for fronthaul multipoint services where multiple DUs/O-RUs share a VLAN + * - Simple form: no IRB, no default-gateway — pure L2 bridging + * - vlans stanza maps VLAN-ID to interface attachment + * + * Pair with: + * - evo/interfaces/lag-esi.conf (ESI LAG for MH) + * - evo/interfaces/vlan-bridge.conf (non-LAG bridge units) + * - evo/services/l3vpn-irb.conf + * - evo/cos/cos-binding-l2-fronthaul.conf (802.1p classification) + * JVD service mapping: + * (no instances found in topology registry) + * + */ + +routing-instances { + { + instance-type mac-vrf; + protocols { + evpn; + } + service-type vlan-based; + interface .; + route-distinguisher :; + vrf-target target::; + vlans { + { + vlan-id ; + interface .; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-fxc-vlan-aware.conf b/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-fxc-vlan-aware.conf new file mode 100644 index 0000000..d320b98 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-fxc-vlan-aware.conf @@ -0,0 +1,49 @@ +/* + * Topic: EVPN-VPWS Flexible Cross-Connect (FXC, multi-homed) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 + * + * Highlights: + * - EVPN-VPWS with flexible-cross-connect-vlan-aware for multi-endpoint + * bundling (two VLANs cross-connected through the same VPWS instance) + * - Two interface/vpws-service-id pairs per instance: each sub-interface + * gets its own local/remote pseudowire ID within the same RD/RT + * - Used for eCPRI fronthaul where O-RU control-plane and user-plane + * VLANs are paired into a single VPWS FXC instance + * - Multi-homed: on ae26 LAG with ESI (AG pair) + * - Also present as single-homed (SH on et-1/0/1) for AN4 + * + * Pair with: + * - evo/interfaces/lag-esi.conf (ESI LAG for MH) + * - evo/interfaces/vlan-ccc.conf (non-LAG CCC units) + * - evo/cos/cos-binding-l2-fronthaul-static.conf (static FC-LLQ) + * - evo/firewall/filter-mf-ecpri-fronthaul.conf (MAC-based FC filter) + */ + +routing-instances { + { + instance-type evpn-vpws; + protocols { + evpn { + interface . { + vpws-service-id { + local ; + remote ; + } + } + interface . { + vpws-service-id { + local ; + remote ; + } + } + flexible-cross-connect-vlan-aware; + } + } + interface .; + interface .; + route-distinguisher :; + vrf-target target::; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-vpws-vlan-based-mh.conf b/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-vpws-vlan-based-mh.conf new file mode 100644 index 0000000..450f57a --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/services/evpn-vpws-vlan-based-mh.conf @@ -0,0 +1,42 @@ +/* + * Topic: EVPN-VPWS VLAN-based multi-homed (eCPRI fronthaul) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 + * + * Highlights: + * - Point-to-point EVPN-VPWS for dedicated eCPRI fronthaul circuits + * - Multi-homed: AN dual-homed to AG pair (ESI on the AG-facing LAG) + * - vpws-service-id local/remote identifies the pseudowire endpoints + * - Hundreds of instances per device (one per O-RU/antenna element) + * - No flow-label (not needed for point-to-point single-flow circuits) + * - Combined with static FC-LLQ CoS binding for guaranteed low-latency + * + * Pair with: + * - evo/interfaces/lag-esi.conf (ESI LAG for MH) + * - evo/interfaces/vlan-ccc.conf (non-LAG CCC units) + * - evo/cos/cos-binding-l2-fronthaul-static.conf (static FC-LLQ) + * - evo/firewall/filter-mf-ecpri-fronthaul.conf (MAC-based FC filter) + * JVD service mapping: + * (no instances found in topology registry) + * + */ + +routing-instances { + { + instance-type evpn-vpws; + protocols { + evpn { + interface . { + vpws-service-id { + local ; + remote ; + } + } + } + } + interface .; + route-distinguisher :; + vrf-target target::; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/services/l3vpn-irb.conf b/service_provider/low_latency_queueing/configuration/snips/evo/services/l3vpn-irb.conf new file mode 100644 index 0000000..b5ddabd --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/services/l3vpn-irb.conf @@ -0,0 +1,36 @@ +/* + * Topic: L3VPN VRF with IRB (anycast gateway, vrf-table-label) + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 + * + * Highlights: + * - instance-type vrf for L3VPN routing + * - IRB interface provides routing for EVPN-ELAN bridge-domains + * - vrf-table-label allocates a single MPLS label for the VRF + * (simplifies PE-to-PE label allocation) + * - router-id set explicitly per-instance (required for multi-VRF ECMP) + * - Anycast gateway model: same IRB IP on multiple PEs for active-active + * + * Pair with: + * - evo/interfaces/lag-esi.conf (vlan-bridge access units) + * - evo/services/evpn-elan-vlan-based.conf (mac-vrf bridging to this VRF) + * - evo/cos/cos-binding-irb.conf (FC-REALTIME on IRB units) + * JVD service mapping: + * (no instances found in topology registry) + * + */ + +routing-instances { + { + instance-type vrf; + routing-options { + router-id ; + } + description ; + interface irb.; + route-distinguisher :; + vrf-target target::; + vrf-table-label; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/transport/bgp-internal.conf b/service_provider/low_latency_queueing/configuration/snips/evo/transport/bgp-internal.conf new file mode 100644 index 0000000..bb87b34 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/transport/bgp-internal.conf @@ -0,0 +1,47 @@ +/* + * Topic: BGP internal (iBGP) — labeled-unicast + route-reflector + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - iBGP with inet/inet6 labeled-unicast for inter-area MPLS connectivity + * - rib-group inet3-to-inet0 installs labeled routes into inet.0 (for next-hop resolution) + * - CR devices act as route-reflectors (cluster-id = own router-id) + * - log-updown + multipath enabled at group or global level + * - export next-hop-self on iBGP peering sessions + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/policy/next-hop-self.conf (BGP export policy) + * - evo/policy/allow-loopback.conf (rib-group import filter) + * - evo/transport/isis-global.conf (underlay providing next-hop reachability) + */ + +protocols { + bgp { + group { + type internal; + local-address ; + family inet { + labeled-unicast { + rib-group inet3-to-inet0; + rib { + inet.3; + } + } + } + family inet6 { + labeled-unicast { + rib { + inet6.3; + } + } + } + export next-hop-self; + neighbor ; + } + log-updown; + multipath; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/transport/forwarding-options-hash.conf b/service_provider/low_latency_queueing/configuration/snips/evo/transport/forwarding-options-hash.conf new file mode 100644 index 0000000..898559f --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/transport/forwarding-options-hash.conf @@ -0,0 +1,38 @@ +/* + * Topic: Forwarding-options hash-key — ECMP/LAG hashing (L3+L4+MPLS) + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr2_ptx10001-36mr + * + * Highlights: + * - inet/inet6: layer-3 + layer-4 hashing for fine-grained ECMP/LAG + * - MPLS: all-labels + payload ip — hashes entire label stack plus + * inner IP header for MPLS-encapsulated ECMP load-sharing + * - Critical for 5G xHaul where many EVPN-VPWS services share + * the same LAG members + * + * Pair with: + * - evo/transport/load-balance-pplb.conf + * - evo/transport/mpls-global.conf (MPLS interface enablement) + * - evo/policy/pplb.conf (per-packet load-balance policy) + */ + +forwarding-options { + hash-key { + family inet { + layer-3; + layer-4; + } + family inet6 { + layer-3; + layer-4; + } + family mpls { + all-labels; + payload { + ip; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/transport/isis-global.conf b/service_provider/low_latency_queueing/configuration/snips/evo/transport/isis-global.conf new file mode 100644 index 0000000..8003cbb --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/transport/isis-global.conf @@ -0,0 +1,50 @@ +/* + * Topic: IS-IS global — segment routing, SPF tuning, TI-LFA backup + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Segment Routing: SRGB 16000 + 80000 range, node-segment with IPv4/IPv6 indices + * - explicit-null for penultimate-hop transparency (preserves QoS to egress) + * - Level 2 wide-metrics-only (required for TE and SR) + * - SPF delay 100ms with 5 rapid runs before dampening + * - Backup SPF: TI-LFA with up to 5 labels, uses source-packet-routing + * - Exports SR_NONZERO_LOOPBACKS_V4/V6 for multi-loopback SR advertisement + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/policy/sr-nonzero-loopbacks.conf + * - evo/transport/bgp-internal.conf + * - evo/transport/mpls-global.conf + * - evo/transport/isis-interface.conf (per-interface config) + * - evo/policy/sr-nonzero-loopbacks.conf (SR prefix-segment export) + */ + +protocols { + isis { + interface lo0.0 { + passive; + } + source-packet-routing { + srgb start-label 16000 index-range 80000; + node-segment { + ipv4-index ; + ipv6-index ; + } + explicit-null; + } + level 2 wide-metrics-only; + spf-options { + delay 100; + rapid-runs 5; + } + backup-spf-options { + use-post-convergence-lfa maximum-labels 5; + use-source-packet-routing; + } + export [ SR_NONZERO_LOOPBACKS_V4 SR_NONZERO_LOOPBACKS_V6 ]; + ignore-attached-bit; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/transport/isis-interface.conf b/service_provider/low_latency_queueing/configuration/snips/evo/transport/isis-interface.conf new file mode 100644 index 0000000..9f501ec --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/transport/isis-interface.conf @@ -0,0 +1,40 @@ +/* + * Topic: IS-IS interface — level 2, TI-LFA, BFD, point-to-point + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - Level-2 only (level 1 disabled) — flat IS-IS domain + * - post-convergence-lfa with node-protection (TI-LFA) + * - BFD liveness-detection: 100ms minimum-interval × 3 multiplier = 300ms detect + * - Point-to-point on all inter-router links (no DIS election) + * - Metric 10 on all links (uniform cost for ECMP) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/transport/isis-global.conf (SR, spf-options, backup-spf-options) + * - evo/transport/mpls-global.conf (MPLS interface enablement) + */ + +protocols { + isis { + interface .0 { + level 2 { + post-convergence-lfa { + node-protection cost 16777214; + } + metric 10; + } + level 1 disable; + point-to-point; + family inet { + bfd-liveness-detection { + minimum-interval 100; + multiplier 3; + no-adaptation; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/transport/load-balance-pplb.conf b/service_provider/low_latency_queueing/configuration/snips/evo/transport/load-balance-pplb.conf new file mode 100644 index 0000000..eb61380 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/transport/load-balance-pplb.conf @@ -0,0 +1,29 @@ +/* + * Topic: Forwarding-table load-balance + chained-composite-next-hop + * Variant: Evolved-OS (EVO) + * Seen on: + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - export PPLB enables per-flow ECMP across equal-cost paths + * - chained-composite-next-hop for EVPN, L3VPN, and L2CKT services + * enables hierarchical next-hop chains (required for EVPN-VPWS MH) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/policy/pplb.conf (PPLB policy definition) + * - evo/transport/forwarding-options-hash.conf (hash-key tuning) + */ + +routing-options { + forwarding-table { + export PPLB; + chained-composite-next-hop { + ingress { + l2ckt; + evpn; + l3vpn; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/evo/transport/mpls-global.conf b/service_provider/low_latency_queueing/configuration/snips/evo/transport/mpls-global.conf new file mode 100644 index 0000000..82e15bd --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/evo/transport/mpls-global.conf @@ -0,0 +1,37 @@ +/* + * Topic: MPLS global — PCE-controlled LSPs, TTL, ICMP tunneling, IPv6 + * Variant: Evolved-OS (EVO) + * Seen on: + * Junos: (none) + * EVO: ag1_1_acx7509 ag1_2_acx7100-32c an1_acx7100-48l an3_acx7100-48l an4_acx7024 cr1_ptx10001-36mr cr2_ptx10001-36mr + * + * Highlights: + * - lsp-external-controller pccd (NorthStar/Paragon PCE-initiated LSPs) + * - no-propagate-ttl hides MPLS core hops from traceroute + * - icmp-tunneling enables ICMP error reporting through MPLS tunnels + * - ipv6-tunneling for 6PE/6VPE over MPLS core + * - optimize-timer 180 seconds for CSPF re-optimization + * - Interface list is per-device (all inter-router AE interfaces + lo0) + * - Body is byte-identical to the Junos sibling + * + * Pair with: + * - evo/transport/forwarding-options-hash.conf + * - evo/transport/isis-interface.conf + * - evo/transport/isis-global.conf (SR/ISIS underlay) + */ + +protocols { + mpls { + lsp-external-controller pccd; + log-updown { + syslog; + trap; + } + no-propagate-ttl; + icmp-tunneling; + optimize-timer 180; + ipv6-tunneling; + interface lo0.0; + interface .0; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-dscp-ipv6.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-dscp-ipv6.conf new file mode 100644 index 0000000..442acb5 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-dscp-ipv6.conf @@ -0,0 +1,59 @@ +/* + * Topic: DSCP-IPv6 classifier (CL-DSCP-IPV6) — ingress IPv6 packet-to-FC mapping + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - Identical classification logic to CL-DSCP but applied to IPv6 traffic + * - Required when inet6 traffic is classified separately from inet + * - Applied to L3 service interfaces alongside CL-DSCP + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/cos-binding-l3-service.conf + * - junos/cos/forwarding-classes.conf + * - junos/cos/classifier-dscp.conf (IPv4 counterpart) + * - junos/cos/rewrite-dscp-ipv6.conf (egress IPv6 FC → DSCP marking) + */ + +class-of-service { + classifiers { + dscp-ipv6 CL-DSCP-IPV6 { + import default; + forwarding-class FC-BEST-EFFORT { + loss-priority high code-points be; + } + forwarding-class FC-CONTROL { + loss-priority low code-points cs7; + } + forwarding-class FC-HIGH { + loss-priority high code-points af33; + loss-priority low code-points [ cs3 af31 ]; + loss-priority medium-high code-points af32; + } + forwarding-class FC-LLQ { + loss-priority high code-points af43; + loss-priority low code-points [ cs4 af41 ]; + loss-priority medium-high code-points af42; + } + forwarding-class FC-LOW { + loss-priority high code-points af13; + loss-priority low code-points [ cs1 af11 ]; + loss-priority medium-high code-points af12; + } + forwarding-class FC-MEDIUM { + loss-priority high code-points af23; + loss-priority low code-points [ cs2 af21 ]; + loss-priority medium-high code-points af22; + } + forwarding-class FC-REALTIME { + loss-priority low code-points ef; + } + forwarding-class FC-SIGNALING { + loss-priority high code-points cs5; + loss-priority low code-points cs6; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-dscp.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-dscp.conf new file mode 100644 index 0000000..d7d63c5 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-dscp.conf @@ -0,0 +1,62 @@ +/* + * Topic: DSCP classifier (CL-DSCP) — ingress packet-to-FC mapping + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - AF per-hop behavior: AF4x → FC-LLQ, AF3x → FC-HIGH, AF2x → FC-MEDIUM, + * AF1x → FC-LOW, EF → FC-REALTIME, CS6/CS7 → FC-SIGNALING/CONTROL + * - 3-level loss-priority (low/medium-high/high) for AFxy drop-precedence + * - import default covers unmapped code-points → FC-BEST-EFFORT + * - Applied to L3 service interfaces via interface cos-binding + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/classifier-dscp-ipv6.conf + * - junos/cos/cos-binding-l3-service.conf + * - junos/cos/forwarding-classes.conf + * - junos/cos/forwarding-classes.conf (FC queue-num definitions) + * - junos/cos/rewrite-dscp.conf (egress FC → DSCP marking) + */ + +class-of-service { + classifiers { + dscp CL-DSCP { + import default; + forwarding-class FC-BEST-EFFORT { + loss-priority high code-points be; + } + forwarding-class FC-CONTROL { + loss-priority low code-points cs7; + } + forwarding-class FC-HIGH { + loss-priority high code-points af33; + loss-priority low code-points [ cs3 af31 ]; + loss-priority medium-high code-points af32; + } + forwarding-class FC-LLQ { + loss-priority high code-points af43; + loss-priority low code-points [ cs4 af41 ]; + loss-priority medium-high code-points af42; + } + forwarding-class FC-LOW { + loss-priority high code-points af13; + loss-priority low code-points [ cs1 af11 ]; + loss-priority medium-high code-points af12; + } + forwarding-class FC-MEDIUM { + loss-priority high code-points af23; + loss-priority low code-points [ cs2 af21 ]; + loss-priority medium-high code-points af22; + } + forwarding-class FC-REALTIME { + loss-priority low code-points ef; + } + forwarding-class FC-SIGNALING { + loss-priority high code-points cs5; + loss-priority low code-points cs6; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-exp.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-exp.conf new file mode 100644 index 0000000..b16c6ea --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-exp.conf @@ -0,0 +1,51 @@ +/* + * Topic: MPLS EXP classifier (CL-MPLS) — ingress MPLS-to-FC mapping + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - Maps 3-bit MPLS EXP field to 8 forwarding classes + * - EXP 4 → FC-LLQ, EXP 5 → FC-REALTIME, EXP 6 → FC-SIGNALING + * - Applied on MPLS transport interfaces (ae units with family mpls) + * - All loss-priority = low (EXP has no drop-precedence encoding) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/cos-binding-transport.conf + * - junos/cos/forwarding-classes.conf + * - junos/cos/forwarding-classes.conf (FC queue-num definitions) + * - junos/cos/rewrite-exp.conf (egress FC → EXP marking) + */ + +class-of-service { + classifiers { + exp CL-MPLS { + import default; + forwarding-class FC-BEST-EFFORT { + loss-priority low code-points 000; + } + forwarding-class FC-CONTROL { + loss-priority low code-points 111; + } + forwarding-class FC-HIGH { + loss-priority low code-points 011; + } + forwarding-class FC-LLQ { + loss-priority low code-points 100; + } + forwarding-class FC-LOW { + loss-priority low code-points 001; + } + forwarding-class FC-MEDIUM { + loss-priority low code-points 010; + } + forwarding-class FC-REALTIME { + loss-priority low code-points 101; + } + forwarding-class FC-SIGNALING { + loss-priority low code-points 110; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-ieee-802.1.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-ieee-802.1.conf new file mode 100644 index 0000000..a05d76a --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/classifier-ieee-802.1.conf @@ -0,0 +1,48 @@ +/* + * Topic: 802.1p classifier (CL-8021P) — ingress VLAN-tag-to-FC mapping + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - Maps 3-bit 802.1p PCP field to 8 forwarding classes + * - PCP 4 → FC-LLQ, PCP 5 → FC-REALTIME, PCP 6 → FC-SIGNALING + * - Applied on L2 access/trunk interfaces (EVPN-VPWS, ELAN) + * - All loss-priority = low (PCP has no drop-precedence encoding) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/forwarding-classes.conf (FC queue-num definitions) + * - junos/cos/rewrite-ieee-802.1.conf (egress FC → PCP marking) + */ + +class-of-service { + classifiers { + ieee-802.1 CL-8021P { + import default; + forwarding-class FC-BEST-EFFORT { + loss-priority low code-points 000; + } + forwarding-class FC-CONTROL { + loss-priority low code-points 111; + } + forwarding-class FC-HIGH { + loss-priority low code-points 011; + } + forwarding-class FC-LLQ { + loss-priority low code-points 100; + } + forwarding-class FC-LOW { + loss-priority low code-points 001; + } + forwarding-class FC-MEDIUM { + loss-priority low code-points 010; + } + forwarding-class FC-REALTIME { + loss-priority low code-points 101; + } + forwarding-class FC-SIGNALING { + loss-priority low code-points 110; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/cos-binding-l3-service.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/cos-binding-l3-service.conf new file mode 100644 index 0000000..5810e20 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/cos-binding-l3-service.conf @@ -0,0 +1,44 @@ +/* + * Topic: CoS interface binding — L3 service (DSCP classifier + rewrite per unit) + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - Per-unit DSCP + DSCP-IPv6 classification and rewrite + * - No static forwarding-class — traffic is classified dynamically + * - Applied to L3VPN service units (inet/inet6 traffic) + * - Scheduler-map is applied at the interface level (not shown per-unit) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/scheduler-map.conf + * - junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf + * - junos/firewall/filter-mfc-ipv6-l3vpn-irb.conf + * - junos/services/bgp-vpls-vsi.conf + * - junos/services/evpn-elan-vlan-based-irb.conf + * - junos/services/evpn-vpws-vlan-based-sh.conf + * - junos/services/l3vpn-irb.conf + * - junos/cos/classifier-dscp.conf (CL-DSCP definition) + * - junos/cos/classifier-dscp-ipv6.conf (CL-DSCP-IPV6 definition) + * - junos/cos/rewrite-dscp.conf (RR-DSCP definition) + * - junos/cos/rewrite-dscp-ipv6.conf (RR-DSCP-IPV6 definition) + */ + +class-of-service { + interfaces { + { + scheduler-map SM-5G-SCHEDULER; + unit { + classifiers { + dscp CL-DSCP; + dscp-ipv6 CL-DSCP-IPV6; + } + rewrite-rules { + dscp RR-DSCP; + dscp-ipv6 RR-DSCP-IPV6; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/cos-binding-transport.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/cos-binding-transport.conf new file mode 100644 index 0000000..a54249f --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/cos-binding-transport.conf @@ -0,0 +1,33 @@ +/* + * Topic: CoS interface binding — MPLS transport (EXP classifier + rewrite) + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - Applies scheduler-map SM-5G-SCHEDULER at interface level + * - Classifies inbound MPLS traffic via EXP bits (CL-MPLS) + * - Rewrites outbound EXP bits (RR-MPLS) to preserve QoS marking + * - Applied on ae interface unit 0 (transport backbone links) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/classifier-exp.conf (CL-MPLS definition) + * - junos/cos/rewrite-exp.conf (RR-MPLS definition) + * - junos/cos/scheduler-map.conf (SM-5G-SCHEDULER definition) + */ + +class-of-service { + interfaces { + { + scheduler-map SM-5G-SCHEDULER; + unit 0 { + classifiers { + exp CL-MPLS; + } + rewrite-rules { + exp RR-MPLS; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/forwarding-classes.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/forwarding-classes.conf new file mode 100644 index 0000000..8d4dec0 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/forwarding-classes.conf @@ -0,0 +1,37 @@ +/* + * Topic: 8-class forwarding-class model (O-RAN multi-priority alignment) + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - 8 forwarding classes aligned to O-RAN multi-priority queuing model + * - FC-LLQ (queue 6) is the low-latency queue for eCPRI/fronthaul + * - FC-REALTIME (queue 5) for strict priority real-time flows (PTP, sync) + * - FC-SIGNALING (queue 7) for control-plane signaling + * - Queue numbering is consistent across all platforms in this JVD + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/classifier-dscp.conf + * - junos/cos/classifier-exp.conf + * - junos/cos/classifier-ieee-802.1.conf + * - junos/cos/rewrite-dscp.conf + * - junos/cos/rewrite-exp.conf + * - junos/cos/rewrite-ieee-802.1.conf + * - junos/cos/schedulers-strict-high.conf (MX: LLQ with priority strict-high) + * - junos/cos/scheduler-map.conf (FC → scheduler binding) + */ + +class-of-service { + forwarding-classes { + class FC-BEST-EFFORT queue-num 0; + class FC-CONTROL queue-num 3; + class FC-HIGH queue-num 4; + class FC-LLQ queue-num 6; + class FC-LOW queue-num 1; + class FC-MEDIUM queue-num 2; + class FC-REALTIME queue-num 5; + class FC-SIGNALING queue-num 7; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-dscp-ipv6.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-dscp-ipv6.conf new file mode 100644 index 0000000..76491b8 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-dscp-ipv6.conf @@ -0,0 +1,60 @@ +/* + * Topic: DSCP-IPv6 rewrite rule (RR-DSCP-IPV6) — egress FC-to-DSCP marking for IPv6 + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - Identical marking logic to RR-DSCP but applied to IPv6 egress + * - Required when inet6 traffic is rewritten separately from inet + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/cos-binding-l3-service.conf + * - junos/cos/forwarding-classes.conf + * - junos/cos/classifier-dscp-ipv6.conf (ingress counterpart) + * - junos/cos/rewrite-dscp.conf (IPv4 counterpart) + */ + +class-of-service { + rewrite-rules { + dscp-ipv6 RR-DSCP-IPV6 { + forwarding-class FC-BEST-EFFORT { + loss-priority high code-point be; + loss-priority low code-point be; + } + forwarding-class FC-CONTROL { + loss-priority high code-point cs7; + loss-priority low code-point cs7; + } + forwarding-class FC-HIGH { + loss-priority high code-point af33; + loss-priority low code-point af31; + loss-priority medium-high code-point af32; + } + forwarding-class FC-LLQ { + loss-priority high code-point af43; + loss-priority low code-point af41; + loss-priority medium-high code-point af42; + } + forwarding-class FC-LOW { + loss-priority high code-point af13; + loss-priority low code-point af11; + loss-priority medium-high code-point af12; + } + forwarding-class FC-MEDIUM { + loss-priority high code-point af23; + loss-priority low code-point af21; + loss-priority medium-high code-point af22; + } + forwarding-class FC-REALTIME { + loss-priority high code-point ef; + loss-priority low code-point ef; + } + forwarding-class FC-SIGNALING { + loss-priority high code-point cs5; + loss-priority low code-point cs6; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-dscp.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-dscp.conf new file mode 100644 index 0000000..02b3439 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-dscp.conf @@ -0,0 +1,62 @@ +/* + * Topic: DSCP rewrite rule (RR-DSCP) — egress FC-to-DSCP marking + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - Rewrites outgoing DSCP based on FC + loss-priority at egress + * - AF4x codes for FC-LLQ, EF for FC-REALTIME (matches classifier in reverse) + * - Applied on L3 service interface units via cos-binding + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/cos-binding-l3-service.conf + * - junos/cos/forwarding-classes.conf + * - junos/cos/rewrite-dscp-ipv6.conf + * - junos/cos/classifier-dscp.conf (ingress counterpart) + * - junos/cos/forwarding-classes.conf (FC definitions) + */ + +class-of-service { + rewrite-rules { + dscp RR-DSCP { + forwarding-class FC-BEST-EFFORT { + loss-priority high code-point be; + loss-priority low code-point be; + } + forwarding-class FC-CONTROL { + loss-priority high code-point cs7; + loss-priority low code-point cs7; + } + forwarding-class FC-HIGH { + loss-priority high code-point af33; + loss-priority low code-point af31; + loss-priority medium-high code-point af32; + } + forwarding-class FC-LLQ { + loss-priority high code-point af43; + loss-priority low code-point af41; + loss-priority medium-high code-point af42; + } + forwarding-class FC-LOW { + loss-priority high code-point af13; + loss-priority low code-point af11; + loss-priority medium-high code-point af12; + } + forwarding-class FC-MEDIUM { + loss-priority high code-point af23; + loss-priority low code-point af21; + loss-priority medium-high code-point af22; + } + forwarding-class FC-REALTIME { + loss-priority high code-point ef; + loss-priority low code-point ef; + } + forwarding-class FC-SIGNALING { + loss-priority high code-point cs5; + loss-priority low code-point cs6; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-exp.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-exp.conf new file mode 100644 index 0000000..186bedd --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-exp.conf @@ -0,0 +1,63 @@ +/* + * Topic: MPLS EXP rewrite rule (RR-MPLS) — egress FC-to-EXP marking + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - Rewrites outgoing MPLS EXP bits based on FC + loss-priority + * - EXP 4 ← FC-LLQ, EXP 5 ← FC-REALTIME, EXP 6 ← FC-SIGNALING + * - All loss-priority levels map to the same code-point per FC (3 bits + * cannot encode drop-precedence) + * - Applied on MPLS transport AE interfaces + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/cos-binding-transport.conf + * - junos/cos/forwarding-classes.conf + * - junos/cos/classifier-exp.conf (ingress counterpart) + * - junos/cos/forwarding-classes.conf (FC definitions) + */ + +class-of-service { + rewrite-rules { + exp RR-MPLS { + forwarding-class FC-BEST-EFFORT { + loss-priority high code-point 000; + loss-priority low code-point 000; + } + forwarding-class FC-CONTROL { + loss-priority high code-point 111; + loss-priority low code-point 111; + } + forwarding-class FC-HIGH { + loss-priority high code-point 011; + loss-priority low code-point 011; + loss-priority medium-high code-point 011; + } + forwarding-class FC-LLQ { + loss-priority high code-point 100; + loss-priority low code-point 100; + loss-priority medium-high code-point 100; + } + forwarding-class FC-LOW { + loss-priority high code-point 001; + loss-priority low code-point 001; + loss-priority medium-high code-point 001; + } + forwarding-class FC-MEDIUM { + loss-priority high code-point 010; + loss-priority low code-point 010; + loss-priority medium-high code-point 010; + } + forwarding-class FC-REALTIME { + loss-priority high code-point 101; + loss-priority low code-point 101; + } + forwarding-class FC-SIGNALING { + loss-priority high code-point 110; + loss-priority low code-point 110; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-ieee-802.1.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-ieee-802.1.conf new file mode 100644 index 0000000..ab5154c --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/rewrite-ieee-802.1.conf @@ -0,0 +1,59 @@ +/* + * Topic: 802.1p rewrite rule (RR-8021P) — egress FC-to-PCP marking + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - Rewrites outgoing 802.1p PCP bits based on FC + loss-priority + * - PCP 4 ← FC-LLQ, PCP 5 ← FC-REALTIME, PCP 6 ← FC-SIGNALING + * - All loss-priority levels map to the same code-point per FC + * - Applied on L2 service interfaces (EVPN-VPWS access ports) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/classifier-ieee-802.1.conf (ingress counterpart) + * - junos/cos/forwarding-classes.conf (FC definitions) + */ + +class-of-service { + rewrite-rules { + ieee-802.1 RR-8021P { + forwarding-class FC-BEST-EFFORT { + loss-priority high code-point 000; + loss-priority low code-point 000; + } + forwarding-class FC-CONTROL { + loss-priority high code-point 111; + loss-priority low code-point 111; + } + forwarding-class FC-HIGH { + loss-priority high code-point 011; + loss-priority low code-point 011; + loss-priority medium-high code-point 011; + } + forwarding-class FC-LLQ { + loss-priority high code-point 100; + loss-priority low code-point 100; + loss-priority medium-high code-point 100; + } + forwarding-class FC-LOW { + loss-priority high code-point 001; + loss-priority low code-point 001; + loss-priority medium-high code-point 001; + } + forwarding-class FC-MEDIUM { + loss-priority high code-point 010; + loss-priority low code-point 010; + loss-priority medium-high code-point 010; + } + forwarding-class FC-REALTIME { + loss-priority high code-point 101; + loss-priority low code-point 101; + } + forwarding-class FC-SIGNALING { + loss-priority high code-point 110; + loss-priority low code-point 110; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/scheduler-map.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/scheduler-map.conf new file mode 100644 index 0000000..6388611 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/scheduler-map.conf @@ -0,0 +1,35 @@ +/* + * Topic: Scheduler-map binding FCs to schedulers (SM-5G-SCHEDULER) + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - Maps all 8 forwarding classes to their corresponding schedulers + * - Referenced by interface CoS bindings (scheduler-map SM-5G-SCHEDULER) + * - The scheduler-map itself is identical across all devices; the + * underlying scheduler behavior (strict-high) is determined by the + * scheduler definition, not the map + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/cos-binding-transport.conf + * - junos/cos/forwarding-classes.conf + * - junos/cos/forwarding-classes.conf (FC definitions) + * - junos/cos/schedulers-strict-high.conf (MX scheduler priorities) + */ + +class-of-service { + scheduler-maps { + SM-5G-SCHEDULER { + forwarding-class FC-BEST-EFFORT scheduler SC-BEST-EFFORT; + forwarding-class FC-CONTROL scheduler SC-CONTROL; + forwarding-class FC-HIGH scheduler SC-HIGH; + forwarding-class FC-LLQ scheduler SC-LLQ; + forwarding-class FC-LOW scheduler SC-LOW; + forwarding-class FC-MEDIUM scheduler SC-MEDIUM; + forwarding-class FC-REALTIME scheduler SC-REALTIME; + forwarding-class FC-SIGNALING scheduler SC-SIGNALING; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/cos/schedulers-strict-high.conf b/service_provider/low_latency_queueing/configuration/snips/junos/cos/schedulers-strict-high.conf new file mode 100644 index 0000000..22c72ae --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/cos/schedulers-strict-high.conf @@ -0,0 +1,67 @@ +/* + * Topic: Scheduler definitions with priority strict-high (MX fallback) + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - SC-LLQ uses `priority strict-high` — MX does not support the ACX + * `priority low-latency` hardware scheduler; strict-high is the + * highest available strict priority on this platform + * - SC-SIGNALING uses `priority high` (one tier below strict-high) + * - All other schedulers (rates, buffer-size) are identical to the + * ACX low-latency variant — only the priority keywords differ + * - Body is byte-identical to the EVO (PTX) sibling + * - MX aggregation routers are transport-only or SAG role in this JVD + * + * Pair with: + * - junos/cos/forwarding-classes.conf (FC definitions these schedulers serve) + * - junos/cos/scheduler-map.conf (FC → scheduler binding) + */ + +class-of-service { + schedulers { + SC-BEST-EFFORT { + transmit-rate { + remainder; + } + buffer-size { + remainder; + } + priority low; + } + SC-CONTROL { + shaping-rate percent 5; + buffer-size percent 5; + priority high; + } + SC-HIGH { + transmit-rate percent 40; + buffer-size percent 30; + priority low; + } + SC-LLQ { + shaping-rate percent 40; + buffer-size percent 10; + priority strict-high; + } + SC-LOW { + transmit-rate percent 20; + priority low; + } + SC-MEDIUM { + transmit-rate percent 30; + buffer-size percent 20; + priority low; + } + SC-REALTIME { + shaping-rate percent 30; + buffer-size percent 20; + priority medium-high; + } + SC-SIGNALING { + shaping-rate percent 5; + buffer-size percent 5; + priority high; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf b/service_provider/low_latency_queueing/configuration/snips/junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf new file mode 100644 index 0000000..094b90f --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf @@ -0,0 +1,57 @@ +/* + * Topic: Multi-field classifier — IPv4 DSCP-to-FC (L3VPN IRB ingress) + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - Interface-specific filter applied on IRB units (input direction) + * - Overrides CoS classifier: forces FC based on DSCP for traffic + * entering the L3VPN from a bridged domain + * - cs1 → FC-REALTIME, cs2 → FC-HIGH, cs3 → FC-MEDIUM, cs4 → FC-LOW + * - Default term accepts unmatched traffic (uses CoS classifier instead) + * - Two named variants in the JVD: FF-MFC-IPV4-L3VPN-BD-IRB (bridged-domain + * IRB) and FF-MFC-IPV4-L3VPN-EVPN-IRB (EVPN IRB) — bodies identical + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/forwarding-classes.conf + * - junos/services/evpn-elan-vlan-based-irb.conf + * - junos/services/l3vpn-irb.conf + * - junos/firewall/filter-mfc-ipv6-l3vpn-irb.conf (IPv6 counterpart) + * - junos/cos/cos-binding-l3-service.conf (CoS binding on L3 units) + */ + +firewall { + family inet { + filter { + interface-specific; + term fc-realtime { + from { + dscp cs1; + } + then forwarding-class FC-REALTIME; + } + term fc-high { + from { + dscp cs2; + } + then forwarding-class FC-HIGH; + } + term fc-medium { + from { + dscp cs3; + } + then forwarding-class FC-MEDIUM; + } + term fc-low { + from { + dscp cs4; + } + then forwarding-class FC-LOW; + } + term default { + then accept; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/firewall/filter-mfc-ipv6-l3vpn-irb.conf b/service_provider/low_latency_queueing/configuration/snips/junos/firewall/filter-mfc-ipv6-l3vpn-irb.conf new file mode 100644 index 0000000..25f6c53 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/firewall/filter-mfc-ipv6-l3vpn-irb.conf @@ -0,0 +1,53 @@ +/* + * Topic: Multi-field classifier — IPv6 traffic-class-to-FC (L3VPN IRB ingress) + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - IPv6 counterpart of filter-mfc-ipv4-l3vpn-irb.conf + * - Uses `traffic-class` (IPv6 traffic class field) instead of `dscp` + * - Same FC assignment: cs1→REALTIME, cs2→HIGH, cs3→MEDIUM, cs4→LOW + * - Interface-specific, applied input on IRB units + * - Two named variants: FF-MFC-IPV6-L3VPN-BD-IRB / FF-MFC-IPV6-L3VPN-EVPN-IRB + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/cos/forwarding-classes.conf + * - junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf (IPv4 counterpart) + * - junos/cos/cos-binding-l3-service.conf (CoS binding on L3 units) + */ + +firewall { + family inet6 { + filter { + interface-specific; + term fc-realtime { + from { + traffic-class cs1; + } + then forwarding-class FC-REALTIME; + } + term fc-high { + from { + traffic-class cs2; + } + then forwarding-class FC-HIGH; + } + term fc-medium { + from { + traffic-class cs3; + } + then forwarding-class FC-MEDIUM; + } + term fc-low { + from { + traffic-class cs4; + } + then forwarding-class FC-LOW; + } + term default { + then accept; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/interfaces/vlan-bridge.conf b/service_provider/low_latency_queueing/configuration/snips/junos/interfaces/vlan-bridge.conf new file mode 100644 index 0000000..aeebc8f --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/interfaces/vlan-bridge.conf @@ -0,0 +1,31 @@ +/* + * Topic: Service sub-interface with vlan-bridge encapsulation + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - Physical interface for single-homed L2/L3 services toward AN + * - flexible-vlan-tagging + flexible-ethernet-services: multi-encap parent + * - vlan-bridge encapsulation: unit is placed into virtual-switch or mac-vrf + * - Used for BGP-VPLS and EVPN-ELAN bridged services + * - No ESI: SAG is single-homed endpoint + * - Hundreds of units per interface (one per service instance) + * + * Pair with: + * - junos/services/bgp-vpls-vsi.conf (virtual-switch service) + * - junos/services/evpn-elan-vlan-based-irb.conf (mac-vrf ELAN) + * - junos/cos/cos-binding-l3-service.conf (DSCP on service units) + */ + +interfaces { + { + flexible-vlan-tagging; + encapsulation flexible-ethernet-services; + /* repeat per BGP-VPLS / ELAN service */ + unit { + description ; + encapsulation vlan-bridge; + vlan-id ; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/interfaces/vlan-ccc.conf b/service_provider/low_latency_queueing/configuration/snips/junos/interfaces/vlan-ccc.conf new file mode 100644 index 0000000..5733f12 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/interfaces/vlan-ccc.conf @@ -0,0 +1,30 @@ +/* + * Topic: Service sub-interface with vlan-ccc encapsulation + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - Physical interface for single-homed EVPN-VPWS circuits toward AN + * - flexible-vlan-tagging + flexible-ethernet-services: multi-encap parent + * - vlan-ccc encapsulation: unit carries L2 circuit for EVPN-VPWS + * - family ccc enables circuit cross-connect forwarding + * - No ESI: SAG is single-homed endpoint + * - Hundreds of units per interface (one per service instance) + * + * Pair with: + * - junos/services/evpn-vpws-vlan-based-sh.conf (VPWS single-homed) + * - junos/cos/cos-binding-l3-service.conf (DSCP on service units) + */ + +interfaces { + { + flexible-vlan-tagging; + encapsulation flexible-ethernet-services; + /* repeat per EVPN-VPWS service */ + unit { + encapsulation vlan-ccc; + vlan-id ; + family ccc; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/policy/allow-loopback.conf b/service_provider/low_latency_queueing/configuration/snips/junos/policy/allow-loopback.conf new file mode 100644 index 0000000..e89585c --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/policy/allow-loopback.conf @@ -0,0 +1,24 @@ +/* + * Topic: ALLOW_LOOPBACK — rib-group import filter for labeled-unicast + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - Permits loopback routes (host routes /32) to be imported from inet.3 to inet.0 + * - Used by rib-group inet3-to-inet0 in BGP labeled-unicast + * - Ensures MPLS next-hops resolve via the IGP for service overlays + * - orlonger matches /32 and any more-specific (effectively any host route) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/transport/bgp-internal.conf (rib-group referencing this policy) + */ + +policy-options { + policy-statement ALLOW_LOOPBACK { + from { + route-filter 0.0.0.0/32 orlonger; + } + then accept; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/policy/next-hop-self.conf b/service_provider/low_latency_queueing/configuration/snips/junos/policy/next-hop-self.conf new file mode 100644 index 0000000..548820f --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/policy/next-hop-self.conf @@ -0,0 +1,23 @@ +/* + * Topic: next-hop-self BGP export policy + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - Forces next-hop-self on all advertised BGP routes + * - Applied as export policy on iBGP groups (transport and service families) + * - Ensures remote peers can resolve next-hop via local IGP + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/transport/bgp-internal.conf (iBGP group referencing this policy) + */ + +policy-options { + policy-statement next-hop-self { + then { + next-hop self; + accept; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/policy/pplb.conf b/service_provider/low_latency_queueing/configuration/snips/junos/policy/pplb.conf new file mode 100644 index 0000000..20b4ccd --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/policy/pplb.conf @@ -0,0 +1,23 @@ +/* + * Topic: Per-packet load-balance policy (PPLB) + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - Enables per-flow (per-packet) ECMP load-balancing in the forwarding table + * - Applied via routing-options forwarding-table export PPLB + * - Despite the name, modern Junos treats this as per-flow (5-tuple hash) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/transport/load-balance-pplb.conf (forwarding-table export) + */ + +policy-options { + policy-statement PPLB { + then { + load-balance per-packet; + accept; + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/policy/sr-nonzero-loopbacks.conf b/service_provider/low_latency_queueing/configuration/snips/junos/policy/sr-nonzero-loopbacks.conf new file mode 100644 index 0000000..7469519 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/policy/sr-nonzero-loopbacks.conf @@ -0,0 +1,46 @@ +/* + * Topic: SR non-zero loopback advertisement (IPv4 + IPv6 prefix-segment) + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - Advertises additional loopback addresses (beyond lo0.0 primary) into + * IS-IS with SR prefix-segment indices + * - Allows anycast or per-service loopbacks to be SR-reachable + * - Exported via ISIS export policy (protocols isis export [... SR_NONZERO_...]) + * - Index values are per-device; coordinate with SID allocation plan + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/transport/isis-global.conf (ISIS export referencing these policies) + */ + +policy-options { + policy-statement SR_NONZERO_LOOPBACKS_V4 { + term t1 { + from { + route-filter /32 exact; + } + then { + prefix-segment { + index ; + } + accept; + } + } + } + policy-statement SR_NONZERO_LOOPBACKS_V6 { + term t1 { + from { + family inet6; + route-filter /128 exact; + } + then { + prefix-segment { + index ; + } + accept; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/services/bgp-vpls-vsi.conf b/service_provider/low_latency_queueing/configuration/snips/junos/services/bgp-vpls-vsi.conf new file mode 100644 index 0000000..8631ee0 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/services/bgp-vpls-vsi.conf @@ -0,0 +1,50 @@ +/* + * Topic: BGP-VPLS virtual-switch with FAT pseudowire (midhaul L2) + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - instance-type virtual-switch with BGP-VPLS signaling (RFC 4761) + * - FAT pseudowire via flow-label-transmit / flow-label-receive for + * entropy-based LAG/ECMP load-balancing on midhaul circuits + * - site / site-identifier for auto-discovery and split-horizon + * - site-range 65534, label-block-size 4 (capacity planning) + * - no-tunnel-services: uses inline MPLS (no tunnel PIC needed) + * - bridge-domains stanza maps VLAN on Junos (vs vlans on EVO) + * - Body structure is byte-identical to the EVO sibling + * + * Pair with: + * - junos/interfaces/vlan-bridge.conf (vlan-bridge access units) + * - junos/cos/cos-binding-l3-service.conf (DSCP on service units) + * JVD service mapping: + * (no instances found in topology registry) + * + */ + +routing-instances { + { + instance-type virtual-switch; + protocols { + vpls { + site { + site-identifier ; + } + site-range 65534; + label-block-size 4; + no-tunnel-services; + flow-label-transmit; + flow-label-receive; + } + } + description ; + bridge-domains { + { + vlan-id ; + interface .; + } + } + interface .; + route-distinguisher :; + vrf-target target::; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-elan-vlan-based-irb.conf b/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-elan-vlan-based-irb.conf new file mode 100644 index 0000000..10a33e8 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-elan-vlan-based-irb.conf @@ -0,0 +1,44 @@ +/* + * Topic: EVPN-ELAN VLAN-based with IRB (mac-vrf, anycast gateway) + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - mac-vrf instance with EVPN + IRB for integrated routing and bridging + * - default-gateway no-gateway-community: suppresses type-5 gateway + * community advertisement (used when IRB is local-only or with VRF) + * - bridge-domains with routing-interface irb.X links L2 to L3 + * - The IRB interface is then placed into a VRF for L3VPN reachability + * - service-type vlan-based (one BD per instance) + * + * Pair with: + * - junos/interfaces/vlan-bridge.conf (vlan-bridge access units) + * - junos/services/l3vpn-irb.conf (L3VPN VRF hosting the IRB) + * - junos/cos/cos-binding-l3-service.conf (DSCP on IRB units) + * - junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf (MFC on IRB input) + * JVD service mapping: + * (no instances found in topology registry) + * + */ + +routing-instances { + { + instance-type mac-vrf; + protocols { + evpn { + default-gateway no-gateway-community; + } + } + bridge-domains { + { + vlan-id ; + interface .; + routing-interface irb.; + } + } + service-type vlan-based; + interface .; + route-distinguisher :; + vrf-target target::; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-fxc-vlan-aware.conf b/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-fxc-vlan-aware.conf new file mode 100644 index 0000000..7dccfaa --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-fxc-vlan-aware.conf @@ -0,0 +1,45 @@ +/* + * Topic: EVPN-VPWS Flexible Cross-Connect (FXC, midhaul) + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - EVPN-VPWS with flexible-cross-connect-vlan-aware for multi-endpoint + * bundling (two VLANs cross-connected through the same VPWS instance) + * - Two interface/vpws-service-id pairs per instance: each sub-interface + * gets its own local/remote pseudowire ID within the same RD/RT + * - Used for midhaul circuits where control-plane and user-plane VLANs + * are paired into a single VPWS FXC instance + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/interfaces/vlan-ccc.conf (vlan-ccc access units) + * - junos/cos/cos-binding-l3-service.conf (DSCP on service units) + */ + +routing-instances { + { + instance-type evpn-vpws; + protocols { + evpn { + interface . { + vpws-service-id { + local ; + remote ; + } + } + interface . { + vpws-service-id { + local ; + remote ; + } + } + flexible-cross-connect-vlan-aware; + } + } + interface .; + interface .; + route-distinguisher :; + vrf-target target::; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-vpws-vlan-based-sh.conf b/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-vpws-vlan-based-sh.conf new file mode 100644 index 0000000..d6a324b --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/services/evpn-vpws-vlan-based-sh.conf @@ -0,0 +1,40 @@ +/* + * Topic: EVPN-VPWS VLAN-based single-homed (midhaul/backhaul) + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - Point-to-point EVPN-VPWS for single-homed AN connections (AN4→SAG) + * - flow-label-transmit-static / flow-label-receive-static enables + * FAT pseudowire for LAG load-balancing without control-word negotiation + * - vpws-service-id local/remote identifies the pseudowire endpoints + * - Used where AN is single-homed (no ESI) directly to SAG + * + * Pair with: + * - junos/interfaces/vlan-ccc.conf (vlan-ccc access units) + * - junos/cos/cos-binding-l3-service.conf (DSCP binding on associated units) + * JVD service mapping: + * (no instances found in topology registry) + * + */ + +routing-instances { + { + instance-type evpn-vpws; + protocols { + evpn { + interface . { + vpws-service-id { + local ; + remote ; + } + } + flow-label-transmit-static; + flow-label-receive-static; + } + } + interface .; + route-distinguisher :; + vrf-target target::; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/services/l3vpn-irb.conf b/service_provider/low_latency_queueing/configuration/snips/junos/services/l3vpn-irb.conf new file mode 100644 index 0000000..8453b74 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/services/l3vpn-irb.conf @@ -0,0 +1,37 @@ +/* + * Topic: L3VPN VRF with IRB (anycast gateway, vrf-table-label) + * Seen on: + * Junos: sag_mx304 + * + * Highlights: + * - instance-type vrf for L3VPN routing + * - IRB interface provides routing for EVPN-ELAN bridge-domains + * - vrf-table-label allocates a single MPLS label for the VRF + * (simplifies PE-to-PE label allocation) + * - router-id set explicitly per-instance (required for multi-VRF ECMP) + * - On SAG, the mac-vrf ELAN provides L2 bridging with IRB linked to this VRF + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/interfaces/vlan-bridge.conf (vlan-bridge access units) + * - junos/services/evpn-elan-vlan-based-irb.conf (mac-vrf bridging to this VRF) + * - junos/cos/cos-binding-l3-service.conf (DSCP on service units) + * - junos/firewall/filter-mfc-ipv4-l3vpn-irb.conf (MFC on IRB input) + * JVD service mapping: + * (no instances found in topology registry) + * + */ + +routing-instances { + { + instance-type vrf; + routing-options { + router-id ; + } + description ; + interface irb.; + route-distinguisher :; + vrf-target target::; + vrf-table-label; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/transport/bgp-internal.conf b/service_provider/low_latency_queueing/configuration/snips/junos/transport/bgp-internal.conf new file mode 100644 index 0000000..8e0d5fb --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/transport/bgp-internal.conf @@ -0,0 +1,47 @@ +/* + * Topic: BGP internal (iBGP) — labeled-unicast + route-reflector + * Seen on: + * Junos: sag_mx304 + * EVO: (none) + * + * Highlights: + * - iBGP with inet/inet6 labeled-unicast for inter-area MPLS connectivity + * - rib-group inet3-to-inet0 installs labeled routes into inet.0 (for next-hop resolution) + * - CR devices act as route-reflectors (cluster-id = own router-id) + * - log-updown + multipath enabled at group or global level + * - export next-hop-self on iBGP peering sessions + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/policy/next-hop-self.conf (BGP export policy) + * - junos/policy/allow-loopback.conf (rib-group import filter) + * - junos/transport/isis-global.conf (underlay providing next-hop reachability) + */ + +protocols { + bgp { + group { + type internal; + local-address ; + family inet { + labeled-unicast { + rib-group inet3-to-inet0; + rib { + inet.3; + } + } + } + family inet6 { + labeled-unicast { + rib { + inet6.3; + } + } + } + export next-hop-self; + neighbor ; + } + log-updown; + multipath; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/transport/isis-global.conf b/service_provider/low_latency_queueing/configuration/snips/junos/transport/isis-global.conf new file mode 100644 index 0000000..0d3cc42 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/transport/isis-global.conf @@ -0,0 +1,49 @@ +/* + * Topic: IS-IS global — segment routing, SPF tuning, TI-LFA backup + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 + * EVO: (none) + * + * Highlights: + * - Segment Routing: SRGB 16000 + 80000 range, node-segment with IPv4/IPv6 indices + * - explicit-null for penultimate-hop transparency (preserves QoS to egress) + * - Level 2 wide-metrics-only (required for TE and SR) + * - SPF delay 100ms with 5 rapid runs before dampening + * - Backup SPF: TI-LFA with up to 5 labels, uses source-packet-routing + * - Exports SR_NONZERO_LOOPBACKS_V4/V6 for multi-loopback SR advertisement + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/policy/sr-nonzero-loopbacks.conf + * - junos/transport/bgp-internal.conf + * - junos/transport/mpls-global.conf + * - junos/transport/isis-interface.conf (per-interface config) + * - junos/policy/sr-nonzero-loopbacks.conf (SR prefix-segment export) + */ + +protocols { + isis { + interface lo0.0 { + passive; + } + source-packet-routing { + srgb start-label 16000 index-range 80000; + node-segment { + ipv4-index ; + ipv6-index ; + } + explicit-null; + } + level 2 wide-metrics-only; + spf-options { + delay 100; + rapid-runs 5; + } + backup-spf-options { + use-post-convergence-lfa maximum-labels 5; + use-source-packet-routing; + } + export [ SR_NONZERO_LOOPBACKS_V4 SR_NONZERO_LOOPBACKS_V6 ]; + ignore-attached-bit; + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/transport/isis-interface.conf b/service_provider/low_latency_queueing/configuration/snips/junos/transport/isis-interface.conf new file mode 100644 index 0000000..5ef98db --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/transport/isis-interface.conf @@ -0,0 +1,40 @@ +/* + * Topic: IS-IS interface — level 2, TI-LFA, BFD, point-to-point + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 + * EVO: (none) + * + * Highlights: + * - Level-2 only (level 1 disabled) — flat IS-IS domain + * - post-convergence-lfa with node-protection (TI-LFA) + * - BFD liveness-detection: 100ms minimum-interval × 3 multiplier = 300ms detect + * - Point-to-point on all inter-router links (no DIS election) + * - Metric 10 on all links (uniform cost for ECMP) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/transport/isis-global.conf (SR, spf-options, backup-spf-options) + * - junos/transport/mpls-global.conf (MPLS interface enablement) + */ + +protocols { + isis { + interface .0 { + level 2 { + post-convergence-lfa { + node-protection cost 16777214; + } + metric 10; + } + level 1 disable; + point-to-point; + family inet { + bfd-liveness-detection { + minimum-interval 100; + multiplier 3; + no-adaptation; + } + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/transport/load-balance-pplb.conf b/service_provider/low_latency_queueing/configuration/snips/junos/transport/load-balance-pplb.conf new file mode 100644 index 0000000..5754f52 --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/transport/load-balance-pplb.conf @@ -0,0 +1,27 @@ +/* + * Topic: Forwarding-table load-balance + chained-composite-next-hop + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * + * Highlights: + * - export PPLB enables per-flow ECMP across equal-cost paths + * - chained-composite-next-hop for EVPN, L3VPN, and L2CKT services + * enables hierarchical next-hop chains (required for EVPN-VPWS MH) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/policy/pplb.conf (PPLB policy definition) + */ + +routing-options { + forwarding-table { + export PPLB; + chained-composite-next-hop { + ingress { + l2ckt; + evpn; + l3vpn; + } + } + } +} diff --git a/service_provider/low_latency_queueing/configuration/snips/junos/transport/mpls-global.conf b/service_provider/low_latency_queueing/configuration/snips/junos/transport/mpls-global.conf new file mode 100644 index 0000000..ed2ed8c --- /dev/null +++ b/service_provider/low_latency_queueing/configuration/snips/junos/transport/mpls-global.conf @@ -0,0 +1,35 @@ +/* + * Topic: MPLS global — PCE-controlled LSPs, TTL, ICMP tunneling, IPv6 + * Seen on: + * Junos: ag2_1_mx204 ag2_2_mx204 ag3_1_mx480 ag3_2_mx480 sag_mx304 + * EVO: (none) + * + * Highlights: + * - lsp-external-controller pccd (NorthStar/Paragon PCE-initiated LSPs) + * - no-propagate-ttl hides MPLS core hops from traceroute + * - icmp-tunneling enables ICMP error reporting through MPLS tunnels + * - ipv6-tunneling for 6PE/6VPE over MPLS core + * - optimize-timer 180 seconds for CSPF re-optimization + * - Interface list is per-device (all inter-router AE interfaces + lo0) + * - Body is byte-identical to the EVO sibling + * + * Pair with: + * - junos/transport/isis-interface.conf + * - junos/transport/isis-global.conf (SR/ISIS underlay) + */ + +protocols { + mpls { + lsp-external-controller pccd; + log-updown { + syslog; + trap; + } + no-propagate-ttl; + icmp-tunneling; + optimize-timer 180; + ipv6-tunneling; + interface lo0.0; + interface .0; + } +}