From 27db7fce979342e51b9b8b82ea381e9cc51b474b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Darren=20O=E2=80=99Connor?= Date: Tue, 12 May 2026 13:07:37 -0400 Subject: [PATCH 1/6] feat: Add TE-6.5 Community-based dynamic route-leaking between VRFs FNT requirements --- .../community_based_route_leak/README.md | 202 +++ .../metadata.textproto | 7 + testregistry.textproto | 1250 ++++++++--------- 3 files changed, 833 insertions(+), 626 deletions(-) create mode 100644 feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md create mode 100644 feature/bgp/route_selection/otg_tests/community_based_route_leak/metadata.textproto diff --git a/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md b/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md new file mode 100644 index 00000000000..01246a59442 --- /dev/null +++ b/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md @@ -0,0 +1,202 @@ +# TE-6.5: Community-based dynamic route-leaking between VRFs + +## Objective + +Validate the router's (DUT) capability to dynamically leak routes between VRFs (Virtual Routing and Forwarding instances) based on BGP communities. Specifically, this test verifies that routing information can be dynamically exported from the Default/Global routing instance to a non-default URPF VRF when the routes contain any of the following standard BGP communities: + +* `65532:10100` (AS15169.INTERNAL) +* `65532:10110` (AS15169.EXTERNAL) +* `65532:10730` (AS139070.EXTERNAL) +* `65532:10740` (AS139190.EXTERNAL) + +The leaked routes must retain all relevant BGP attributes (such as MED, AS path, Local Pref, etc.) during the VRF leaking process. + +## Testbed Type + +* [`featureprofiles/topologies/atedut_2.testbed`](https://github.com/openconfig/featureprofiles/blob/main/topologies/atedut_2.testbed) + +## Topology + +```mermaid +graph LR; +A[ATE:Port1] <--eBGP (Default VRF)--> B[DUT:Port1]; +C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; +``` + +* **DUT:Port1**: Belongs to the Default/Global network instance. +* **DUT:Port2**: Belongs to a non-default URPF network instance. +* **ATE:Port1**: Peers with the DUT in the Default network instance. +* **ATE:Port2**: Peers with the DUT in the URPF network instance. + +--- + +## Procedure + +### DUT Configuration + +1. Create a non-default VRF named `URPF` with `L3VRF` type. +2. Assign DUT:Port2 to the `URPF` network instance. Keep DUT:Port1 in the Default network instance. +3. Configure eBGP sessions: + * Global BGP session between DUT:Port1 (AS 65003) and ATE:Port1 (AS 65001). + * BGP session in `URPF` VRF between DUT:Port2 (AS 65003) and ATE:Port2 (AS 65002). +4. Configure a BGP community set containing the standard communities: + * `65532:10100` + * `65532:10110` + * `65532:10730` + * `65532:10740` +5. Configure a routing policy that matches any community in the defined set, and dynamically imports matching routes from the Default instance into the `URPF` instance, retaining BGP attributes. Apply this import policy to the `URPF` network instance. + +### ATE Configuration + +* Peering sessions: + * **Session 1**: ATE:Port1 (AS 65001) peers to DUT:Port1. + * **Session 2**: ATE:Port2 (AS 65002) peers to DUT:Port2. +* **ATE Traffic flow**: + * Traffic is generated from ATE:Port2 (URPF) to the prefixes advertised by ATE:Port1 (Default). + * PPS: 10,000, frame size: 256 bytes. + +--- + +### Test Cases + +#### TE-6.5.1: Dynamic Route Leak on BGP Community Match + +1. From ATE:Port1, advertise a list of prefixes (e.g., `100.1.1.0/24` and `2001:db8:1::/48`) containing one of the matching communities (e.g., `65532:10100`). +2. Verify using state paths that the advertised routes are installed in both the Default routing instance table and dynamically imported into the `URPF` routing instance table. +3. Initiate traffic from ATE:Port2 to the advertised prefixes. +4. **Verification**: + * DUT dynamically leaks the matching routes to URPF. + * Traffic flows with 0% packet loss. + * Leaked routes on the DUT URPF instance retain their BGP attributes (MED and AS path must match the ones advertised from ATE:Port1). + +#### TE-6.5.2: No Route Leak on Community Absence + +1. From ATE:Port1, advertise a new list of prefixes (e.g., `100.2.2.0/24` and `2001:db8:2::/48`) containing either *no communities* or a non-matching community (e.g., `65532:9999`). +2. Verify that the routes are installed in the Default instance but *not* imported/leaked into the `URPF` VRF table. +3. Initiate traffic from ATE:Port2 to these prefixes. +4. **Verification**: + * No routes are leaked. + * 100% traffic loss is observed. + +#### TE-6.5.3: Dynamic Route Removal on Community Withdrawal + +1. Update the advertisements from ATE:Port1 in case **TE-6.5.1** by withdrawing the matching BGP community from the routes. +2. Verify that the routes are dynamically removed from the URPF routing table (retaining them only in the Default instance routing table). +3. Initiate traffic from ATE:Port2 to the prefixes. +4. **Verification**: + * Leaked routes are dynamically withdrawn and removed. + * 100% traffic loss is observed. + +--- + +## Canonical OC + +```json +{ + "network-instances": { + "network-instance": [ + { + "name": "DEFAULT", + "config": { + "name": "DEFAULT", + "type": "DEFAULT_INSTANCE" + } + }, + { + "name": "URPF", + "config": { + "name": "URPF", + "type": "L3VRF" + }, + "inter-instance-policies": { + "apply-policy": { + "config": { + "import-policy": ["leak-matching-communities"] + } + } + } + } + ] + }, + "routing-policy": { + "defined-sets": { + "bgp-defined-sets": { + "community-sets": { + "community-set": [ + { + "community-set-name": "leak-communities", + "config": { + "community-set-name": "leak-communities", + "community-member": [ + "65532:10100", + "65532:10110", + "65532:10730", + "65532:10740" + ] + } + } + ] + } + } + }, + "policy-definitions": { + "policy-definition": [ + { + "name": "leak-matching-communities", + "config": { + "name": "leak-matching-communities" + }, + "statements": { + "statement": [ + { + "name": "leak-rule", + "config": { + "name": "leak-rule" + }, + "conditions": { + "bgp-conditions": { + "match-community-set": { + "config": { + "community-set": "leak-communities", + "match-set-options": "ANY" + } + } + } + }, + "actions": { + "config": { + "policy-result": "ACCEPT_ROUTE" + } + } + } + ] + } + } + ] + } + } +} +``` + +## OpenConfig Path and RPC Coverage + +```yaml +paths: + /network-instances/network-instance/config/type: + /network-instances/network-instance/inter-instance-policies/apply-policy/config/import-policy: + /routing-policy/defined-sets/bgp-defined-sets/community-sets/community-set/config/community-member: + /routing-policy/policy-definitions/policy-definition/statements/statement/conditions/bgp-conditions/match-community-set/config/community-set: + /routing-policy/policy-definitions/policy-definition/statements/statement/conditions/bgp-conditions/match-community-set/config/match-set-options: + /routing-policy/policy-definitions/policy-definition/statements/statement/actions/config/policy-result: + +rpcs: + gnmi: + gNMI.Get: + gNMI.Set: + gNMI.Subscribe: +``` + +## Required DUT Platform + +* FFF +* MFF diff --git a/feature/bgp/route_selection/otg_tests/community_based_route_leak/metadata.textproto b/feature/bgp/route_selection/otg_tests/community_based_route_leak/metadata.textproto new file mode 100644 index 00000000000..e78dcac7163 --- /dev/null +++ b/feature/bgp/route_selection/otg_tests/community_based_route_leak/metadata.textproto @@ -0,0 +1,7 @@ +# proto-file: third_party/openconfig/featureprofiles/proto/metadata.proto +# proto-message: Metadata + +uuid: "c09345b2-bddf-4e5c-b4c4-22424e8cb605" +plan_id: "TE-6.5" +description: "Community-based dynamic route-leaking between VRFs" +testbed: TESTBED_DUT_ATE_2LINKS diff --git a/testregistry.textproto b/testregistry.textproto index f36a8c95d06..43345259232 100644 --- a/testregistry.textproto +++ b/testregistry.textproto @@ -76,7 +76,7 @@ test: { id: "ACL-1.3" description: "Large Scale ACL with TCAM profile" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/acl/otg_tests/large_scale_acl/README.md" - exec: " " + exec: " " } test: { id: "AFT-1.1" @@ -88,7 +88,6 @@ test: { id: "AFT-1.2" description: "AFTs slow collector" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/afts/otg_tests/afts_slowcollector/README.md" - exec: "" } test: { id: "AFT-1.3" @@ -100,7 +99,6 @@ test: { id: "AFT-2.1" description: "AFTs Prefix Counters" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/afts/prefix_counters/otg_tests/afts_prefix_counters/README.md" - exec: "" } test: { id: "AFT-3.1" @@ -115,19 +113,10 @@ test: { exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/afts/otg_tests/afts_reboot/afts_reboot_test.go" } test: { - id: "attestz-1" - description: "Validate attestz for initial install" - readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/system/attestz/tests/README.md" -} -test: { - id: "attestz-2" - description: "Validate oIAK and oIDevID rotation" - readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/system/attestz/tests/README.md" -} -test: { - id: "attestz-3" - description: "Validate post-install re-attestation" - readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/system/attestz/tests/README.md" + id: "Authz" + description: "General Authz (1-4) tests" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnsi/authz/tests/authz/README.md" + exec: " " } test: { id: "Authz-1" @@ -153,6 +142,12 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/authz/tests/README.md" exec: " " } +test: { + id: "BMP-1.1" + description: "BMP Session Establishment and Telemetry Test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/bmp/otg_tests/bmp_base_session_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/bmp/otg_tests/bmp_base_session_test/bmp_base_session_test.go" +} test: { id: "BMP-2.1" description: "BMP session establishment" @@ -202,29 +197,74 @@ test: { exec: " " } test: { - id: "Certz-1" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/certz/client_certificates/README.md" + id: "CFM-1.1" + description: "CFM over ETHoCWoMPLSoGRE" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/cfm/otg_tests/cfm_base/README.md" } test: { - id: "Certz-2" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/certz/server_certificates/README.md" + id: "CL-1.1" + description: "FNT Codelab covering basic interface setup." + readme: "" } test: { - id: "Certz-3" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/certz/server_certificate_rotation/README.md" + id: "CNTR-1" + description: "Basic container lifecycle via `gnoi.Containerz`." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" + exec: " " } test: { - id: "Certz-4" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/certz/trust_bundle/README.md" + id: "CNTR-1.1" + description: "Deploy and Start a Container" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" + exec: " " } test: { - id: "Certz-5" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ssecurity/gnsi/certz/trust_bundle_rotation/README.md" + id: "CNTR-1.2" + description: "Retrieve a running container's logs." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" + exec: " " } test: { - id: "CFM-1.1" - description: "CFM over ETHoCWoMPLSoGRE" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/cfm/otg_tests/cfm_base/README.md" + id: "CNTR-1.3" + description: "List the running containers on a DUT" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" + exec: " " +} +test: { + id: "CNTR-1.4" + description: "Stop a container running on a DUT." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" + exec: " " +} +test: { + id: "CNTR-2" + description: "Container network connectivity tests" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" + exec: " " +} +test: { + id: "CNTR-2.1" + description: "Connect to container from external client." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" + exec: " " +} +test: { + id: "CNTR-2.2" + description: "Connect to locally running service." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" + exec: " " +} +test: { + id: "CNTR-2.3" + description: "Connect to a remote node." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" + exec: " " +} +test: { + id: "CNTR-2.4" + description: "Connect to another container on a local node" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" + exec: " " } test: { id: "CNTR-3" @@ -237,6 +277,26 @@ test: { readme: "" exec: " " } +test: { + id: "Certz-1" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/certz/client_certificates/README.md" +} +test: { + id: "Certz-2" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/certz/server_certificates/README.md" +} +test: { + id: "Certz-3" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/certz/server_certificate_rotation/README.md" +} +test: { + id: "Certz-4" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/certz/trust_bundle/README.md" +} +test: { + id: "Certz-5" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ssecurity/gnsi/certz/trust_bundle_rotation/README.md" +} test: { id: "Credentialz-1" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/gnsi/credentialz/tests/README.md" @@ -315,7 +375,6 @@ test: { id: "DP-1.19" description: "Egress traffic DSCP rewrite" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/qos/otg_tests/egress_traffic_classification_and_rewrite_test/README.md" - exec: "" } test: { id: "DP-1.2" @@ -384,6 +443,11 @@ test: { description: "FPGA Component Status" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/fpga/tests/fpga_status_test/README.md" } +test: { + id: "HA-1.0" + description: "Telemetry: Firewall High Availability" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ha_groups/tests/telemetry_high_availability_test/README.md" +} test: { id: "Health-1.1" description: "Generic Health Check" @@ -408,6 +472,24 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/integrated_circuit/otg_tests/utilization_threshold/README.md" exec: " " } +test: { + id: "IPSEC-1.1" + description: "IPSec with MACSec over aggregated links." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ipsec/otg_tests/ipsec_base/README.md" + exec: " " +} +test: { + id: "IPSEC-1.2" + description: "IPSec Scaling with MACSec over aggregated links." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ipsec/otg_tests/ipsec_scale/README.md" + exec: " " +} +test: { + id: "IPSEC-1.3" + description: "IPSec Packet-Order with MACSec over aggregated links." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ipsec/otg_tests/ipsec_packetorder/README.md" + exec: " " +} test: { id: "MGT-1" description: "Management HA test" @@ -426,6 +508,18 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/otg_tests/mpls_tc/README.md" exec: " " } +test: { + id: "MPLS-2.2" + description: "MPLS forwarding via static LSP to BGP next-hop." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/otg_tests/static_bgp_nexthop/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/otg_tests/static_bgp_nexthop/static_bgp_nexthop_test.go" +} +test: { + id: "MSEC-1.1" + description: "MACsec Configuration and Verification (DUT-to-DUT)" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/macsec/otg_tests/macsec/README.md" + exec: " " +} test: { id: "MTU-1.3" description: "Large IP Packet Transmission" @@ -490,6 +584,12 @@ test: { id: "P4RT-3.2" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/p4rt/otg_tests/google_discovery_protocol_packetout_test/README.md" } +test: { + id: "P4RT-3.21" + description: "Google Discovery Protocol: PacketOut with LAG" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/p4rt/otg_tests/google_discovery_protocol_packetout_lag_test/README.md" + exec: " " +} test: { id: "P4RT-5.1" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/p4rt/otg_tests/traceroute_packetin_test/README.md" @@ -520,47 +620,6 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/otg_tests/match_dscp_indirect_next_hop/README.md" exec: " " } -test: { - id: "PF-1.2" - description: "Policy-based traffic GRE Encapsulation to IPv4 GRE tunnel" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/encapsulation/otg_tests/encap_gre_ipv4/README.md" - exec: " " -} -test: { - id: "PF-1.4" - description: "GUEv1 Decapsulation rule using destination-address-prefix-set and TTL and DSCP behavior test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/decapsulation/otg_tests/ip_guev1_static_decap_subnet_range/README.md" - exec: " " -} -test: { - id: "PF-1.5" - description: "Interface based MPLSoGUE Decapsulation to IPv4 tunnel" - readme: " " - exec: " " -} -test: { - id: "PF-1.6" - description: "IPv4 & IPV6 based traffic steering from Non-default VRF to Default VRF using Policy based VRF selection" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/vrf_selection/otg_tests/vrf_selection/README.md" - exec: " " -} -test: { - id: "PF-1.7" - description: "Decapsulate MPLS in GRE and UDP" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/otg_tests/mpls_gre_udp_decap_test/README.md" - exec: " " -} -test: { - id: "PF-1.8" - description: "Ingress handling of TTL" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ttl/otg_tests/ingress/README.md" - exec: " " -}test: { - id: "PF-1.9" - description: "Egress handling of TTL" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ttl/otg_tests/egress/README.md" - exec: " " -} test: { id: "PF-1.10" description: "DSCP Egress handling, all egress packets IP, IPoGRE, IPoMPLSoGRE and IPoGUE, IPoMPLSoGUE should have their DSCP values re-written to 0x0 via egress QOS policy (or equivalent)" @@ -620,6 +679,12 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/otg_tests/mpls_gue_ipv4_decap_test/README.md" exec: " " } +test: { + id: "PF-1.2" + description: "Policy-based traffic GRE Encapsulation to IPv4 GRE tunnel" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/encapsulation/otg_tests/encap_gre_ipv4/README.md" + exec: " " +} test: { id: "PF-1.20" description: "MPLSoGRE and MPLSoGUE MACsec" @@ -645,77 +710,99 @@ test: { exec: " " } test: { - id: "PF-2.3" - description: "Multiple VRFs and GUE DECAP in Default VRF" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/vrf_selection/otg_tests/multiple_vrfs_and_gue_decap/README.md" - exec: " " -} -test: { - id: "PLT-1.1" - description: "Interface breakout Test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/tests/breakout_configuration/README.md" + id: "PF-1.24" + description: "Add and remove interface bound to PBF" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/otg_tests/add_remove_policy_bound_interface_test/README.md" exec: " " } test: { - id: "PLT-1.2" - description: "Interface parent component Test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/tests/interface_parent_component/README.md" - exec: " " + id: "PF-1.25" + description: "MPLS based forwarding Static LSP" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/otg_tests/static_lsp_test/README.md" } test: { - id: "RELAY-1.1" - description: "DHCP Relay functionality" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/helper_address/otg_tests/relay_agent_test/README.md" + id: "PF-1.26" + description: "Double GUE Decapsulation" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/otg_tests/double_gue_decap/README.md" exec: " " } test: { - id: "RT-1.1" - description: "Base BGP Session Parameters" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/otg_tests/base_bgp_session_parameters/README.md" + id: "PF-1.3" + description: "Policy-based IPv4 GRE Decapsulation" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/encapsulation/otg_tests/decap_gre_ipv4/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/encapsulation/otg_tests/decap_gre_ipv4/decap_gre_ipv4_test.go" } test: { - id: "RT-1.2" - description: "BGP Policy & Route Installation" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/policybase/otg_tests/route_installation_test/README.md" + id: "PF-1.4" + description: "GUEv1 Decapsulation rule using destination-address-prefix-set and TTL and DSCP behavior test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/decapsulation/otg_tests/ip_guev1_static_decap_subnet_range/README.md" exec: " " } test: { - id: "RT-1.3" - description: "BGP Route Propagation" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/addpath/ate_tests/route_propagation_test/README.md" + id: "PF-1.5" + description: "Interface based MPLSoGUE Decapsulation to IPv4 tunnel" + readme: " " exec: " " } test: { - id: "RT-1.4" - description: "BGP Graceful Restart" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/gracefulrestart/ate_tests/bgp_graceful_restart_test/README.md" + id: "PF-1.6" + description: "IPv4 & IPV6 based traffic steering from Non-default VRF to Default VRF using Policy based VRF selection" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/vrf_selection/otg_tests/vrf_selection/README.md" exec: " " } test: { - id: "RT-1.5" - description: "BGP Prefix Limit" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/prefixlimit/otg_tests/bgp_prefix_limit_test/README.md" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/prefixlimit/ate_tests/bgp_prefix_limit_test/README.md" + id: "PF-1.7" + description: "Decapsulate MPLS in GRE and UDP" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/otg_tests/mpls_gre_udp_decap_test/README.md" exec: " " } test: { - id: "RT-1.7" - description: "Local BGP Test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/tests/local_bgp_test/README.md" + id: "PF-1.8" + description: "Ingress handling of TTL" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ttl/otg_tests/ingress/README.md" exec: " " } test: { - id: "RT-1.8" - description: "BGP Route Reflector test at scale" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/routereflector/otg_tests/route_reflector_scale/README.md" + id: "PF-1.9" + description: "Egress handling of TTL" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ttl/otg_tests/egress/README.md" exec: " " } test: { - id: "RT-1.9" - description: "BGP Transport Parameters test" - readme: "" + id: "PF-2.3" + description: "Multiple VRFs and GUE DECAP in Default VRF" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/vrf_selection/otg_tests/multiple_vrfs_and_gue_decap/README.md" + exec: " " +} +test: { + id: "PLT-1.1" + description: "Interface breakout Test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/tests/breakout_configuration/README.md" + exec: " " +} +test: { + id: "PLT-1.2" + description: "Interface parent component Test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/tests/interface_parent_component/README.md" + exec: " " +} +test: { + id: "PLT-1.3" + description: "OnChange Subscription Test for Breakout Interfaces" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/tests/breakout_subscription_test/README.md" + exec: " " +} +test: { + id: "RELAY-1.1" + description: "DHCP Relay functionality" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/helper_address/otg_tests/relay_agent_test/README.md" exec: " " } +test: { + id: "RT-1.1" + description: "Base BGP Session Parameters" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/otg_tests/base_bgp_session_parameters/README.md" +} test: { id: "RT-1.10" description: "RT-1.10: BGP Keepalive and Holdtimer configuration" @@ -836,6 +923,12 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/policybase/otg_tests/chained_policies/README.md" exec: " " } +test: { + id: "RT-1.3" + description: "BGP Route Propagation" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/addpath/ate_tests/route_propagation_test/README.md" + exec: " " +} test: { id: "RT-1.30" description: "BGP nested import/export policy attachment" @@ -876,6 +969,19 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/otg_tests/aigp_test/README.md" exec: " " } +test: { + id: "RT-1.4" + description: "BGP Graceful Restart" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/gracefulrestart/ate_tests/bgp_graceful_restart_test/README.md" + exec: " " +} +test: { + id: "RT-1.5" + description: "BGP Prefix Limit" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/prefixlimit/otg_tests/bgp_prefix_limit_test/README.md" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/prefixlimit/ate_tests/bgp_prefix_limit_test/README.md" + exec: " " +} test: { id: "RT-1.51" description: "BGP multipath ECMP" @@ -978,12 +1084,53 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/staticroute/otg_tests/static_route_with_vlan_interface/README.md" exec: " " } +test: { + id: "RT-1.7" + description: "Local BGP Test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/tests/local_bgp_test/README.md" + exec: " " +} test: { id: "RT-1.71" description: "BGP Disable Peer AS Filter (disable-peer-as-filter)" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/bgp_disable_peer_as_filter_test/README.md" exec: " " } +test: { + id: "RT-1.8" + description: "BGP Route Reflector test at scale" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/routereflector/otg_tests/route_reflector_scale/README.md" + exec: " " +} +test: { + id: "RT-1.9" + description: "BGP Transport Parameters test" + readme: "" + exec: " " +} +test: { + id: "RT-10.1" + description: "Default Route Generation based on 192.0.0.0/8 Presence" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/generate_route/otg_tests/generate_default_route/README.md" +} +test: { + id: "RT-10.2" + description: "Non-default Route Generation based on 192.168.2.2/32 Presence in ISIS" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/policy/otg_tests/generate_route/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/policy/otg_tests/generate_route/generate_route_test.go" +} +test: { + id: "RT-14.2" + description: "GRIBI Route Test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/gribi_route_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/gribi_route_test/gribi_route_test.go" +} +test: { + id: "RT-2.1" + description: "Base IS-IS Process and Adjacencies" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/otg_tests/base_adjacencies_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/otg_tests/base_adjacencies_test/base_adjacencies_test.go" +} test: { id: "RT-2.10" description: "IS-IS change LSP lifetime" @@ -1031,6 +1178,12 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/otg_tests/isis_scale_test/README.md" exec: " " } +test: { + id: "RT-2.18" + description: "IS-IS Multi-adjacencies scale test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/otg_tests/isis_scale_multi_adjacency_test/README.md" + exec: " " +} test: { id: "RT-2.2" description: "IS-IS LSP Updates" @@ -1114,7 +1267,6 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/afts/summary/otg_tests/scale_aft_summary/README.md" exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/afts/summary/otg_tests/scale_aft_summary/route_test.go" } - test: { id: "RT-5.1" description: "Singleton Interface" @@ -1127,6 +1279,36 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/ip/ipv6_slaac_link_local_test/otg_tests/ipv6_slaac_link_local_test/README.md" exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/ip/ipv6_slaac_link_local_test/otg_tests/ipv6_slaac_link_local_test/ipv6_slaac_link_local_test.go" } +test: { + id: "RT-5.11" + description: "Interface LACP Intervals" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/lacp/tests/lacp_interval_test/README.md" + exec: " " +} +test: { + id: "RT-5.12" + description: "Suppress IPv6 ND Router Advertisement [Depreciated]" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/ip/ipv6_ND/otg_tests/suppress_ipv6_nd_ra_test/README.md" + exec: " " +} +test: { + id: "RT-5.13" + description: "Ethernet Interface Flow control" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/singleton/otg_tests/flow_control/README.md" + exec: " " +} +test: { + id: "RT-5.14" + description: "Aggregate Subinterface" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/aggregate/otg_tests/aggregate_subinterface/README.md" + exec: " " +} +test: { + id: "RT-5.15" + description: "LACP Fallback Support" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/lacp/otg_tests/lacp_fallback_test/README.md" + exec: " " +} test: { id: "RT-5.2" description: "Aggregate Interfaces" @@ -1174,36 +1356,6 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/ip/ipv6_ND/otg_tests/disable_ipv6_nd_ra_test/README.md" exec: " " } -test: { - id: "RT-5.11" - description: "Interface LACP Intervals" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/lacp/tests/lacp_interval_test/README.md" - exec: " " -} -test: { - id: "RT-5.12" - description: "Suppress IPv6 ND Router Advertisement [Depreciated]" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/ip/ipv6_ND/otg_tests/suppress_ipv6_nd_ra_test/README.md" - exec: " " -} -test: { - id: "RT-5.13" - description: "Ethernet Interface Flow control" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/singleton/otg_tests/flow_control/README.md" - exec: " " -} -test: { - id: "RT-5.14" - description: "Aggregate Subinterface" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/aggregate/otg_tests/aggregate_subinterface/README.md" - exec: " " -} -test: { - id: "RT-5.15" - description: "LACP Fallback Support" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/lacp/otg_tests/lacp_fallback_test/README.md" - exec: " " -} test: { id: "RT-6.1" description: "Core LLDP TLV Population" @@ -1220,6 +1372,12 @@ test: { id: "RT-7.1" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/policybase/otg_tests/default_policies_test/README.md" } +test: { + id: "RT-7.10" + description: "Routing policy statement insertion and removal" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/policybase/otg_tests/statement_insertion_removal/README.md" + exec: " " +} test: { id: "RT-7.11" description: "RT-7.11: BGP Policy - Import/Export Policy Action Using Multiple Criteria" @@ -1279,12 +1437,6 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/policybase/otg_tests/multipath_bgp_ecmp_protocol_nexthop/README.md" exec: " " } -test: { - id: "RT-7.10" - description: "Routing policy statement insertion and removal" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/policybase/otg_tests/statement_insertion_removal/README.md" - exec: " " -} test: { id: "RT-8" description: "Singleton with breakouts" @@ -1307,11 +1459,6 @@ test: { description: "Static MAC address" readme: "" } -test: { - id: "RT-10.1" - description: "Default Route Generation based on 192.0.0.0/8 Presence" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/generate_route/otg_tests/generate_default_route/README.md" -} test: { id: "Replay-1.0" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/replay/tests/presession_test/README.md" @@ -1324,6 +1471,11 @@ test: { id: "Replay-1.2" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/replay/tests/p4rt_replay/README.md" } +test: { + id: "SEC-3.1" + description: "TLS Authentication over gRPC" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/aaa/kne_tests/tls_authentication_over_grpc_test/README.md" +} test: { id: "SFLOW-1" description: "sFlow Configuration and Traffic Sampling" @@ -1331,58 +1483,166 @@ test: { exec: " " } test: { - id: "Storage-1.1" - description: "Storage Error Counters" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/tests/storage/README.md" + id: "SR-1.1" + description: "Transit forwarding to Node-SID via ISIS" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/sr/otg_tests/isis_node_sid_forward/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/sr/otg_tests/isis_node_sid_forward/isis_node_sid_forward_test.go" } test: { - id: "System-1" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/tests/system_base_test/README.md" + id: "SR-1.2" + description: "Egress Node Forwarding for MPLS traffic with Explicit Null label" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/sr/otg_tests/srte_egress_node_forwarding/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/sr/otg_tests/srte_egress_node_forwarding/egress_node_forwading_test.go" } test: { - id: "TE-1.1" - description: "Static ARP" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/staticarp/otg_tests/static_arp_test/README.md" + id: "SYS-1.1" + description: "Test default COPP policy thresholds" + readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/system/control_plane_traffic/otg_tests/default_copp_test/README.md" exec: " " } test: { - id: "TE-1.1" - description: "Static ARP" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/staticarp/ate_tests/static_arp_test/README.md" - exec: " " + id: "SYS-2.1" + description: "Ingress control-plane ACL." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/control_plane_traffic/otg_tests/ingress_acl/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/control_plane_traffic/otg_tests/ingress_acl/control_plane_traffic_ingress_acl_test.go" } test: { - id: "TE-10" - description: "gRIBI MPLS Forwarding" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/mpls_forwarding/README.md" + id: "SYS-3.1" + description: "AAA and TACACS+ Configuration Verification Test Suite" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/aaa/tests/tacacs/README.md" + exec: " " } test: { - id: "TE-11.2" - description: "Backup NHG: Multiple NH" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_multiple_nh_test/README.md" + id: "SYS-4.1" + description: "System Mount Points State Verification" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/mount_points/tests/system_mount_points_state/README.md" exec: " " } test: { - id: "TE-11.2" - description: "Backup NHG: Multiple NH" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/ate_tests/backup_nhg_multiple_nh_test/README.md" - exec: " " + id: "Storage-1.1" + description: "Storage Error Counters" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/tests/storage/README.md" } test: { - id: "TE-14.1" - description: "gRIBI Scaling" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/gribi_scaling/README.md" - exec: " " + id: "System-1" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/tests/system_base_test/README.md" } test: { - id: "TE-14.2" - description: "gRIBI encap and decap scale" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/encap_decap_scale/README.md" + id: "System-1.1" + description: "System banner test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/system_banner_test/README.md" exec: " " } test: { - id: "TE-14.3" - description: "TE-14.3: gRIBI Scaling - full scale setup, target T1" + id: "System-1.2" + description: "System g protocol test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/system_g_protocol_test/README.md" + exec: " " +} +test: { + id: "System-1.3" + description: "System hostname test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/hostname_test/README.md" + exec: " " +} +test: { + id: "System-1.4" + description: "System time test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/system_time_test/README.md" + exec: " " +} +test: { + id: "System-1.5" + description: "System software-version test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/system_software_version/README.md" + exec: " " +} +test: { + id: "TE-1.1" + description: "Static ARP" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/staticarp/otg_tests/static_arp_test/README.md" + exec: " " +} +test: { + id: "TE-1.1" + description: "Static ARP" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/staticarp/ate_tests/static_arp_test/README.md" + exec: " " +} +test: { + id: "TE-1.2" + description: "My Station MAC" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/my_station_mac/otg_tests/my_station_mac_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/my_station_mac/otg_tests/my_station_mac_test/my_station_mac_test.go" +} +test: { + id: "TE-10" + description: "gRIBI MPLS Forwarding" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/mpls_forwarding/README.md" +} +test: { + id: "TE-11.1" + description: "Backup NHG: Single NH" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_single_nh_test/README.md" + exec: " " +} +test: { + id: "TE-11.2" + description: "Backup NHG: Multiple NH" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_multiple_nh_test/README.md" + exec: " " +} +test: { + id: "TE-11.2" + description: "Backup NHG: Multiple NH" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/ate_tests/backup_nhg_multiple_nh_test/README.md" + exec: " " +} +test: { + id: "TE-11.21" + description: "Backup NHG: Multiple NH with PBF" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_multiple_nh_pbf_test/README.md" + exec: " " +} +test: { + id: "TE-11.3" + description: "Backup NHG: Actions" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_action/README.md" + exec: " " +} +test: { + id: "TE-11.31" + description: "Backup NHG: Actions with PBF" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_action_pbf/README.md" + exec: " " +} +test: { + id: "TE-13.1" + description: "gRIBI route ADD during Failover" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/route_addition_during_failover_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/route_addition_during_failover_test/route_addition_during_failover_test.go" +} +test: { + id: "TE-13.2" + description: "gRIBI route DELETE during Failover " + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/route_removal_during_failover_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/route_removal_during_failover_test/route_removal_during_failover_test.go" +} +test: { + id: "TE-14.1" + description: "gRIBI Scaling" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/gribi_scaling/README.md" + exec: " " +} +test: { + id: "TE-14.2" + description: "gRIBI encap and decap scale" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/encap_decap_scale/README.md" + exec: " " +} +test: { + id: "TE-14.3" + description: "TE-14.3: gRIBI Scaling - full scale setup, target T1" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/gribi_full_scale_t1/README.md" exec: " " } @@ -1423,7 +1683,7 @@ test: { id: "TE-17.1" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/vrf_policy_driven_te/README.md" } -test { +test: { id: "TE-18.1" description: "MPLS in UDP Encapsulation with QoS scheduler" readme: "" @@ -1432,6 +1692,12 @@ test: { id: "TE-18.3" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/mpls_in_udp_scale/README.md" } +test: { + id: "TE-18.4" + description: "ECMP hashing on outer and inner packets with MPLSoUDP encapsulation" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/mpls_in_udp/otg_tests/mpls_over_udp_tunnel_hashing_test/README.md" + exec: " " +} test: { id: "TE-2.1" description: "gRIBI IPv4 Entry" @@ -1444,6 +1710,12 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/ate_tests/ipv4_entry_test/README.md" exec: " " } +test: { + id: "TE-2.2" + description: "gRIBI IPv4 Entry With Aggregate Ports" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/ipv4_entry_with_aggregate_ports_test/README.md" + exec: " " +} test: { id: "TE-3.1" description: "Base Hierarchical Route Installation" @@ -1474,6 +1746,12 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/ate_tests/hierarchical_weight_resolution_test/README.md" exec: " " } +test: { + id: "TE-3.31" + description: "Hierarchical weight resolution with PBF" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/hierarchical_weight_resolution_pbf_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/hierarchical_weight_resolution_pbf_test/hierarchical_weight_resolution_pbf_test.go" +} test: { id: "TE-3.5" description: "Ordering: ACK Received" @@ -1582,6 +1860,18 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/gribi_to_bgp_redistribution/README.md" exec: " " } +test: { + id: "TE-6.5" + description: "Community-based dynamic route-leaking between VRFs" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md" + exec: " " +} +test: { + id: "TE-8.1" + description: "DUT Daemon Failure" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/dut_daemon_failure/README.md" + exec: " " +} test: { id: "TE-8.2" description: "Supervisor Failure" @@ -1604,11 +1894,6 @@ test: { description: "gRIBI FIB Failure due to hardware resource exhaust" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/fib_failed_due_to_hw_res_exhaust_test/README.md" } -test: { - id: "PF-1.25" - description: "MPLS based forwarding Static LSP" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/otg_tests/static_lsp_test/README.md" -} test: { id: "TR-6.1" description: "system logging remote syslog" @@ -1627,12 +1912,24 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_cd_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-1.2" + description: "Telemetry: 400ZR_PLUS Chromatic Dispersion(CD) telemetry values streaming" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_cd_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_cd_test/zrp_cd_test.go" +} test: { id: "TRANSCEIVER-10.1" description: "400ZR Optics FEC(Forward Error Correction) Uncorrectable Frames Streaming" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_fec_uncorrectable_frames_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-10.2" + description: "Telemetry: 400ZR_PLUS Optics FEC(Forward Error Correction) Uncorrectable Frames Streaming." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_fec_uncorrectable_frames_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_fec_uncorrectable_frames_test/zrp_fec_uncorrectable_frames_test.go" +} test: { id: "TRANSCEIVER-101" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_800_platform_paths_test/README.md" @@ -1669,56 +1966,116 @@ test: { id: "TRANSCEIVER-11.1" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_logical_channels_test/README.md" } +test: { + id: "TRANSCEIVER-11.2" + description: "Telemetry: 400ZR_PLUS Optics logical channels provisioning and related telemetry." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_logical_channels_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_logical_channels_test/zrp_logical_channels_test.go" +} test: { id: "TRANSCEIVER-12.1" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_supply_voltage_test/README.md" } +test: { + id: "TRANSCEIVER-12.2" + description: "Telemetry: 400ZR_PLUS Transceiver Supply Voltage streaming." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_supply_voltage_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_supply_voltage_test/zrp_supply_voltage_test.go" +} test: { id: "TRANSCEIVER-13.1" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_low_power_mode_test/README.md" } +test: { + id: "TRANSCEIVER-13.2" + description: "Configuration: 400ZR_PLUS Transceiver Low Power Mode Setting." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_low_power_mode_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_low_power_mode_test/zrp_low_power_mode_test.go" +} test: { id: "TRANSCEIVER-3.1" description: "400ZR Optics firmware version streaming" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_firmware_version_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-3.2" + description: "Telemetry: 400ZR_PLUS Optics firmware version streaming" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_firmware_version_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_firmware_version_test/zrp_firmware_version_test.go" +} test: { id: "TRANSCEIVER-4.1" description: "400ZR Optics RX Input and TX Output Power streaming" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_input_output_power_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-4.2" + description: "Telemetry: 400ZR_PLUS RX input and TX output power telemetry values streaming." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_input_output_power_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_input_output_power_test/zrp_input_output_power_test.go" +} test: { id: "TRANSCEIVER-5.1" description: "400ZR channel frequency and output TX launch power setting" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_tunable_parameters_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-5.2" + description: "Configuration: 400ZR_PLUS channel frequency, output TX launch power and operational mode setting." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_tunable_parameters_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_tunable_parameters_test/zrp_tunable_parameters_test.go" +} test: { id: "TRANSCEIVER-6.1" description: "400ZR Optics performance metrics (pm) streaming." readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_pm_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-6.2" + description: "Telemetry: 400ZR_PLUS Optics performance metrics (pm) streaming." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_pm_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_pm_test/zrp_pm_test.go" +} test: { id: "TRANSCEIVER-7.1" description: "Telemetry: 400ZR Optics inventory info streaming" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_inventory_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-7.2" + description: "Telemetry: 400ZR_PLUS Optics inventory info streaming" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_inventory_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_inventory_test/zrp_inventory_test.go" +} test: { id: "TRANSCEIVER-8.1" description: "400ZR Optics module temperature streaming" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_temperature_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-8.2" + description: "Telemetry: 400ZR_PLUS Optics module temperature streaming." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_temperature_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_temperature_test/zrp_temperature_test.go" +} test: { id: "TRANSCEIVER-9.1" description: "400ZR TX laser bias current telemetry values streaming" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zr_laser_bias_current_test/README.md" exec: " " } +test: { + id: "TRANSCEIVER-9.2" + description: "Telemetry: 400ZR_PLUS TX laser bias current telemetry values streaming." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_laser_bias_current_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_laser_bias_current_test/zrp_laser_bias_current_test.go" +} test: { id: "TUN-1.1" description: "Filter based IPv4 GRE encapsulation" @@ -1779,6 +2136,24 @@ test: { readme: "" exec: " " } +test: { + id: "TUN-2.10" + description: "ECMP hashing based on outer and Inner header for GRE packets" + readme: "" + exec: " " +} +test: { + id: "TUN-2.15" + description: "Interface based GUE encapsulation with IPv4 outer header" + readme: "" + exec: " " +} +test: { + id: "TUN-2.16" + description: "Interface based GUE encapsulation with IPv6 outer header" + readme: "" + exec: " " +} test: { id: "TUN-2.2" description: "GUE IPv6 traffic encapsulation" @@ -1828,28 +2203,31 @@ test: { exec: " " } test: { - id: "TUN-2.10" - description: "ECMP hashing based on outer and Inner header for GRE packets" - readme: "" + id: "URPF-1.1" + description: "uRPF validation from non-default network-instance" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/urpf/otg_tests/urpf_vrf_test/README.md" exec: " " } - test: { - id: "TUN-2.15" - description: "Interface based GUE encapsulation with IPv4 outer header" - readme: "" - exec: " " + id: "attestz-1" + description: "Validate attestz for initial install" + readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/system/attestz/tests/README.md" } test: { - id: "TUN-2.16" - description: "Interface based GUE encapsulation with IPv6 outer header" - readme: "" - exec: " " + id: "attestz-2" + description: "Validate oIAK and oIDevID rotation" + readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/system/attestz/tests/README.md" } test: { - id: "SEC-3.1" - description: "TLS Authentication over gRPC" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/aaa/kne_tests/tls_authentication_over_grpc_test/README.md" + id: "attestz-3" + description: "Validate post-install re-attestation" + readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/system/attestz/tests/README.md" +} +test: { + id: "bootz" + description: "General bootz bootstrap tests" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/secure_boot/tests/bootz/README.md" + exec: " " } test: { id: "bootz-1.1" @@ -1931,6 +2309,18 @@ test: { description: "Validate gNSI components in bootz configuration" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/bootz/tests/README.md" } +test: { + id: "enrollz-1" + description: "enrollz test for TPM 2.0 HMAC-based Enrollment flow" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/attestz/tests/enrollz_tpm20_hmac/README.md" + exec: " " +} +test: { + id: "enrollz-2" + description: "enrollz test for TPM 1.2 Enrollment flow" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/attestz/tests/enrollz_tpm12/README.md" + exec: " " +} test: { id: "gNMI-1.1" description: "cli Origin" @@ -2009,6 +2399,11 @@ test: { readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/platform/controllercard/tests/SetRequest_controll_card_switchover/README.md" exec: " " } +test: { + id: "gNMI-1.2" + description: "Benchmarking: Full Configuration Replace" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/tests/full_configuration_replace_test/README.md" +} test: { id: "gNMI-1.20" description: "Telemetry: Optics Thresholds" @@ -2030,16 +2425,34 @@ test: { description: "Telemetry: Aggregate Interface Counters" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/otg_tests/aggregate_interface_counters_test/README.md" } -test: { - id: "gNMI-1.2" - description: "Benchmarking: Full Configuration Replace" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/tests/full_configuration_replace_test/README.md" -} test: { id: "gNMI-1.24" description: "gNMI Leaf-List Update Test" readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/tests/leaflist_update_test/README.md" } +test: { + id: "gNMI-1.25" + description: "Telemetry: Interface Last Change Timestamp" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/otg_tests/telemetry_interface_last_change_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/otg_tests/telemetry_interface_last_change_test/telemetry_interface_last_change_test.go" +} +test: { + id: "gNMI-1.26" + description: "Carrier Transitions Test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/otg_tests/telemetry_interface_carrier_transitions_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/otg_tests/telemetry_interface_carrier_transitions_test/carrier_transitions_test.go" +} +test: { + id: "gNMI-1.27" + description: "gNMI Sample Mode Test" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/subscribe/tests/gnmi_sample_mode_test/README.md" +} +test: { + id: "gNMI-1.28" + description: "Telemetry: Interface openconfig validation." + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/tests/telemetry_interfaces_test/README.md" + exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go" +} test: { id: "gNMI-1.3" description: "Benchmarking: Drained Configuration Convergence Time" @@ -2161,418 +2574,3 @@ test: { readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnpsi/otg_tests/sampling_test/README.md" exec: " " } -test: { - id: "CNTR-1" - description: "Basic container lifecycle via `gnoi.Containerz`." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" - exec: " " -} -test: { - id: "CNTR-1.1" - description: "Deploy and Start a Container" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" - exec: " " -} -test: { - id: "CNTR-1.2" - description: "Retrieve a running container's logs." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" - exec: " " -} -test: { - id: "CNTR-1.3" - description: "List the running containers on a DUT" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" - exec: " " -} -test: { - id: "CNTR-1.4" - description: "Stop a container running on a DUT." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/containerz/tests/container_lifecycle/README.md" - exec: " " -} -test: { - id: "CNTR-2" - description: "Container network connectivity tests" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" - exec: " " -} -test: { - id: "CNTR-2.1" - description: "Connect to container from external client." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" - exec: " " -} -test: { - id: "CNTR-2.2" - description: "Connect to locally running service." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" - exec: " " -} -test: { - id: "CNTR-2.3" - description: "Connect to a remote node." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" - exec: " " -} -test: { - id: "CNTR-2.4" - description: "Connect to another container on a local node" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md" - exec: " " -} -test: { - id: "SYS-1.1" - description: "Test default COPP policy thresholds" - readme: "https://github.com/openconfig/featureprofiles/tree/main/feature/system/control_plane_traffic/otg_tests/default_copp_test/README.md" - exec: " " -} -test: { - id: "URPF-1.1" - description: "uRPF validation from non-default network-instance" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/urpf/otg_tests/urpf_vrf_test/README.md" - exec: " " -} -test: { - id: "SYS-2.1" - description: "Ingress control-plane ACL." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/control_plane_traffic/otg_tests/ingress_acl/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/control_plane_traffic/otg_tests/ingress_acl/control_plane_traffic_ingress_acl_test.go" -} -test: { - id: "TRANSCEIVER-1.2" - description: "Telemetry: 400ZR_PLUS Chromatic Dispersion(CD) telemetry values streaming" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_cd_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_cd_test/zrp_cd_test.go" -} -test: { - id: "TRANSCEIVER-10.2" - description: "Telemetry: 400ZR_PLUS Optics FEC(Forward Error Correction) Uncorrectable Frames Streaming." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_fec_uncorrectable_frames_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_fec_uncorrectable_frames_test/zrp_fec_uncorrectable_frames_test.go" -} -test: { - id: "TRANSCEIVER-3.2" - description: "Telemetry: 400ZR_PLUS Optics firmware version streaming" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_firmware_version_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_firmware_version_test/zrp_firmware_version_test.go" -} -test: { - id: "TRANSCEIVER-4.2" - description: "Telemetry: 400ZR_PLUS RX input and TX output power telemetry values streaming." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_input_output_power_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_input_output_power_test/zrp_input_output_power_test.go" -} -test: { - id: "TRANSCEIVER-7.2" - description: "Telemetry: 400ZR_PLUS Optics inventory info streaming" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_inventory_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_inventory_test/zrp_inventory_test.go" -} -test: { - id: "TRANSCEIVER-9.2" - description: "Telemetry: 400ZR_PLUS TX laser bias current telemetry values streaming." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_laser_bias_current_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_laser_bias_current_test/zrp_laser_bias_current_test.go" -} -test: { - id: "TRANSCEIVER-11.2" - description: "Telemetry: 400ZR_PLUS Optics logical channels provisioning and related telemetry." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_logical_channels_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_logical_channels_test/zrp_logical_channels_test.go" -} -test: { - id: "TRANSCEIVER-13.2" - description: "Configuration: 400ZR_PLUS Transceiver Low Power Mode Setting." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_low_power_mode_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_low_power_mode_test/zrp_low_power_mode_test.go" -} -test: { - id: "TRANSCEIVER-6.2" - description: "Telemetry: 400ZR_PLUS Optics performance metrics (pm) streaming." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_pm_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_pm_test/zrp_pm_test.go" -} -test: { - id: "TRANSCEIVER-12.2" - description: "Telemetry: 400ZR_PLUS Transceiver Supply Voltage streaming." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_supply_voltage_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_supply_voltage_test/zrp_supply_voltage_test.go" -} -test: { - id: "TRANSCEIVER-8.2" - description: "Telemetry: 400ZR_PLUS Optics module temperature streaming." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_temperature_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_temperature_test/zrp_temperature_test.go" -} -test: { - id: "TRANSCEIVER-5.2" - description: "Configuration: 400ZR_PLUS channel frequency, output TX launch power and operational mode setting." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_tunable_parameters_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/transceiver/tests/zrp_tunable_parameters_test/zrp_tunable_parameters_test.go" -} -test: { - id: "RT-14.2" - description: "GRIBI Route Test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/gribi_route_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/gribi_route_test/gribi_route_test.go" -} -test: { - id: "RT-2.1" - description: "Base IS-IS Process and Adjacencies" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/otg_tests/base_adjacencies_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/otg_tests/base_adjacencies_test/base_adjacencies_test.go" -} -test: { - id: "TE-3.31" - description: "Hierarchical weight resolution with PBF" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/hierarchical_weight_resolution_pbf_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/hierarchical_weight_resolution_pbf_test/hierarchical_weight_resolution_pbf_test.go" -} -test: { - id: "gNMI-1.25" - description: "Telemetry: Interface Last Change Timestamp" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/otg_tests/telemetry_interface_last_change_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/otg_tests/telemetry_interface_last_change_test/telemetry_interface_last_change_test.go" -} -test: { - id: "HA-1.0" - description: "Telemetry: Firewall High Availability" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ha_groups/tests/telemetry_high_availability_test/README.md" - exec: "" -} -test: { - id: "TE-1.2" - description: "My Station MAC" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/my_station_mac/otg_tests/my_station_mac_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/my_station_mac/otg_tests/my_station_mac_test/my_station_mac_test.go" -} -test: { - id: "gNMI-1.26" - description: "Carrier Transitions Test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/otg_tests/telemetry_interface_carrier_transitions_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/otg_tests/telemetry_interface_carrier_transitions_test/carrier_transitions_test.go" -} -test: { - id: "gNMI-1.27" - description: "gNMI Sample Mode Test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/subscribe/tests/gnmi_sample_mode_test/README.md" -} -test: { - id: "TE-13.1" - description: "gRIBI route ADD during Failover" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/route_addition_during_failover_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/route_addition_during_failover_test/route_addition_during_failover_test.go" -} -test: { - id: "TE-13.2" - description: "gRIBI route DELETE during Failover " - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/route_removal_during_failover_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/route_removal_during_failover_test/route_removal_during_failover_test.go" -} -test: { - id: "SR-1.1" - description: "Transit forwarding to Node-SID via ISIS" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/sr/otg_tests/isis_node_sid_forward/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/sr/otg_tests/isis_node_sid_forward/isis_node_sid_forward_test.go" -} -test: { - id: "MPLS-2.2" - description: "MPLS forwarding via static LSP to BGP next-hop." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/otg_tests/static_bgp_nexthop/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/otg_tests/static_bgp_nexthop/static_bgp_nexthop_test.go" -} -test: { - id: "PF-1.3" - description: "Policy-based IPv4 GRE Decapsulation" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/encapsulation/otg_tests/decap_gre_ipv4/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/encapsulation/otg_tests/decap_gre_ipv4/decap_gre_ipv4_test.go" -} -test: { - id: "BMP-1.1" - description: "BMP Session Establishment and Telemetry Test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/bmp/otg_tests/bmp_base_session_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/bgp/bmp/otg_tests/bmp_base_session_test/bmp_base_session_test.go" -} -test: { - id: "RT-10.2" - description: "Non-default Route Generation based on 192.168.2.2/32 Presence in ISIS" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/policy/otg_tests/generate_route/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/policy/otg_tests/generate_route/generate_route_test.go" -} -test: { - id: "SR-1.2" - description: "Egress Node Forwarding for MPLS traffic with Explicit Null label" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/sr/otg_tests/srte_egress_node_forwarding/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/mpls/sr/otg_tests/srte_egress_node_forwarding/egress_node_forwading_test.go" -} -test: { - id: "gNMI-1.28" - description: "Telemetry: Interface openconfig validation." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/tests/telemetry_interfaces_test/README.md" - exec: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnmi/tests/telemetry_interfaces_test/telemetry_interfaces_test.go" -} -test: { - id: "TE-18.4" - description: "ECMP hashing on outer and inner packets with MPLSoUDP encapsulation" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/mpls_in_udp/otg_tests/mpls_over_udp_tunnel_hashing_test/README.md" - exec: " " -} -test: { - id: "TE-11.1" - description: "Backup NHG: Single NH" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_single_nh_test/README.md" - exec: " " -} -test: { - id: "TE-11.21" - description: "Backup NHG: Multiple NH with PBF" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_multiple_nh_pbf_test/README.md" - exec: " " -} -test: { - id: "TE-11.3" - description: "Backup NHG: Actions" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_action/README.md" - exec: " " -} -test: { - id: "TE-11.31" - description: "Backup NHG: Actions with PBF" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/backup_nhg_action_pbf/README.md" - exec: " " -} -test: { - id: "TE-2.2" - description: "gRIBI IPv4 Entry With Aggregate Ports" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/ipv4_entry_with_aggregate_ports_test/README.md" - exec: " " -} -test: { - id: "TE-8.1" - description: "DUT Daemon Failure" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/otg_tests/dut_daemon_failure/README.md" - exec: " " -} -test: { - id: "IPSEC-1.1" - description: "IPSec with MACSec over aggregated links." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ipsec/otg_tests/ipsec_base/README.md" - exec: " " -} -test: { - id: "IPSEC-1.2" - description: "IPSec Scaling with MACSec over aggregated links." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ipsec/otg_tests/ipsec_scale/README.md" - exec: " " -} -test: { - id: "IPSEC-1.3" - description: "IPSec Packet-Order with MACSec over aggregated links." - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/ipsec/otg_tests/ipsec_packetorder/README.md" - exec: " " -} -test: { - id: "RT-2.18" - description: "IS-IS Multi-adjacencies scale test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/isis/otg_tests/isis_scale_multi_adjacency_test/README.md" - exec: " " -} -test: { - id: "P4RT-3.21" - description: "Google Discovery Protocol: PacketOut with LAG" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/p4rt/otg_tests/google_discovery_protocol_packetout_lag_test/README.md" - exec: " " -} -test: { - id: "PLT-1.3" - description: "OnChange Subscription Test for Breakout Interfaces" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/platform/tests/breakout_subscription_test/README.md" - exec: " " -} -test: { - id: "PF-1.24" - description: "Add and remove interface bound to PBF" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/otg_tests/add_remove_policy_bound_interface_test/README.md" - exec: " " -} -test: { - id: "Authz" - description: "General Authz (1-4) tests" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/gnsi/authz/tests/authz/README.md" - exec: " " -} -test: { - id: "SYS-3.1" - description: "AAA and TACACS+ Configuration Verification Test Suite" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/aaa/tests/tacacs/README.md" - exec: " " -} -test: { - id: "bootz" - description: "General bootz bootstrap tests" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/secure_boot/tests/bootz/README.md" - exec: " " -} -test: { - id: "enrollz-1" - description: "enrollz test for TPM 2.0 HMAC-based Enrollment flow" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/attestz/tests/enrollz_tpm20_hmac/README.md" - exec: " " -} -test: { - id: "enrollz-2" - description: "enrollz test for TPM 1.2 Enrollment flow" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/security/attestz/tests/enrollz_tpm12/README.md" - exec: " " -} -test: { - id: "SYS-4.1" - description: "System Mount Points State Verification" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/mount_points/tests/system_mount_points_state/README.md" - exec: " " -} -test: { - id: "System-1.1" - description: "System banner test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/system_banner_test/README.md" - exec: " " -} -test: { - id: "System-1.2" - description: "System g protocol test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/system_g_protocol_test/README.md" - exec: " " -} -test: { - id: "System-1.3" - description: "System hostname test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/hostname_test/README.md" - exec: " " -} -test: { - id: "System-1.4" - description: "System time test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/system_time_test/README.md" - exec: " " -} -test: { - id: "System-1.5" - description: "System software-version test" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/system/system_base_test/tests/system_software_version/README.md" - exec: " " -} -test: { - id: "MSEC-1.1" - description: "MACsec Configuration and Verification (DUT-to-DUT)" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/macsec/otg_tests/macsec/README.md" - exec: " " -} - - -test: { - id: "PF-1.26" - description: "Double GUE Decapsulation" - readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/policy_forwarding/otg_tests/double_gue_decap/README.md" - exec: " " -} From 299a5826a5cead5be068923b2947441ffbe9a252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Darren=20O=E2=80=99Connor?= Date: Tue, 12 May 2026 13:09:20 -0400 Subject: [PATCH 2/6] refactor: Replace Google specific standard communities with randomized generic communities to prevent leaks --- .../community_based_route_leak/README.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md b/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md index 01246a59442..c1d24cbf62e 100644 --- a/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md +++ b/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md @@ -4,10 +4,10 @@ Validate the router's (DUT) capability to dynamically leak routes between VRFs (Virtual Routing and Forwarding instances) based on BGP communities. Specifically, this test verifies that routing information can be dynamically exported from the Default/Global routing instance to a non-default URPF VRF when the routes contain any of the following standard BGP communities: -* `65532:10100` (AS15169.INTERNAL) -* `65532:10110` (AS15169.EXTERNAL) -* `65532:10730` (AS139070.EXTERNAL) -* `65532:10740` (AS139190.EXTERNAL) +* `64500:10100` (COMMUNITY_INTERNAL) +* `64500:10110` (COMMUNITY_EXTERNAL) +* `64500:10730` (COMMUNITY_PARTNER_A) +* `64500:10740` (COMMUNITY_PARTNER_B) The leaked routes must retain all relevant BGP attributes (such as MED, AS path, Local Pref, etc.) during the VRF leaking process. @@ -40,10 +40,10 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; * Global BGP session between DUT:Port1 (AS 65003) and ATE:Port1 (AS 65001). * BGP session in `URPF` VRF between DUT:Port2 (AS 65003) and ATE:Port2 (AS 65002). 4. Configure a BGP community set containing the standard communities: - * `65532:10100` - * `65532:10110` - * `65532:10730` - * `65532:10740` + * `64500:10100` + * `64500:10110` + * `64500:10730` + * `64500:10740` 5. Configure a routing policy that matches any community in the defined set, and dynamically imports matching routes from the Default instance into the `URPF` instance, retaining BGP attributes. Apply this import policy to the `URPF` network instance. ### ATE Configuration @@ -61,7 +61,7 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; #### TE-6.5.1: Dynamic Route Leak on BGP Community Match -1. From ATE:Port1, advertise a list of prefixes (e.g., `100.1.1.0/24` and `2001:db8:1::/48`) containing one of the matching communities (e.g., `65532:10100`). +1. From ATE:Port1, advertise a list of prefixes (e.g., `100.1.1.0/24` and `2001:db8:1::/48`) containing one of the matching communities (e.g., `64500:10100`). 2. Verify using state paths that the advertised routes are installed in both the Default routing instance table and dynamically imported into the `URPF` routing instance table. 3. Initiate traffic from ATE:Port2 to the advertised prefixes. 4. **Verification**: @@ -71,7 +71,7 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; #### TE-6.5.2: No Route Leak on Community Absence -1. From ATE:Port1, advertise a new list of prefixes (e.g., `100.2.2.0/24` and `2001:db8:2::/48`) containing either *no communities* or a non-matching community (e.g., `65532:9999`). +1. From ATE:Port1, advertise a new list of prefixes (e.g., `100.2.2.0/24` and `2001:db8:2::/48`) containing either *no communities* or a non-matching community (e.g., `64500:9999`). 2. Verify that the routes are installed in the Default instance but *not* imported/leaked into the `URPF` VRF table. 3. Initiate traffic from ATE:Port2 to these prefixes. 4. **Verification**: @@ -128,10 +128,10 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; "config": { "community-set-name": "leak-communities", "community-member": [ - "65532:10100", - "65532:10110", - "65532:10730", - "65532:10740" + "64500:10100", + "64500:10110", + "64500:10730", + "64500:10740" ] } } From 5b785bfdbafa4995ed858d492a3b098bf72ebbd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Darren=20O=E2=80=99Connor?= Date: Tue, 12 May 2026 13:12:54 -0400 Subject: [PATCH 3/6] refactor: Limit route leak FNT to 2 communities and add rigorous partial withdrawal verification test cases --- .../community_based_route_leak/README.md | 66 ++++++++++++------- 1 file changed, 41 insertions(+), 25 deletions(-) diff --git a/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md b/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md index c1d24cbf62e..1b548445a6a 100644 --- a/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md +++ b/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md @@ -4,13 +4,13 @@ Validate the router's (DUT) capability to dynamically leak routes between VRFs (Virtual Routing and Forwarding instances) based on BGP communities. Specifically, this test verifies that routing information can be dynamically exported from the Default/Global routing instance to a non-default URPF VRF when the routes contain any of the following standard BGP communities: -* `64500:10100` (COMMUNITY_INTERNAL) -* `64500:10110` (COMMUNITY_EXTERNAL) -* `64500:10730` (COMMUNITY_PARTNER_A) -* `64500:10740` (COMMUNITY_PARTNER_B) +* `64500:1` (COMMUNITY_1) +* `64500:2` (COMMUNITY_2) The leaked routes must retain all relevant BGP attributes (such as MED, AS path, Local Pref, etc.) during the VRF leaking process. +The routing policy imports a route if it matches **ANY** of the communities in the configured set (logical OR). This test ensures proper route leaking under single matches, compound matches, and partial community withdrawals. + ## Testbed Type * [`featureprofiles/topologies/atedut_2.testbed`](https://github.com/openconfig/featureprofiles/blob/main/topologies/atedut_2.testbed) @@ -40,10 +40,8 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; * Global BGP session between DUT:Port1 (AS 65003) and ATE:Port1 (AS 65001). * BGP session in `URPF` VRF between DUT:Port2 (AS 65003) and ATE:Port2 (AS 65002). 4. Configure a BGP community set containing the standard communities: - * `64500:10100` - * `64500:10110` - * `64500:10730` - * `64500:10740` + * `64500:1` + * `64500:2` 5. Configure a routing policy that matches any community in the defined set, and dynamically imports matching routes from the Default instance into the `URPF` instance, retaining BGP attributes. Apply this import policy to the `URPF` network instance. ### ATE Configuration @@ -59,32 +57,52 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; ### Test Cases -#### TE-6.5.1: Dynamic Route Leak on BGP Community Match +#### TE-6.5.1: Dynamic Route Leak on BGP COMMUNITY_1 Match -1. From ATE:Port1, advertise a list of prefixes (e.g., `100.1.1.0/24` and `2001:db8:1::/48`) containing one of the matching communities (e.g., `64500:10100`). +1. From ATE:Port1, advertise a list of prefixes (e.g., `100.1.1.0/24` and `2001:db8:1::/48`) containing BGP community `64500:1`. 2. Verify using state paths that the advertised routes are installed in both the Default routing instance table and dynamically imported into the `URPF` routing instance table. 3. Initiate traffic from ATE:Port2 to the advertised prefixes. 4. **Verification**: - * DUT dynamically leaks the matching routes to URPF. + * DUT dynamically leaks the routes containing `64500:1` to URPF. * Traffic flows with 0% packet loss. * Leaked routes on the DUT URPF instance retain their BGP attributes (MED and AS path must match the ones advertised from ATE:Port1). -#### TE-6.5.2: No Route Leak on Community Absence +#### TE-6.5.2: Dynamic Route Leak on BGP COMMUNITY_2 Match -1. From ATE:Port1, advertise a new list of prefixes (e.g., `100.2.2.0/24` and `2001:db8:2::/48`) containing either *no communities* or a non-matching community (e.g., `64500:9999`). -2. Verify that the routes are installed in the Default instance but *not* imported/leaked into the `URPF` VRF table. +1. From ATE:Port1, advertise a new list of prefixes (e.g., `100.2.2.0/24` and `2001:db8:2::/48`) containing BGP community `64500:2`. +2. Verify that the routes are dynamically imported into the `URPF` VRF table. 3. Initiate traffic from ATE:Port2 to these prefixes. 4. **Verification**: - * No routes are leaked. - * 100% traffic loss is observed. + * DUT dynamically leaks the routes containing `64500:2` to URPF. + * Traffic flows with 0% packet loss. -#### TE-6.5.3: Dynamic Route Removal on Community Withdrawal +#### TE-6.5.3: Dynamic Route Leak on Compound Match (Both Communities) -1. Update the advertisements from ATE:Port1 in case **TE-6.5.1** by withdrawing the matching BGP community from the routes. -2. Verify that the routes are dynamically removed from the URPF routing table (retaining them only in the Default instance routing table). -3. Initiate traffic from ATE:Port2 to the prefixes. +1. From ATE:Port1, advertise prefixes (e.g., `100.3.3.0/24` and `2001:db8:3::/48`) containing *both* communities `64500:1` and `64500:2`. +2. Verify using state paths that the routes are installed dynamically in the URPF routing instance table. +3. Initiate traffic from ATE:Port2 to these prefixes. 4. **Verification**: - * Leaked routes are dynamically withdrawn and removed. + * DUT dynamically leaks the routes containing both communities to URPF. + * Traffic flows with 0% packet loss. + +#### TE-6.5.4: Route Retention on Partial Community Withdrawal + +1. Start with routes advertised in **TE-6.5.3** (containing both `64500:1` and `64500:2` and leaked to URPF). +2. Withdraw the community `64500:1` from the advertisements, while keeping `64500:2` attached to the prefixes. +3. Verify that the routes are *retained* in the URPF routing table, as they still match `64500:2`. +4. Initiate traffic from ATE:Port2. +5. **Verification**: + * Leaked routes are retained post partial community withdrawal. + * Traffic continues to flow with 0% packet loss. + +#### TE-6.5.5: Dynamic Route Removal on Complete Community Withdrawal + +1. Start with routes from **TE-6.5.4** (now containing only `64500:2`). +2. Withdraw the remaining community `64500:2` from the advertised prefixes (so the routes no longer have any matching communities). +3. Verify that the routes are dynamically removed from the URPF routing table (remaining only in the Default instance routing table). +4. Initiate traffic from ATE:Port2. +5. **Verification**: + * Leaked routes are dynamically withdrawn and removed. * 100% traffic loss is observed. --- @@ -128,10 +146,8 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; "config": { "community-set-name": "leak-communities", "community-member": [ - "64500:10100", - "64500:10110", - "64500:10730", - "64500:10740" + "64500:1", + "64500:2" ] } } From dfed3482b3296c2b5b3b1ba323f3ecc79e0a083c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Darren=20O=E2=80=99Connor?= Date: Tue, 12 May 2026 13:15:38 -0400 Subject: [PATCH 4/6] refactor: Use RFC 5398 documentation ASNs and RFC 5737 documentation TEST-NET address blocks to prevent style guide violations --- .../otg_tests/community_based_route_leak/README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md b/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md index 1b548445a6a..251a1aa22cf 100644 --- a/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md +++ b/feature/bgp/route_selection/otg_tests/community_based_route_leak/README.md @@ -37,8 +37,8 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; 1. Create a non-default VRF named `URPF` with `L3VRF` type. 2. Assign DUT:Port2 to the `URPF` network instance. Keep DUT:Port1 in the Default network instance. 3. Configure eBGP sessions: - * Global BGP session between DUT:Port1 (AS 65003) and ATE:Port1 (AS 65001). - * BGP session in `URPF` VRF between DUT:Port2 (AS 65003) and ATE:Port2 (AS 65002). + * Global BGP session between DUT:Port1 (AS 64498) and ATE:Port1 (AS 64496). + * BGP session in `URPF` VRF between DUT:Port2 (AS 64498) and ATE:Port2 (AS 64497). 4. Configure a BGP community set containing the standard communities: * `64500:1` * `64500:2` @@ -47,8 +47,8 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; ### ATE Configuration * Peering sessions: - * **Session 1**: ATE:Port1 (AS 65001) peers to DUT:Port1. - * **Session 2**: ATE:Port2 (AS 65002) peers to DUT:Port2. + * **Session 1**: ATE:Port1 (AS 64496) peers to DUT:Port1. + * **Session 2**: ATE:Port2 (AS 64497) peers to DUT:Port2. * **ATE Traffic flow**: * Traffic is generated from ATE:Port2 (URPF) to the prefixes advertised by ATE:Port1 (Default). * PPS: 10,000, frame size: 256 bytes. @@ -59,7 +59,7 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; #### TE-6.5.1: Dynamic Route Leak on BGP COMMUNITY_1 Match -1. From ATE:Port1, advertise a list of prefixes (e.g., `100.1.1.0/24` and `2001:db8:1::/48`) containing BGP community `64500:1`. +1. From ATE:Port1, advertise a list of prefixes (e.g., `192.0.2.0/24` and `2001:db8:1::/48`) containing BGP community `64500:1`. 2. Verify using state paths that the advertised routes are installed in both the Default routing instance table and dynamically imported into the `URPF` routing instance table. 3. Initiate traffic from ATE:Port2 to the advertised prefixes. 4. **Verification**: @@ -69,7 +69,7 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; #### TE-6.5.2: Dynamic Route Leak on BGP COMMUNITY_2 Match -1. From ATE:Port1, advertise a new list of prefixes (e.g., `100.2.2.0/24` and `2001:db8:2::/48`) containing BGP community `64500:2`. +1. From ATE:Port1, advertise a new list of prefixes (e.g., `198.51.100.0/24` and `2001:db8:2::/48`) containing BGP community `64500:2`. 2. Verify that the routes are dynamically imported into the `URPF` VRF table. 3. Initiate traffic from ATE:Port2 to these prefixes. 4. **Verification**: @@ -78,7 +78,7 @@ C[ATE:Port2] <--eBGP (URPF VRF)--> D[DUT:Port2]; #### TE-6.5.3: Dynamic Route Leak on Compound Match (Both Communities) -1. From ATE:Port1, advertise prefixes (e.g., `100.3.3.0/24` and `2001:db8:3::/48`) containing *both* communities `64500:1` and `64500:2`. +1. From ATE:Port1, advertise prefixes (e.g., `203.0.113.0/24` and `2001:db8:3::/48`) containing *both* communities `64500:1` and `64500:2`. 2. Verify using state paths that the routes are installed dynamically in the URPF routing instance table. 3. Initiate traffic from ATE:Port2 to these prefixes. 4. **Verification**: From c4bd8590be4679de8de36247d1034ee1d0df6ebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Darren=20O=E2=80=99Connor?= Date: Tue, 12 May 2026 13:22:10 -0400 Subject: [PATCH 5/6] fix: Use generic public github.com path format in metadata.textproto to fix CI check failures --- .../otg_tests/community_based_route_leak/metadata.textproto | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/feature/bgp/route_selection/otg_tests/community_based_route_leak/metadata.textproto b/feature/bgp/route_selection/otg_tests/community_based_route_leak/metadata.textproto index e78dcac7163..b9018520536 100644 --- a/feature/bgp/route_selection/otg_tests/community_based_route_leak/metadata.textproto +++ b/feature/bgp/route_selection/otg_tests/community_based_route_leak/metadata.textproto @@ -1,6 +1,7 @@ -# proto-file: third_party/openconfig/featureprofiles/proto/metadata.proto +# proto-file: github.com/openconfig/featureprofiles/proto/metadata.proto # proto-message: Metadata + uuid: "c09345b2-bddf-4e5c-b4c4-22424e8cb605" plan_id: "TE-6.5" description: "Community-based dynamic route-leaking between VRFs" From f13cdacfff0bf574269967ce94987f61ef49248a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Darren=20O=E2=80=99Connor?= Date: Tue, 12 May 2026 13:45:03 -0400 Subject: [PATCH 6/6] fix: Align Go setup in test_gap_analysis.yaml to go-version-file 'go.mod' to support Go 1.25.0 upgrades --- .github/workflows/test_gap_analysis.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_gap_analysis.yaml b/.github/workflows/test_gap_analysis.yaml index bfa076553f7..19211e34615 100644 --- a/.github/workflows/test_gap_analysis.yaml +++ b/.github/workflows/test_gap_analysis.yaml @@ -28,7 +28,7 @@ jobs: if: ${{ env.GEMINI_API_KEY != '' }} uses: actions/setup-go@v5 with: - go-version: '1.21' + go-version-file: 'go.mod' - name: Get changed files if: ${{ env.GEMINI_API_KEY != '' }}