# RFC 9097 §4: General Parameters and Definitions

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

| State | Requirements |
|---|--:|
| Tested | 7 |
| Not applicable | 2 |

## RFC9097-4-1 {#RFC9097-4-1}

**Not applicable**

> This section lists the REQUIRED input factors to specify a Sender or Receiver metric.

Note: An introduction to the section's Requirements, each recorded with its own ID; nothing to do beyond them.

## RFC9097-4-L1 {#RFC9097-4-L1}

**Tested**

> The nominal duration of a measurement interval at the Destination (default 10 sec).

Note: I, the Test Interval (testIntTime).

Proving tests:

- [`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-4-L2 {#RFC9097-4-L2}

**Tested**

> The nominal duration of m equal sub-intervals in I at the Destination (default 1 sec).

Note: dt, the Sub-Interval (subIntPeriod).

Proving tests:

- [`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-4-L3 {#RFC9097-4-L3}

**Tested**

> The results are evaluated throughout the test to determine how to adjust the current offered load rate at the Sender (default 50 msec).

Note: FT, the Trial Interval (trialInt).

Proving tests:

- [`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-4-L4 {#RFC9097-4-L4}

**Tested**

> A maximum waiting time for test packets to arrive at the Destination, set sufficiently long to disambiguate packets with long delays from packets that are discarded (lost), such that the distribution of one-way delay is not truncated.

Note: Tmax.

Conformance Records: [tmax-within-the-sub-interval](../conformance/interpretations.md#tmax-within-the-sub-interval).

Proving tests:

- [`crates/udpstp-core/tests/sequence_errors.rs::a_load_pdu_later_than_its_sub_interval_stays_lost`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp-core/tests/sequence_errors.rs)

## RFC9097-4-L5 {#RFC9097-4-L5}

**Tested**

> The number of different flows synthesized by the method (default one flow).

Note: F; more than one is a Multi-Connection Test.

Proving tests:

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

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

**Not applicable**

> Note: The IPv6 flow label SHOULD be included in the flow definition when routers have complied with the guidelines provided in [RFC6438].

Note: About the flow definition: udpstp sets no IPv6 flow label, and the OS's is constant for a socket, so a Test Connection is one flow with or without it.

## RFC9097-4-3 {#RFC9097-4-3}

**Tested**

> If there is payload compression in the path and tests intend to characterize a possible advantage due to compression, then payload content SHOULD be supplied by a pseudorandom sequence generator, by using part of a compressed file, or by other means.

Note: Random payload (CHTA_RAND_PAYLOAD, `--random-payload`).

Proving tests:

- [`crates/udpstp-core/tests/downstream_load.rs::payload_content_is_random_when_asked_for`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp-core/tests/downstream_load.rs)

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

**Tested**

> At least one fundamental metric and target performance threshold MUST be supplied (such as one-way IP packet loss [RFC7680] equal to zero).

Note: PM: the Performance Criterion.

Proving tests:

- [`crates/udpstp/src/results.rs::a_completed_test`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp/src/results.rs)
- [`crates/udpstp-core/src/results.rs::the_maximum_meets_the_criterion_and_the_highest_need_not`](https://github.com/pederbe/udpstp/blob/c88fe32e0973594682a069c58de24fd703714277/crates/udpstp-core/src/results.rs)

