Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

RFC 9946 §9: Stopping a Test

The 12 Requirements of RFC 9946 §9, each quoted from the RFC with its state and the tests that prove it. Conformance explains the states.

StateRequirements
Tested12

RFC9946-9-1

Tested

When the test duration timer (testIntTime) on the server expires, it SHALL set the local connection test action to TEST_ACT_STOP1 (phase 1 of graceful termination).

Conformance Records: server-test-interval-timer-runs-half-a-second-over.

Proving tests:

RFC9946-9-2

Tested

Upon transmission of the next Load or Status PDUs, the server SHALL set the local connection test action to TEST_ACT_STOP2 (phase 2 of graceful termination) and mark any outgoing PDUs with a testAction value of TEST_ACT_STOP2.

Conformance Records: stop-confirmation-waits.

Proving tests:

RFC9946-9-3

Tested

While in this state, the server MAY reduce any Load PDU bursts to a size of one.

Conformance Records: stop-bursts-of-one-without-add-on.

Proving tests:

RFC9946-9-4

Tested

When the client receives a Load or Status PDU with the TEST_ACT_STOP2 indication, it SHALL finalize testing, display the test results, and mark its local connection with a test action of TEST_ACT_STOP2 (so that any PDUs subsequently received can be ignored).

Conformance Records: stop-test-action-per-role, stop-ends-counting.

Proving tests:

RFC9946-9-5

Tested

With the test action of the client’s connection set to TEST_ACT_STOP2, the very next expiry of a send timer, for either a Load or a Status PDU, SHALL result in it and any subsequent PDUs being sent with a testAction value of TEST_ACT_STOP2 (as confirmation to the server).

Proving tests:

RFC9946-9-6

Tested

While in this state, the client MAY reduce any Load PDU bursts to a size of one.

Conformance Records: stop-bursts-of-one-without-add-on.

Proving tests:

RFC9946-9-7

Tested

The client SHALL then schedule an immediate end time for the connection.

Proving tests:

RFC9946-9-8

Tested

When the server receives the TEST_ACT_STOP2 confirmation in the Load or Status PDU, the server SHALL schedule an immediate end time for the connection that closes the socket and deallocates the associated resources.

Conformance Records: stop-test-action-per-role.

Proving tests:

RFC9946-9-9

Tested

In a non-graceful test stop due to path failure, the watchdog timeouts at each endpoint will expire (sometimes at one endpoint first); notifications in logs, STDOUT, and/or formatted output SHALL be made; and the endpoint SHALL schedule an immediate end time for the connection.

Note: Timeouts per ADR 0002.

Proving tests:

RFC9946-9-10

Tested

If an attacker clears the TEST_ACT_STOP2 indication, then the configured test duration timer (testIntTime) at the server and client SHALL take precedence and the endpoint SHALL schedule an immediate end time for the connection.

Proving tests:

RFC9946-9-L1

Tested

This is simply a non-reversible state awaiting the next message(s) to be sent from the server.

Note: TEST_ACT_STOP1.

Proving tests:

RFC9946-9-L2

Tested

During this time, any received Load or Status PDUs are processed normally.

Note: TEST_ACT_STOP1.

Conformance Records: stop-status-pdus-are-not-classified.

Proving tests: