diff --git a/feature/interface/loadinterval/otg_tests/README.md b/feature/interface/loadinterval/otg_tests/README.md new file mode 100644 index 00000000000..d49bcbdaefa --- /dev/null +++ b/feature/interface/loadinterval/otg_tests/README.md @@ -0,0 +1,64 @@ +# RT-5.11: Interface Load-Interval for Statistics Sampling + +## Summary + +This test case verifies the DUT's ability to configure and utilize the load-interval parameter for statistics sampling on its interfaces. This parameter determines the time interval over which interface statistics like input/output rates are calculated. + +## Testbed type + +* [`featureprofiles/topologies/atedut_2.testbed`](https://github.com/openconfig/featureprofiles/blob/main/topologies/atedut_2.testbed) + +## Procedure + +### Configuration + +1) Create the topology below: + + ``` + [ ATE Port 1 ] ---- | DUT | ---- | ATE Port 2 | + ``` + +2) Configure a non-default load-interval value on an interface on the DUT (30 seconds). + +### Traffic: +* Establish a stable traffic flow between ATE1 and ATE2 through the DUT on the configured interface. + +### Verification: + +* Initial Observation: + * Observe the interface statistics on the DUT. + * Record the initial input/output rate values. +* Load-Interval Impact: + * Clear the interfaces counters. + * Configure the load-interval to a value equal to 30 seconds. + * Use gnmi.Subscribe SAMPLE mode with 10 second interval, capture 3 samples and compute the average pps and bps and compare to the ATE generated flow + * Verify that the input/output rate values have been updated and reflect the average traffic rate over the configured load-interval. +* Varying Load-Interval: + * Clear the interfaces counters. + * Change the load-interval to a different value (60 seconds). + * Use gnmi.Subscribe SAMPLE mode with 10 second interval, capture 3 samples and compute the average pps and bps. + * Verify that the input/output rates were not incremented as the sampling time is less that the load-interval + * Use gnmi.Subscribe SAMPLE mode with 10 second interval, capture 6 samples and compute the average pps and bps and compare to the ATE generated flow + * Verify that the input/output rates now reflect the average traffic rate over the new load-interval. + +## OpenConfig Path and RPC Coverage + +```yaml +paths: + ## Config paths + /interfaces/interface/rates/config/load-interval: + ## State paths + /interfaces/interface/rates/state/load-interval: + /interfaces/interface/state/counters/in-octets: + /interfaces/interface/state/counters/out-octets: +rpcs: + gnmi: + gNMI.Set: + union_replace: true + replace: true + gNMI.Subscribe: + on_change: true +``` + +## Minimum DUT platform requirement +* FFF \ No newline at end of file diff --git a/testregistry.textproto b/testregistry.textproto index 45abadc10fd..6dc80a0a637 100644 --- a/testregistry.textproto +++ b/testregistry.textproto @@ -789,6 +789,11 @@ 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 Load-Interval for Statistics Sampling" + readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/interface/loadinterval/otg_tests/README.md" +} test: { id: "RT-5.2" description: "Aggregate Interfaces"