From d8192f59c4b079aa5139dd5a2e2bed59a67c53ec Mon Sep 17 00:00:00 2001
From: Lakshmana Varahabhotla
<77013369+vvlakshmanamurthy@users.noreply.github.com>
Date: Wed, 2 Oct 2024 16:42:39 -0500
Subject: [PATCH 1/5] Create README.md
Adding README for RT-3.33: DSCP based traffic steering from Non-default VRF to Default VRF using Policy based VRF selection
---
.../README.md | 311 ++++++++++++++++++
1 file changed, 311 insertions(+)
create mode 100644 feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
diff --git a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
new file mode 100644
index 00000000000..0dae58da461
--- /dev/null
+++ b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
@@ -0,0 +1,311 @@
+# RT-3.33: DSCP based traffic steering from Non-default VRF to Default VRF using Policy based VRF selection
+
+
+## Summary
+In this case, traffic is gradually moved from the Default VRF to the non-Default VRF per traffic class and then move traffic from Non default VRF to Default VRF based on DSCP value & destination prefix.
+
+## Testbed type
+ [atedut_4.binding](https://github.com/openconfig/featureprofiles/blob/main/topologies/atedut_4.binding)
+
+## Procedure
+Test environment setup
+
+### Topology
+Create the following connections:
+```mermaid
+graph LR;
+subgraph DUT [DUT]
+ B1[Port1]
+ B2[Port2]
+ B3[Port3]
+end
+subgraph ATE2 [ATE2]
+ C2[Port2]
+ C3[Port3]
+end
+A1[ATE1:Port1] <-- IBGP(ASN100) --> B1;
+B2 <-- EBGP(ASN100:ASN200) --> C2;
+B3 <-- EBGP(ASN100:ASN300) --> C3;
+```
+### Advertisements:
+ * ATE1:Port1 advertises following prefixes over IBGP to DUT:Port1.
+ * IPv4Prefix1/24 IPv6Prefix1/64
+ * IPv4Prefix2/24 IPv6Prefix2/64
+ * IPv4Prefix3/24 IPv6Prefix3/64
+ * IPv4Prefix4/24 IPv6Prefix4/64
+ * IPv4Prefix5/24 IPv6Prefix5/64
+
+ * ATE2:Port2 and DUT:Port2 from EBGP neighborship between each other over on respective AFI-SAFI connections and advertise the following prefixes
+ * From ATE2:Port2 to DUT:Port2
+ * IPv4Prefix6/24 IPv6Prefix6/64
+ * IPv4Prefix7/24 IPv6Prefix7/64
+ * IPv4Prefix8/24 IPv6Prefix8/64
+ * IPv4Prefix9/24 IPv6Prefix9/64
+ * IPv4Prefix10/24 IPv6Prefix10/64
+ * From DUT:Port2 to ATE2:Port2
+ * All the IBGP learnt prefixes from Prefix1 to Prefix5
+
+ * ATE2:Port3 and DUT:Port3 from EBGP neighborship between each other over on respective AFI-SAFI connections and advertise the following prefixes
+ * From ATE2:Port2 to DUT:Port2
+ * IPv4Prefix6/24 IPv6Prefix6/64
+ * IPv4Prefix7/24 IPv6Prefix7/64
+ * IPv4Prefix8/24 IPv6Prefix8/64
+ * IPv4Prefix9/24 IPv6Prefix9/64
+ * IPv4Prefix10/24 IPv6Prefix10/64
+ * From DUT:Port2 to ATE2:Port2
+ * All the IBGP learnt prefixes from Prefix1 to Prefix5
+
+
+ * **[Important: Please note]** Following advertisements must happen only during the test one at a time as instructed
+
+* Configure the DUT to honor the TOS byte of destination
+| Match Condition | Outer Header DSCP Set to: |
+|-------------------------------------------|---------------------------|
+| DSCP value BE1, Destination IPv4Prefix6/24" | 3 |
+| DSCP value BE1, Destination IPv6Prefix6/64" | 3 |
+| DSCP value AF1, Destination IPv4Prefix7/24" | 11 |
+| DSCP value AF1, Destination IPv6Prefix7/64" | 11 |
+| DSCP value AF2, Destination IPv4Prefix8/24" | 19 |
+| DSCP value AF2, Destination IPv6Prefix8/24" | 19 |
+| DSCP value AF3, Destination IPv4Prefix9/24" | 27 |
+| DSCP value AF3, Destination IPv6Prefix9/64" | 27 |
+| DSCP value AF4, Destination IPv4Prefix10/24" | 35 |
+| DSCP value AF4, Destination IPv6Prefix10/24" | 35 |
+
+
+
+ * DUT has 2 VRFs, Default and Non-Default. Configure Route leaking from the Default to the Non-default VRF to share reachability between VRFs.
+
+
+### Flows:
+
+Flows from ATE1:Port1 to DUT:Port1
+
+ * Following are destinations.
+ * IPv4Prefix1/24 to IPv4Prefix6/24 [DSCP:BE1]
+ * IPv6Prefix1/64 to IPv6Prefix6/64 [DSCP:BE1]
+ * IPv4Prefix2/24 to IPv4Prefix7/24 [DSCP:AF1]
+ * IPv6Prefix2/64 to IPv6Prefix7/64 [DSCP:AF1]
+ * IPv4Prefix3/24 to IPv4Prefix8/24 [DSCP:AF2]
+ * IPv6Prefix3/64 to IPv6Prefix8/64 [DSCP:AF2]
+ * IPv4Prefix4/24 to IPv4Prefix9/24 [DSCP:AF3]
+ * IPv6Prefix4/64 to IPv6Prefix9/64 [DSCP:AF3]
+ * IPv4Prefix5/24 to IPv4Prefix10/24 [DSCP:AF4]
+ * IPv6Prefix5/64 to IPv6Prefix10/64 [DSCP:AF4] br>
+
+
+### Following Health checks to be run Pre and Post every sub test
+ * No system/kernel/process/component coredumps
+ * No high CPU spike or usage on control or forwarding plane
+ * No high memory utilization or usage on control or forwarding plane
+ * No processes/daemons high CPU/Memory utilization
+ * No generic drop counters
+ * QUEUE drops
+ * Interfaces
+ * VOQ
+ * Fabric drops
+ * ASIC drops
+ * No flow control frames tx/rx
+ * No CRC or Layer 1 errors on interfaces
+ * No config commit errors
+ * No system level alarms
+ * In spec hardware should be in proper state
+ * No hardware errors
+ * Major Alarms
+ * No HW component or SW processes crash
+Openconfig-paths for the above are covered in the `OpenConfig Path and RPC Coverage` section below
+
+
+
+
+
+**RT-3.33.1: [Baseline] Traffic flow between ATE1:Port1 and ATE2:Port2 via DUT's Default VRF**
+ * Please run all the health checks suggested above prior to starting the test as a baseline.
+ * Start all the Flows from ATE1:Port1 to DUT:Port1
+ * DUT has the following VRF selection policy
+ * Statement1: traffic matching any IPV4 0r IPV6 destination with any DSCP value, Punt to default vrf
+ * Expectations:
+ * All traffic received in the Default VRF destined for any IPv4Prefix is sent back to ATE2:Port2 based on LPM lookup of EBGP learnt routes.
+ * Run post test Health checks above to ensure no anomalies
+
+
+**RT-3.33.2: Identify traffic by DSCP (BE1) and punt to non-default VRF**
+ * Please run all the health checks suggested above prior to starting the test.
+ * Start all the Flows from ATE1:Port1 to DUT:Port1
+ * DUT has the following VRF selection policy
+ * Statement1: Traffic matching any IPV4 or IPV6 destination with DSCP value BE1, Punt to non-default vrf
+ * Statement2: Traffic matching any IPV4 or IPV6 destination with DSCP value AF1,AF2,AF3,AF4, Punt to default vrf
+ * Expectations:
+ * All traffic received in the Default VRF destined for any Destination but with DSCP value BE1 is punted to Non-Default VRF and sent back to ATE2:Port3 based on LPM lookup of EBGP learnt routes.
+ * All traffic received in the Default VRF destined for any Destination but with DSCP value AF1,AF2,AF3,AF4 is sent back to ATE2:Port2 based on LPM lookup of EBGP learnt routes.
+
+ * Run post test Health checks above to ensure no anomalies
+
+
+**RT-3.33.3: Identify traffic by DSCP (BE1,AF1,AF2,AF3,AF4) and punt to non-default VRF**
+
+
+* Please run all the health checks suggested above prior to starting the test.
+ * Start all the Flows from ATE1:Port1 to DUT:Port1
+ * DUT has the following VRF selection policy
+ * Statement1: Traffic matching any IPV4 or IPV6 destination with DSCP value BE1,AF1,AF2,AF3,AF4 Punt to non-default vrf
+ * Expectations:
+ * All traffic received in the Default VRF destined for any Destination but with DSCP value BE1,AF1,AF2,AF3,AF4 is punted to Non-Default VRF and sent back to ATE2:Port3 based on LPM lookup of EBGP learnt routes.
+ * Run post test Health checks above to ensure no anomalies
+
+
+**RT-3.33.4: Identify traffic by DSCP (BE1) and prefix and punt to default VRF**
+
+
+* Please run all the health checks suggested above prior to starting the test.
+ * Start all the Flows from ATE1:Port1 to DUT:Port1
+ * DUT has the following VRF selection policy
+ * Statement1: Traffic matching any IPv4Prefix6/24 and IPv6Prefix6/64 destination with DSCP value BE1 Punt to default vrf
+ * Expectations:
+ * All traffic received in the Default VRF destined for IPv4Prefix6/24 and IPv6Prefix6/64 and with DSCP value BE1 is punted to Default VRF and sent back to ATE2:Port2 based on LPM lookup of EBGP learnt routes.
+ * All traffic received in the Default VRF destined for any other Destination but with DSCP value AF1,AF2,AF3,AF4 is sent to ATE2:Port3 based on LPM lookup of EBGP learnt routes.
+
+ * Run post test Health checks above to ensure no anomalies
+
+**RT-3.33.5: Identify traffic by DSCP (BE1,AF1,AF2,AF3,AF4) and prefix and punt to non-default VRF**
+
+
+* Please run all the health checks suggested above prior to starting the test.
+ * Start all the Flows from ATE1:Port1 to DUT:Port1
+ * DUT has the following VRF selection policy
+ * Statement1: Traffic matching any IPv4Prefix6/24 and IPv6Prefix6/64 with DSCP value BE1
+IPv4Prefix7/24 and IPv6Prefix7/64 with DSCP value AF1, IPv4Prefix8/24 and IPv6Prefix8/64 with DSCP value AF2, IPv4Prefix9/24 and IPv6Prefix9/64 with DSCP value AF3, IPv4Prefix10/24 and IPv6Prefix10/64 with DSCP value AF4 Punt to default vrf
+ * Expectations:
+ * All traffic received in the Default VRF destined for IPv4Prefix6/24 and IPv6Prefix6/64 with DSCP value BE1
+IPv4Prefix7/24 and IPv6Prefix7/64 with DSCP value AF1, IPv4Prefix8/24 and IPv6Prefix8/64 with DSCP value AF2, IPv4Prefix9/24 and IPv6Prefix9/64 with DSCP value AF3, IPv4Prefix10/24 and IPv6Prefix10/64 with DSCP value AF4 is punted to Default VRF and sent back to ATE2:Port2 based on LPM lookup of EBGP learnt routes.
+
+ * Run post test Health checks above to ensure no anomalies
+
+
+
+## To Dos:
+
+Following paths yet to be defied in Yang
+
+ 1. `/network-instances/network-instance/inter-instance-policies` is missing option to configure "export-to" or "import-from" VRF`
+
+ 2. Configuring the IPv4oUDP encapsulation/decapsulation is dependent on the proposal in https://github.com/openconfig/public/pull/1153
+
+
+## OpenConfig Path and RPC Coverage
+```yaml
+paths:
+ # Policy for route leaking between VRFs
+ /network-instances/network-instance/inter-instance-policies/apply-policy
+ # Following applied in Default VRF
+ /network-instances/network-instance/inter-instance-policies/apply-policy/config/export-policy
+ # Following applied in Non-default VRF
+ /network-instances/network-instance/inter-instance-policies/apply-policy/config/import-policy
+
+ # Config for VRF selection
+ # Create different VRFs: "Default or Non-default"
+ /network-instances/network-instance/config/name:
+ # Create VRF seletion policy with different rules that match on desination-prefix-set as first rule and then few other rules to match different Traffic-classes that determine BE1 to AF4 traffic
+ /network-instances/network-instance/policy-forwarding/policies/policy-id:
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/ipv4/config/destination-address-prefix-set:
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/ipv4/config/dscp-set:
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/ipv6/config/dscp-set:
+
+ # Action that sets the VRF for matching conditions.
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/action/config/network-instance:
+
+ # Creating the Prefix-Set required for the above VRF selection policy
+ /routing-policy/defined-sets/prefix-sets/prefix-set/name:
+ /routing-policy/defined-sets/prefix-sets/prefix-set/config/name:
+ /routing-policy/defined-sets/prefix-sets/prefix-set/prefixes/prefix/config/ip-prefix:
+ /routing-policy/defined-sets/prefix-sets/prefix-set/prefixes/prefix/config/masklength-range:
+
+ # Apply VRF selection policy as per the Test procedure above
+ /network-instances/network-instance/policy-forwarding/interfaces/interface/config/apply-vrf-selection-policy:
+
+ # BGP configuration at the neighbor and peer-group levels
+ /network-instances/network-instance/protocols/protocol/bgp/neighbors/peer-group/
+ /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/neighbor-address
+ /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/peer-as
+ /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/local-as
+
+ # BGP Policy definition for sharing of routes between IBGP and EBGP
+ /routing-policy/policy-definitions/policy-definition/config/name
+ /routing-policy/policy-definitions/policy-definition/statements/statement/config/name
+ /routing-policy/policy-definitions/policy-definition/statements/statement/conditions/match-prefix-set/config/prefix-set
+ /routing-policy/policy-definitions/policy-definition/statements/statement/conditions/match-prefix-set/config/match-set-options
+ /routing-policy/policy-definitions/policy-definition/statements/statement/actions/config/policy-result/ACCEPT_ROUTE
+
+ # Static route for VPNH for routes learnt via BGP. Routes MUST be in Default VRF and Protocol is Static
+ /network-instances/network-instance/protocols/protocol/static-routes/static/config/prefix:
+ /network-instances/network-instance/protocols/protocol/static-routes/ipv4/route/next-hops/next-hop/config/index
+ /network-instances/network-instance/protocols/protocol/static-routes/ipv4/route/next-hops/next-hop/config/next-hop
+
+ # Next-hop defined in the Static route above must lead to a IPv4oUDP encap to a destination learnt via EBGP
+
+
+ # Config for policy-based Decap of IPv4oUDP packets
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/ipv4/config/destination-address-prefix-set
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/action/config/decapsulate-gue
+
+ # State Paths:
+ # Folliwing for normal health check pre and post each test
+ /system/processes/process/state/cpu-utilization
+ /system/processes/process/state/memory-utilization
+ /qos/interfaces/interface/input/queues/queue/state/dropped-pkts
+ /qos/interfaces/interface/output/queues/queue/state/dropped-pkts
+ /qos/interfaces/interface/input/virtual-output-queues/voq-interface/queues/queue/state/dropped-pkts
+ /interfaces/interface/state/counters/in-discards
+ /interfaces/interface/state/counters/in-errors
+ /interfaces/interface/state/counters/in-multicast-pkts
+ /interfaces/interface/state/counters/in-unknown-protos
+ /interfaces/interface/state/counters/out-discards
+ /interfaces/interface/state/counters/out-errors
+ /interfaces/interface/state/oper-status
+ /interfaces/interface/state/admin-status
+ /interfaces/interface/state/counters/out-octets
+ /interfaces/interface/state/description
+ /interfaces/interface/state/type
+ /interfaces/interface/subinterfaces/subinterface/state/counters/in-discards
+ /interfaces/interface/subinterfaces/subinterface/state/counters/in-errors
+ /interfaces/interface/subinterfaces/subinterface/state/counters/in-unknown-protos
+ /interfaces/interface/subinterfaces/subinterface/state/counters/out-discards
+ /interfaces/interface/subinterfaces/subinterface/state/counters/out-errors
+ /interfaces/interface/ethernet/state/counters/in-mac-pause-frames
+ /interfaces/interface/ethernet/state/counters/out-mac-pause-frames
+ /interfaces/interface/ethernet/state/counters/in-crc-errors
+ /interfaces/interface/ethernet/state/counters/in-block-errors
+
+ # IPv4oUDP Decap state
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/action/state/decapsulate-gue
+
+ # BGP state paths
+ /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/session-state
+ /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/received-prefixes
+ /network-instances/network-instance/protocols/protocol[identifier='BGP']/bgp/neighbors/neighbor/state/advertised-prefixes
+ /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/peer-as
+
+ # Packet counters matching forwarding rules for IPv4oUDP Decap
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/state/counters/forwarded-packets
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/state/counters/dropped-packets
+ /network-instances/network-instance[name='']/policy-forwarding/state/active-policy
+ /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/action/state/next-hop
+
+
+
+rpcs:
+ gnmi:
+ gNMI.Set:
+ union_replace: true
+ gNMI.Subscribe:
+ on_change: true
+```
+## Required DUT platform
+* Specify the minimum DUT-type:
+ * MFF - A modular form factor device containing LINECARDs, FABRIC and redundant CONTROLLER_CARD components
+ * FFF - fixed form factor
+
+
+
+
+
From 3d12b85a4c2bca09367799d73f9ece307b0a050c Mon Sep 17 00:00:00 2001
From: Lakshmana Varahabhotla
<77013369+vvlakshmanamurthy@users.noreply.github.com>
Date: Wed, 9 Oct 2024 09:36:10 -0500
Subject: [PATCH 2/5] Update README.md
Updated the README to accept the ipv4 & ipv6 native flows with policy based traffic steering.
---
.../README.md | 425 ++++++------------
1 file changed, 138 insertions(+), 287 deletions(-)
diff --git a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
index 0dae58da461..b3cd9e3a633 100644
--- a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
+++ b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
@@ -1,311 +1,162 @@
-# RT-3.33: DSCP based traffic steering from Non-default VRF to Default VRF using Policy based VRF selection
-
## Summary
-In this case, traffic is gradually moved from the Default VRF to the non-Default VRF per traffic class and then move traffic from Non default VRF to Default VRF based on DSCP value & destination prefix.
+This test ensures NOS is able to host multiple VRFs, perform GUE tunnel DECAP in the default VRF and also allows for gradual traffic migration from Default to Non-Default VRF using VRF selection policy.
-## Testbed type
- [atedut_4.binding](https://github.com/openconfig/featureprofiles/blob/main/topologies/atedut_4.binding)
## Procedure
-Test environment setup
+Test environment setup
### Topology
Create the following connections:
```mermaid
graph LR;
-subgraph DUT [DUT]
+subgraph ATE1 [ATE1]
+ A1[Port1]
+end
+subgraph DUT1 [DUT1]
B1[Port1]
B2[Port2]
- B3[Port3]
end
subgraph ATE2 [ATE2]
- C2[Port2]
- C3[Port3]
+ C1[Port1]
end
-A1[ATE1:Port1] <-- IBGP(ASN100) --> B1;
-B2 <-- EBGP(ASN100:ASN200) --> C2;
-B3 <-- EBGP(ASN100:ASN300) --> C3;
+A1 <-- IBGP(ASN100) --> B1;
+B2 <-- EBGP(ASN100:ASN200) --> C1;
```
-### Advertisements:
- * ATE1:Port1 advertises following prefixes over IBGP to DUT:Port1.
- * IPv4Prefix1/24 IPv6Prefix1/64
- * IPv4Prefix2/24 IPv6Prefix2/64
- * IPv4Prefix3/24 IPv6Prefix3/64
- * IPv4Prefix4/24 IPv6Prefix4/64
- * IPv4Prefix5/24 IPv6Prefix5/64
-
- * ATE2:Port2 and DUT:Port2 from EBGP neighborship between each other over on respective AFI-SAFI connections and advertise the following prefixes
- * From ATE2:Port2 to DUT:Port2
- * IPv4Prefix6/24 IPv6Prefix6/64
- * IPv4Prefix7/24 IPv6Prefix7/64
- * IPv4Prefix8/24 IPv6Prefix8/64
- * IPv4Prefix9/24 IPv6Prefix9/64
- * IPv4Prefix10/24 IPv6Prefix10/64
- * From DUT:Port2 to ATE2:Port2
- * All the IBGP learnt prefixes from Prefix1 to Prefix5
-
- * ATE2:Port3 and DUT:Port3 from EBGP neighborship between each other over on respective AFI-SAFI connections and advertise the following prefixes
- * From ATE2:Port2 to DUT:Port2
- * IPv4Prefix6/24 IPv6Prefix6/64
- * IPv4Prefix7/24 IPv6Prefix7/64
- * IPv4Prefix8/24 IPv6Prefix8/64
- * IPv4Prefix9/24 IPv6Prefix9/64
- * IPv4Prefix10/24 IPv6Prefix10/64
- * From DUT:Port2 to ATE2:Port2
- * All the IBGP learnt prefixes from Prefix1 to Prefix5
-
-
- * **[Important: Please note]** Following advertisements must happen only during the test one at a time as instructed
-
-* Configure the DUT to honor the TOS byte of destination
-| Match Condition | Outer Header DSCP Set to: |
-|-------------------------------------------|---------------------------|
-| DSCP value BE1, Destination IPv4Prefix6/24" | 3 |
-| DSCP value BE1, Destination IPv6Prefix6/64" | 3 |
-| DSCP value AF1, Destination IPv4Prefix7/24" | 11 |
-| DSCP value AF1, Destination IPv6Prefix7/64" | 11 |
-| DSCP value AF2, Destination IPv4Prefix8/24" | 19 |
-| DSCP value AF2, Destination IPv6Prefix8/24" | 19 |
-| DSCP value AF3, Destination IPv4Prefix9/24" | 27 |
-| DSCP value AF3, Destination IPv6Prefix9/64" | 27 |
-| DSCP value AF4, Destination IPv4Prefix10/24" | 35 |
-| DSCP value AF4, Destination IPv6Prefix10/24" | 35 |
-
+### Advertisements:
- * DUT has 2 VRFs, Default and Non-Default. Configure Route leaking from the Default to the Non-default VRF to share reachability between VRFs.
+ ATE1:Port1 advertises following prefixes over IBGP to DUT:Port1
+ - IPv4Prefix1/24 IPv6Prefix1/64
+ - IPv4Prefix2/24 IPv6Prefix2/64
+ - IPv4Prefix3/24 IPv6Prefix3/64
+ - IPv4Prefix4/24 IPv6Prefix4/64
+ - IPv4Prefix5/24 IPv6Prefix5/64
+ ATE2:Port1 advertieses following prefixes to DUT:Port2 over EBGP
+ - IPv4Prefix6/24 IPv6Prefix6/64
+ - IPv4Prefix7/24 IPv6Prefix7/64
+ - IPv4Prefix8/24 IPv6Prefix8/64
+ - IPv4Prefix9/24 IPv6Prefix9/64
+ - IPv4Prefix10/24 IPv6Prefix10/64
### Flows:
-Flows from ATE1:Port1 to DUT:Port1
-
- * Following are destinations.
- * IPv4Prefix1/24 to IPv4Prefix6/24 [DSCP:BE1]
- * IPv6Prefix1/64 to IPv6Prefix6/64 [DSCP:BE1]
- * IPv4Prefix2/24 to IPv4Prefix7/24 [DSCP:AF1]
- * IPv6Prefix2/64 to IPv6Prefix7/64 [DSCP:AF1]
- * IPv4Prefix3/24 to IPv4Prefix8/24 [DSCP:AF2]
- * IPv6Prefix3/64 to IPv6Prefix8/64 [DSCP:AF2]
- * IPv4Prefix4/24 to IPv4Prefix9/24 [DSCP:AF3]
- * IPv6Prefix4/64 to IPv6Prefix9/64 [DSCP:AF3]
- * IPv4Prefix5/24 to IPv4Prefix10/24 [DSCP:AF4]
- * IPv6Prefix5/64 to IPv6Prefix10/64 [DSCP:AF4] br>
-
-
-### Following Health checks to be run Pre and Post every sub test
- * No system/kernel/process/component coredumps
- * No high CPU spike or usage on control or forwarding plane
- * No high memory utilization or usage on control or forwarding plane
- * No processes/daemons high CPU/Memory utilization
- * No generic drop counters
- * QUEUE drops
- * Interfaces
- * VOQ
- * Fabric drops
- * ASIC drops
- * No flow control frames tx/rx
- * No CRC or Layer 1 errors on interfaces
- * No config commit errors
- * No system level alarms
- * In spec hardware should be in proper state
- * No hardware errors
- * Major Alarms
- * No HW component or SW processes crash
-Openconfig-paths for the above are covered in the `OpenConfig Path and RPC Coverage` section below
-
-
-
-
-
-**RT-3.33.1: [Baseline] Traffic flow between ATE1:Port1 and ATE2:Port2 via DUT's Default VRF**
- * Please run all the health checks suggested above prior to starting the test as a baseline.
- * Start all the Flows from ATE1:Port1 to DUT:Port1
- * DUT has the following VRF selection policy
- * Statement1: traffic matching any IPV4 0r IPV6 destination with any DSCP value, Punt to default vrf
- * Expectations:
- * All traffic received in the Default VRF destined for any IPv4Prefix is sent back to ATE2:Port2 based on LPM lookup of EBGP learnt routes.
- * Run post test Health checks above to ensure no anomalies
-
-
-**RT-3.33.2: Identify traffic by DSCP (BE1) and punt to non-default VRF**
- * Please run all the health checks suggested above prior to starting the test.
- * Start all the Flows from ATE1:Port1 to DUT:Port1
- * DUT has the following VRF selection policy
- * Statement1: Traffic matching any IPV4 or IPV6 destination with DSCP value BE1, Punt to non-default vrf
- * Statement2: Traffic matching any IPV4 or IPV6 destination with DSCP value AF1,AF2,AF3,AF4, Punt to default vrf
- * Expectations:
- * All traffic received in the Default VRF destined for any Destination but with DSCP value BE1 is punted to Non-Default VRF and sent back to ATE2:Port3 based on LPM lookup of EBGP learnt routes.
- * All traffic received in the Default VRF destined for any Destination but with DSCP value AF1,AF2,AF3,AF4 is sent back to ATE2:Port2 based on LPM lookup of EBGP learnt routes.
-
- * Run post test Health checks above to ensure no anomalies
-
-
-**RT-3.33.3: Identify traffic by DSCP (BE1,AF1,AF2,AF3,AF4) and punt to non-default VRF**
-
-
-* Please run all the health checks suggested above prior to starting the test.
- * Start all the Flows from ATE1:Port1 to DUT:Port1
- * DUT has the following VRF selection policy
- * Statement1: Traffic matching any IPV4 or IPV6 destination with DSCP value BE1,AF1,AF2,AF3,AF4 Punt to non-default vrf
- * Expectations:
- * All traffic received in the Default VRF destined for any Destination but with DSCP value BE1,AF1,AF2,AF3,AF4 is punted to Non-Default VRF and sent back to ATE2:Port3 based on LPM lookup of EBGP learnt routes.
- * Run post test Health checks above to ensure no anomalies
-
-
-**RT-3.33.4: Identify traffic by DSCP (BE1) and prefix and punt to default VRF**
-
-
-* Please run all the health checks suggested above prior to starting the test.
- * Start all the Flows from ATE1:Port1 to DUT:Port1
- * DUT has the following VRF selection policy
- * Statement1: Traffic matching any IPv4Prefix6/24 and IPv6Prefix6/64 destination with DSCP value BE1 Punt to default vrf
- * Expectations:
- * All traffic received in the Default VRF destined for IPv4Prefix6/24 and IPv6Prefix6/64 and with DSCP value BE1 is punted to Default VRF and sent back to ATE2:Port2 based on LPM lookup of EBGP learnt routes.
- * All traffic received in the Default VRF destined for any other Destination but with DSCP value AF1,AF2,AF3,AF4 is sent to ATE2:Port3 based on LPM lookup of EBGP learnt routes.
-
- * Run post test Health checks above to ensure no anomalies
-
-**RT-3.33.5: Identify traffic by DSCP (BE1,AF1,AF2,AF3,AF4) and prefix and punt to non-default VRF**
-
-
-* Please run all the health checks suggested above prior to starting the test.
- * Start all the Flows from ATE1:Port1 to DUT:Port1
+ From ATE1:Port1 to ATE2:Port1
+ - IPv4Prefix1/24 to IPv4Prefix6/24
+ - IPv6Prefix1/64 to IPv6Prefix6/64
+
+ - IPv4Prefix2/24 to IPv4Prefix7/24
+ - IPv6Prefix2/64 to IPv6Prefix7/64
+
+ - IPv4Prefix3/24 to IPv4Prefix8/24
+ - IPv6Prefix3/64 to IPv6Prefix8/64
+
+ - IPv4Prefix4/24 to IPv4Prefix9/24
+ - IPv6Prefix4/64 to IPv6Prefix9/64
+
+ - IPv4Prefix5/24 to IPv4Prefix10/24
+ - IPv6Prefix5/64 to IPv6Prefix10/64
+
+ Flows from ATE2:Port1 to ATE1:Port1
+ - IPv4Prefix6/24 to IPv4Prefix1/24
+ - IPv6Prefix6/64 to IPv6Prefix1/64
+
+ - IPv4Prefix7/24 to IPv4Prefix2/24
+ - IPv6Prefix7/64 to IPv6Prefix2/64
+
+ - IPv4Prefix8/24 to IPv4Prefix3/24
+ - IPv6Prefix8/64 to IPv6Prefix3/64
+
+ - IPv4Prefix9/24 to IPv4Prefix4/24
+ - IPv6Prefix9/64 to IPv6Prefix4/64
+
+ - IPv4Prefix10/24 to IPv4Prefix5/24
+ - IPv6Prefix10/64 to IPv6Prefix5/64
+
+
+**RT-3.33.1: [Baseline] Default VRF for all flows. Regular traffic.**
+
+In this case ATE2:Port1 simulates the regular flows from ATE2:Port1 as stated above.
+ * ATE2 sends following IPv4 and IPv6 flows:
+ - IPv4Prefix6/24 to IPv4Prefix1/24
+ - IPv4Prefix7/24 to IPv4Prefix2/24
+ - IPv4Prefix8/24 to IPv4Prefix3/24
+ - IPv4Prefix9/24 to IPv4Prefix4/24
+ - IPv4Prefix10/24 to IPv4Prefix5/24
+ - IPv6Prefix6/64 to IPv6Prefix1/64
+ - IPv6Prefix7/64 to IPv6Prefix2/64
+ - IPv6Prefix8/64 to IPv6Prefix3/64
+ - IPv6Prefix9/64 to IPv6Prefix4/64
+ - IPv6Prefix10/64 to IPv6Prefix5/64
+ - Expectations:
+ - All traffic must be successful
+
+**RT-3.33.2: Traffic from ATE2:Port1 to ATE1:Port1 Prefix 1 migrated to Non-Default VRF using the VRF selection policy.**
+ * ATE2 sends following IPv4 and IPv6 flows:
+ * IPv4Prefix6/24 to IPv4Prefix1/24
+ * IPv4Prefix7/24 to IPv4Prefix2/24
+ * IPv4Prefix8/24 to IPv4Prefix3/24
+ * IPv4Prefix9/24 to IPv4Prefix4/24
+ * IPv4Prefix10/24 to IPv4Prefix5/24
+ * IPv6Prefix6/64 to IPv6Prefix1/64
+ * IPv6Prefix7/64 to IPv6Prefix2/64
+ * IPv6Prefix8/64 to IPv6Prefix3/64
+ * IPv6Prefix9/64 to IPv6Prefix4/64
+ * IPv6Prefix10/64 to IPv6Prefix5/64
* DUT has the following VRF selection policy
- * Statement1: Traffic matching any IPv4Prefix6/24 and IPv6Prefix6/64 with DSCP value BE1
-IPv4Prefix7/24 and IPv6Prefix7/64 with DSCP value AF1, IPv4Prefix8/24 and IPv6Prefix8/64 with DSCP value AF2, IPv4Prefix9/24 and IPv6Prefix9/64 with DSCP value AF3, IPv4Prefix10/24 and IPv6Prefix10/64 with DSCP value AF4 Punt to default vrf
+ * Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
+ * Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to default vrf
+ * Statement3: traffic matching IPv4Prefix3/24 & IPv6Prefix3/64, Punt to default vrf
+ * Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to default vrf
+ * Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to default vrf
+ * Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
+ * DUT must also leak all the routes from the Default VRF to the non-default VRF
* Expectations:
- * All traffic received in the Default VRF destined for IPv4Prefix6/24 and IPv6Prefix6/64 with DSCP value BE1
-IPv4Prefix7/24 and IPv6Prefix7/64 with DSCP value AF1, IPv4Prefix8/24 and IPv6Prefix8/64 with DSCP value AF2, IPv4Prefix9/24 and IPv6Prefix9/64 with DSCP value AF3, IPv4Prefix10/24 and IPv6Prefix10/64 with DSCP value AF4 is punted to Default VRF and sent back to ATE2:Port2 based on LPM lookup of EBGP learnt routes.
-
- * Run post test Health checks above to ensure no anomalies
-
-
-
-## To Dos:
-
-Following paths yet to be defied in Yang
-
- 1. `/network-instances/network-instance/inter-instance-policies` is missing option to configure "export-to" or "import-from" VRF`
-
- 2. Configuring the IPv4oUDP encapsulation/decapsulation is dependent on the proposal in https://github.com/openconfig/public/pull/1153
-
-
-## OpenConfig Path and RPC Coverage
-```yaml
-paths:
- # Policy for route leaking between VRFs
- /network-instances/network-instance/inter-instance-policies/apply-policy
- # Following applied in Default VRF
- /network-instances/network-instance/inter-instance-policies/apply-policy/config/export-policy
- # Following applied in Non-default VRF
- /network-instances/network-instance/inter-instance-policies/apply-policy/config/import-policy
-
- # Config for VRF selection
- # Create different VRFs: "Default or Non-default"
- /network-instances/network-instance/config/name:
- # Create VRF seletion policy with different rules that match on desination-prefix-set as first rule and then few other rules to match different Traffic-classes that determine BE1 to AF4 traffic
- /network-instances/network-instance/policy-forwarding/policies/policy-id:
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/ipv4/config/destination-address-prefix-set:
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/ipv4/config/dscp-set:
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/ipv6/config/dscp-set:
-
- # Action that sets the VRF for matching conditions.
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/action/config/network-instance:
-
- # Creating the Prefix-Set required for the above VRF selection policy
- /routing-policy/defined-sets/prefix-sets/prefix-set/name:
- /routing-policy/defined-sets/prefix-sets/prefix-set/config/name:
- /routing-policy/defined-sets/prefix-sets/prefix-set/prefixes/prefix/config/ip-prefix:
- /routing-policy/defined-sets/prefix-sets/prefix-set/prefixes/prefix/config/masklength-range:
-
- # Apply VRF selection policy as per the Test procedure above
- /network-instances/network-instance/policy-forwarding/interfaces/interface/config/apply-vrf-selection-policy:
-
- # BGP configuration at the neighbor and peer-group levels
- /network-instances/network-instance/protocols/protocol/bgp/neighbors/peer-group/
- /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/neighbor-address
- /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/peer-as
- /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/local-as
-
- # BGP Policy definition for sharing of routes between IBGP and EBGP
- /routing-policy/policy-definitions/policy-definition/config/name
- /routing-policy/policy-definitions/policy-definition/statements/statement/config/name
- /routing-policy/policy-definitions/policy-definition/statements/statement/conditions/match-prefix-set/config/prefix-set
- /routing-policy/policy-definitions/policy-definition/statements/statement/conditions/match-prefix-set/config/match-set-options
- /routing-policy/policy-definitions/policy-definition/statements/statement/actions/config/policy-result/ACCEPT_ROUTE
-
- # Static route for VPNH for routes learnt via BGP. Routes MUST be in Default VRF and Protocol is Static
- /network-instances/network-instance/protocols/protocol/static-routes/static/config/prefix:
- /network-instances/network-instance/protocols/protocol/static-routes/ipv4/route/next-hops/next-hop/config/index
- /network-instances/network-instance/protocols/protocol/static-routes/ipv4/route/next-hops/next-hop/config/next-hop
-
- # Next-hop defined in the Static route above must lead to a IPv4oUDP encap to a destination learnt via EBGP
-
-
- # Config for policy-based Decap of IPv4oUDP packets
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/ipv4/config/destination-address-prefix-set
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/action/config/decapsulate-gue
-
- # State Paths:
- # Folliwing for normal health check pre and post each test
- /system/processes/process/state/cpu-utilization
- /system/processes/process/state/memory-utilization
- /qos/interfaces/interface/input/queues/queue/state/dropped-pkts
- /qos/interfaces/interface/output/queues/queue/state/dropped-pkts
- /qos/interfaces/interface/input/virtual-output-queues/voq-interface/queues/queue/state/dropped-pkts
- /interfaces/interface/state/counters/in-discards
- /interfaces/interface/state/counters/in-errors
- /interfaces/interface/state/counters/in-multicast-pkts
- /interfaces/interface/state/counters/in-unknown-protos
- /interfaces/interface/state/counters/out-discards
- /interfaces/interface/state/counters/out-errors
- /interfaces/interface/state/oper-status
- /interfaces/interface/state/admin-status
- /interfaces/interface/state/counters/out-octets
- /interfaces/interface/state/description
- /interfaces/interface/state/type
- /interfaces/interface/subinterfaces/subinterface/state/counters/in-discards
- /interfaces/interface/subinterfaces/subinterface/state/counters/in-errors
- /interfaces/interface/subinterfaces/subinterface/state/counters/in-unknown-protos
- /interfaces/interface/subinterfaces/subinterface/state/counters/out-discards
- /interfaces/interface/subinterfaces/subinterface/state/counters/out-errors
- /interfaces/interface/ethernet/state/counters/in-mac-pause-frames
- /interfaces/interface/ethernet/state/counters/out-mac-pause-frames
- /interfaces/interface/ethernet/state/counters/in-crc-errors
- /interfaces/interface/ethernet/state/counters/in-block-errors
-
- # IPv4oUDP Decap state
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/action/state/decapsulate-gue
-
- # BGP state paths
- /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/session-state
- /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/received-prefixes
- /network-instances/network-instance/protocols/protocol[identifier='BGP']/bgp/neighbors/neighbor/state/advertised-prefixes
- /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/peer-as
-
- # Packet counters matching forwarding rules for IPv4oUDP Decap
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/state/counters/forwarded-packets
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/state/counters/dropped-packets
- /network-instances/network-instance[name='']/policy-forwarding/state/active-policy
- /network-instances/network-instance/policy-forwarding/policies/policy/rules/rule/action/state/next-hop
-
-
-
-rpcs:
- gnmi:
- gNMI.Set:
- union_replace: true
- gNMI.Subscribe:
- on_change: true
-```
-## Required DUT platform
-* Specify the minimum DUT-type:
- * MFF - A modular form factor device containing LINECARDs, FABRIC and redundant CONTROLLER_CARD components
- * FFF - fixed form factor
-
-
-
-
-
+ * Traffic for Prefix 1 received from ATE2:Port1 once punted to non-defailt VRF by the VRF selection policy, must be received by ATE1:Port1
+ * Traffic sent by ATE2:Port1 must be routed to ATE1:Port1 via the DEFAULT VRF in the DUT.
+
+**RT-3.33.3 to RT-3.33.6: Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.**
+Follow the steps in RT-3.31.2 above to gradually move different traffic flows from the Default VRF to the Non-Defailt in the following sequence:
+
+ * RT-3.33.3 Prefix 1-2 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ VRF selection policy on DUT:Port2 changes as follows:
+ * Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
+ * Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
+ * Statement3: traffic matching IPv4Prefix3/24 & IPv6Prefix3/64, Punt to default vrf
+ * Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to default vrf
+ * Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to default vrf
+ * Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
+ * RT-3.33.4 Prefix 1-3 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ VRF selection policy on DUT:Port2 changes as follows:
+ * Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
+ * Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
+ * Statement3: traffic matching IPv4Prefix3/24 & IPv6Prefix3/64, Punt to Non-default vrf
+ * Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to default vrf
+ * Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to default vrf
+ * Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
+ * RT-3.31.5 Prefix 1-4 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ VRF selection policy on DUT:Port2 changes as follows:
+ * Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
+ * Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
+ * Statement3: traffic matching IPv4Prefix3/24 & IPv6Prefix3/64, Punt to Non-default vrf
+ * Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to Non-default vrf
+ * Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to default vrf
+ * Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
+ * RT-3.31.6 Prefix 1-5 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ VRF selection policy on DUT:Port2 changes as follows:
+ * Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
+ * Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
+ * Statement3: traffic matching IPv4Prefix3/24 & IPv6Prefix3/64, Punt to Non-default vrf
+ * Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to Non-default vrf
+ * Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to Non-default vrf
+ * Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
+ * RT-3.31.7 Prefix 1-6 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ VRF selection policy on DUT:Port2 changes as follows:
+ * Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
+ * Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
+ * Statement3: traffic matching IPv4Prefix3/24 & IPv6Prefix3/64, Punt to Non-default vrf
+ * Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to Non-default vrf
+ * Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to Non-default vrf
+ * Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
+ * Expectations are the same for traffic routed via the Default and the Non-Default VRFs on the DUT.
From 7d16dec72bc61f67c9184ad4679fca7c91af887c Mon Sep 17 00:00:00 2001
From: Lakshmana Varahabhotla
<77013369+vvlakshmanamurthy@users.noreply.github.com>
Date: Wed, 9 Oct 2024 09:39:26 -0500
Subject: [PATCH 3/5] Update README.md
Updated the test case numbers.
---
.../README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
index b3cd9e3a633..430f955f8d9 100644
--- a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
+++ b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
@@ -116,7 +116,7 @@ In this case ATE2:Port1 simulates the regular flows from ATE2:Port1 as stated ab
* Traffic for Prefix 1 received from ATE2:Port1 once punted to non-defailt VRF by the VRF selection policy, must be received by ATE1:Port1
* Traffic sent by ATE2:Port1 must be routed to ATE1:Port1 via the DEFAULT VRF in the DUT.
-**RT-3.33.3 to RT-3.33.6: Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.**
+**RT-3.33.3 to RT-3.33.7: Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.**
Follow the steps in RT-3.31.2 above to gradually move different traffic flows from the Default VRF to the Non-Defailt in the following sequence:
* RT-3.33.3 Prefix 1-2 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
@@ -158,5 +158,5 @@ Follow the steps in RT-3.31.2 above to gradually move different traffic flows fr
* Statement3: traffic matching IPv4Prefix3/24 & IPv6Prefix3/64, Punt to Non-default vrf
* Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to Non-default vrf
* Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to Non-default vrf
- * Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
+ * Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to Non-default vrf
* Expectations are the same for traffic routed via the Default and the Non-Default VRFs on the DUT.
From 03929a8bf00a48467b8fda340e9d2fc371fd171e Mon Sep 17 00:00:00 2001
From: Lakshmana Varahabhotla
<77013369+vvlakshmanamurthy@users.noreply.github.com>
Date: Wed, 9 Oct 2024 10:05:11 -0500
Subject: [PATCH 4/5] Update README.md
Updated the TC number to PF-1.6.x
---
.../README.md | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
index 430f955f8d9..769370b2bd2 100644
--- a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
+++ b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
@@ -75,7 +75,7 @@ B2 <-- EBGP(ASN100:ASN200) --> C1;
- IPv6Prefix10/64 to IPv6Prefix5/64
-**RT-3.33.1: [Baseline] Default VRF for all flows. Regular traffic.**
+**PF-1.6.1: [Baseline] Default VRF for all flows. Regular traffic.**
In this case ATE2:Port1 simulates the regular flows from ATE2:Port1 as stated above.
* ATE2 sends following IPv4 and IPv6 flows:
@@ -92,7 +92,7 @@ In this case ATE2:Port1 simulates the regular flows from ATE2:Port1 as stated ab
- Expectations:
- All traffic must be successful
-**RT-3.33.2: Traffic from ATE2:Port1 to ATE1:Port1 Prefix 1 migrated to Non-Default VRF using the VRF selection policy.**
+**PF-1.6.2: Traffic from ATE2:Port1 to ATE1:Port1 Prefix 1 migrated to Non-Default VRF using the VRF selection policy.**
* ATE2 sends following IPv4 and IPv6 flows:
* IPv4Prefix6/24 to IPv4Prefix1/24
* IPv4Prefix7/24 to IPv4Prefix2/24
@@ -116,10 +116,10 @@ In this case ATE2:Port1 simulates the regular flows from ATE2:Port1 as stated ab
* Traffic for Prefix 1 received from ATE2:Port1 once punted to non-defailt VRF by the VRF selection policy, must be received by ATE1:Port1
* Traffic sent by ATE2:Port1 must be routed to ATE1:Port1 via the DEFAULT VRF in the DUT.
-**RT-3.33.3 to RT-3.33.7: Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.**
-Follow the steps in RT-3.31.2 above to gradually move different traffic flows from the Default VRF to the Non-Defailt in the following sequence:
+**PF-1.6.3 to PF-1.6.7: Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.**
+Follow the steps in PF-1.6.2 above to gradually move different traffic flows from the Default VRF to the Non-Defailt in the following sequence:
- * RT-3.33.3 Prefix 1-2 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ * PF-1.6.3 Prefix 1-2 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
VRF selection policy on DUT:Port2 changes as follows:
* Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
* Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
@@ -127,7 +127,7 @@ Follow the steps in RT-3.31.2 above to gradually move different traffic flows fr
* Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to default vrf
* Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to default vrf
* Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
- * RT-3.33.4 Prefix 1-3 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ * PF-1.6.4 Prefix 1-3 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
VRF selection policy on DUT:Port2 changes as follows:
* Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
* Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
@@ -135,7 +135,7 @@ Follow the steps in RT-3.31.2 above to gradually move different traffic flows fr
* Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to default vrf
* Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to default vrf
* Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
- * RT-3.31.5 Prefix 1-4 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ * PF-1.6.5 Prefix 1-4 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
VRF selection policy on DUT:Port2 changes as follows:
* Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
* Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
@@ -143,7 +143,7 @@ Follow the steps in RT-3.31.2 above to gradually move different traffic flows fr
* Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to Non-default vrf
* Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to default vrf
* Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
- * RT-3.31.6 Prefix 1-5 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ * PF-1.6.6 Prefix 1-5 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
VRF selection policy on DUT:Port2 changes as follows:
* Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
* Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
@@ -151,7 +151,7 @@ Follow the steps in RT-3.31.2 above to gradually move different traffic flows fr
* Statement4: traffic matching IPv4Prefix4/24 & IPv6Prefix4/64, Punt to Non-default vrf
* Statement5: traffic matching IPv4Prefix5/24 & IPv6Prefix5/64, Punt to Non-default vrf
* Statement6: traffic matching IPv4Prefix6/24 & IPv6Prefix6/64, Punt to default vrf
- * RT-3.31.7 Prefix 1-6 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
+ * PF-1.6.7 Prefix 1-6 Traffic from ATE2:Port1 to ATE1:Port1 migrated to Non-Default VRF using the VRF selection policy.
VRF selection policy on DUT:Port2 changes as follows:
* Statement1: traffic matching IPv4Prefix1/24 & IPv6Prefix1/64, Punt to Non-default vrf
* Statement2: traffic matching IPv4Prefix2/24 & IPv6Prefix2/64, Punt to Non-default vrf
From c1ea778565bc69bfb395ae227a3c4f0c20bc3dd7 Mon Sep 17 00:00:00 2001
From: Lakshmana Varahabhotla
<77013369+vvlakshmanamurthy@users.noreply.github.com>
Date: Thu, 10 Oct 2024 10:08:31 -0500
Subject: [PATCH 5/5] Update README.md
Updated all the suggested changes and resolved the comments .
---
.../README.md | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
index 769370b2bd2..578c0f40981 100644
--- a/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
+++ b/feature/experimental/policy/policy_vrf_selection/otg_tests/policy_based_traffic_steering_default_to_nondefault/README.md
@@ -1,10 +1,10 @@
+# PF-1.6: Policy forwarding based GUE tunnel decap to default and non-default network-instance
## Summary
This test ensures NOS is able to host multiple VRFs, perform GUE tunnel DECAP in the default VRF and also allows for gradual traffic migration from Default to Non-Default VRF using VRF selection policy.
-## Procedure
-Test environment setup
+## Test environment setup
### Topology
Create the following connections:
@@ -75,7 +75,8 @@ B2 <-- EBGP(ASN100:ASN200) --> C1;
- IPv6Prefix10/64 to IPv6Prefix5/64
-**PF-1.6.1: [Baseline] Default VRF for all flows. Regular traffic.**
+## Procedure
+### PF-1.6.1: [Baseline] Default VRF for all flows with regular traffic profile
In this case ATE2:Port1 simulates the regular flows from ATE2:Port1 as stated above.
* ATE2 sends following IPv4 and IPv6 flows:
@@ -92,7 +93,7 @@ In this case ATE2:Port1 simulates the regular flows from ATE2:Port1 as stated ab
- Expectations:
- All traffic must be successful
-**PF-1.6.2: Traffic from ATE2:Port1 to ATE1:Port1 Prefix 1 migrated to Non-Default VRF using the VRF selection policy.**
+### PF-1.6.2: Traffic from ATE2:Port1 to ATE1:Port1 Prefix 1 migrated to Non-Default VRF using the VRF selection policy
* ATE2 sends following IPv4 and IPv6 flows:
* IPv4Prefix6/24 to IPv4Prefix1/24
* IPv4Prefix7/24 to IPv4Prefix2/24