# RFC 9097 §2: Scope, Goals, and Applicability

The 6 Requirements of RFC 9097 §2, each quoted from the RFC with its state and the tests that prove it. [Conformance](index.md) explains the states.

| State | Requirements |
|---|--:|
| Tested | 3 |
| Operational | 3 |

## RFC9097-2-1 {#RFC9097-2-1}

**Operational**

> It is RECOMMENDED to discontinue non-measurement traffic that shares a subscriber's dedicated resources while testing: measurements may not be accurate, and throughput of competing elastic traffic may be greatly reduced.

Note: Advice to the user running a Test.

## RFC9097-2-2 {#RFC9097-2-2}

**Operational**

> It MUST only be used in the application of diagnostic and operations measurements as described in this memo.

Note: "It" is the Load Rate Adjustment Algorithm; RFC 9946 section 5.1 item 2 says the same.

## RFC9097-2-3 {#RFC9097-2-3}

**Operational**

> It MUST only be used in circumstances consistent with Section 10 ("Security Considerations").

Note: RFC 9946 section 5.1 item 11 says the same.

## RFC9097-2-4 {#RFC9097-2-4}

**Tested**

> If a network operator is certain of the IP-Layer Capacity to be validated, then testing MAY start with a fixed-rate test at the IP-Layer Capacity and avoid activating the load adjustment algorithm.

Note: Fixed-Rate Test, Operator Key only; RFC 9946 section 5.1 item 10.

Proving tests:

- [`crates/udpstp/tests/interop.rs::unauthenticated_and_fixed_rate_tests_interoperate`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp/tests/interop.rs)
- [`crates/udpstp/tests/loopback.rs::fixed_rate_tests_complete_over_loopback`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp/tests/loopback.rs)

## RFC9097-2-5 {#RFC9097-2-5}

**Tested**

> However, the stimulus for a diagnostic test (such as a subscriber request) strongly implies that there is no certainty, and the load adjustment algorithm is RECOMMENDED.

Note: A Search Test is the default.

Proving tests:

- [`crates/udpstp-core/tests/algorithm_b.rs::the_default_search_starts_at_row_0`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp-core/tests/algorithm_b.rs)
- [`crates/udpstp-core/tests/parameter_ranges.rs::the_client_asks_for_the_defaults`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp-core/tests/parameter_ranges.rs)

## RFC9097-2-6 {#RFC9097-2-6}

**Tested**

> Finally, the measurement system's load rate adjustment algorithm SHALL NOT be provided with the exact capacity value to be validated a priori.

Note: A Search Test starts at the default row or a requested srIndexConf row, never at a known capacity.

Proving tests:

- [`crates/udpstp-core/tests/algorithm_b.rs::the_default_search_starts_at_row_0`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp-core/tests/algorithm_b.rs)
- [`crates/udpstp-core/tests/start_row_cap.rs::a_capped_search_still_climbs_past_the_cap`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp-core/tests/start_row_cap.rs)

