Test-Suite for the SCTP Partial Reliability Extension
Introduction
This is a document that defines a test suite for the partial reliability extension of sctp.
The designed test suite for PR-SCTP consists of eight different categories. A practial implementation of
these test-cases can be found for the tool packetdrill under https://github.com/nplab/PR_SCTP_Testsuite.
Most test-cases were specified close to the specification of the tested extensions of SCTP. Therefore each test-case
lists the relevant references that were used to design the test-case.
Please note that the categories Sender Side Implementation and Receiver Side Implementation can be applied to either the classic
PR-SCTP or the PR-SCTP extension with user message interleaving (see Stream Schedulers and User Message Interleaving for SCTP).
If these tests are applied to the user message interleaving extension then the sid/ssn-values in the DATA-Chunks have to converted
such that they match the new sid/mid/fsn-values in the I-DATA-Chunk (and also use the I-DATA-Chunk instead).
Also each FORWARD-TSN-Chunk has to be replaced by an equivalent I-FORWARD-TSN-Chunk. Other than these conversions
every test case of the categories Sender Side Implementation and Receiver Side Implementation can also
be applied to the Stream Schedulers and User Message Interleaving extension.
Overview of Test-Suite-Structure
Negotiation of Forward-TSN-supported parameter
Sender Side Implementation
Receiver Side Implementation
Handshake with I-FORWARD-TSN
Data Receiver with NR-SACK
Abbreviations
IUT | Implementation under Test |
NR-SACK | Non-Renegable Selective Acknowledgements |
PR-SCTP | Partial Reliability Extension for SCTP |
RFC | Request for comments |
SCTP | Stream Control Transmission Protocol |
TSN | Transmission Sequence Number |
cum_tsn | Cumulative Transmission Sequence Number |
cwnd | Congestion Window Size |
gaps | Gap Ackowledgement Blocks |
nr-gaps | Non Renegable Gap Ackowledgement Blocks |
External references
This testsuite is based upen the following documents:
Definition of the Test-Cases
Negotiation of Forward-TSN-supported parameter
ID | handshake-with-forward-tsn-1 |
Precondition | IUT does not support PR-SCTP.
Association is not established between tester and IUT.
Arrange the data at the tester such that an INIT-Chunk with a forward-tsn-supported parameter is sent to the IUT.
|
Purpose | Ensure that the IUT responds with an INIT-ACK-chunk where the forward-tsn-supported parameter is listed at the
unrecognized parameters.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1]
|
Back to Testsuite-OverviewID | handshake-with-forward-tsn-2 |
Precondition | IUT does not support PR-SCTP.
Association is not established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
|
Purpose | Ensure that the received INIT-Chunk from the IUT does not contain the forward-tsn-supported parameter in the optional parameter list.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1]
|
Back to Testsuite-OverviewID | handshake-with-forward-tsn-3 |
Precondition | IUT does not support PR-SCTP.
Association is not established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK where the forward-tsn-supported parameter is set.
|
Purpose | Ensure that the IUT upon receipt of an INIT-ACK-chunk with a forward-tsn-supported parameter sends an ERROR-Chunk
with the cause "invalid mandatory parameter".
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3]
|
Back to Testsuite-OverviewID | handshake-with-forward-tsn-4 |
Precondition | IUT supports PR-SCTP.
Association is established between tester and IUT, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is NOT set.
Arrange the data at the tester that an FORWARD TSN chunk is sent to the IUT.
|
Purpose | Ensure that the IUT upon receipt of an FORWARD TSN chunk at an association where PR-SCTP is not supported sends an ERROR-Chunk
where any cause is considered valid. Protocol violation would be an reasonable cause.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3]
|
Back to Testsuite-OverviewID | handshake-with-forward-tsn-5 |
Precondition | IUT supports PR-SCTP.
Association is established between tester and IUT, where in the INIT-ACK-Chunk sent by the tester the forward-tsn-supported parameter is NOT set.
Arrange the data at the tester that an FORWARD TSN chunk is sent to the IUT.
|
Purpose | Ensure that the IUT upon receipt of an FORWARD TSN chunk at an association where PR-SCTP is not supported sends an ERROR-Chunk
where any cause is considered valid. Protocol violation would be an reasonable cause.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3]
|
Back to Testsuite-OverviewID | handshake-with-forward-tsn-6 |
Precondition | IUT supports PR-SCTP.
Association is established between tester and IUT, where the forward-tsn-supported parameter is set in the INIT-Chunk and the INIT-ACK-Chunk.
|
Purpose | Ensure that the IUT has enabled PR-SCTP for this association.
|
References | RFC 3758 [section 3.3.2]
|
Back to Testsuite-OverviewID | handshake-with-forward-tsn-7 |
Precondition | IUT does support PR-SCTP.
Association is not established between tester and IUT.
Arrange the data at the tester such that an INIT-Chunk with a forward-tsn-supported parameter is sent to the IUT.
Dont send an COOKIE-ECHO-Chunk after receival of the INIT-ACK-Chunk from the IUT.
Instead retransmit the INIT-Chunk - but this time without the forward tsn parameter set.
After that complete the handshake for this association.
|
Purpose | Ensure that the IUT has disabled PR-SCTP for this association.
|
References | RFC 3758 [section 3.3.2]
|
Back to Testsuite-OverviewID | handshake-with-forward-tsn-operational-error |
Precondition | IUT does support PR-SCTP.
Let the IUT send a INIT-Chunk with the Forward-TSN-Supported parameter set.
Arrange the data at the tester that an INIT-ACK-Chunk is sent, where the Forward-TSN-Supported parameter
is listed at the Unrecognized Parameters.
|
Purpose | Ensure the IUT to either:
- end the initiation process. (in cases where the initiation process already ended, it may need to send an ABORT)
- continue the initiation process and marks the association such that PR-SCTP is NOT supported.
In this case the endpoint receiving the operational error should note that the FORWARD-TSN-Chunk is NOT supported.
Also ensure that the IUT does not trasmit a FORWARD-TSN-Chunk at any time during the association.
|
References | RFC 3758 [section 3.3.3]
|
Back to Testsuite-OverviewSender Side Implementation
Notice: These test cases use the term "abandoned" like defined in RFC 3758 [section 3.4].
This means that these test cases have to be implemented for each specific policy rule that defines when a data chunk should be considered "abandoned" for the sender.
ID | sender-side-implementation-1 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send a fragmented user message as three not bundled data chunks with the stream identifier 1 and the stream sequence number 0 to the tester. Send an SACK at the tester for the first two data chunks.
Then wait so long until the T3-rtx timer of the sender expires and flags the outstanding DATA-Chunk as abandoned.
|
Purpose | Ensure that the IUT sends a FORWARD TSN-Chunk where the new cumulative tsn is pointing to the last (third) DATA-Chunk and that the stream identifier is 1 and the stream sequence number is 0.
Also ensure that the sender does not advance the cwnd based on the abandoned chunk.
|
References | RFC 3758 [section 3.5 - A2, C3 and C4]
|
Back to Testsuite-OverviewID | sender-side-implementation-2 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send a fragmented user message as three not bundled unordered data chunks to the tester. Send an SACK at the tester for the first two data chunks.
Then wait so long until the T3-rtx timer of the sender expires and flags the outstanding DATA-Chunk as abandoned.
|
Purpose | Ensure that the IUT sends a FORWARD TSN-Chunk where the new cumulative tsn is pointing to the last (third) DATA-Chunk and that the stream identifier and the stream sequence number are not set in the FORWARD TSN.
Also ensure that the sender does not advance the cwnd based on the abandoned chunk.
|
References | RFC 3758 [section 3.5 - A2, C3 and C4]
|
Back to Testsuite-OverviewID | sender-side-implementation-3 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send a fragmented user message as three not bundled unordered and fragmented data chunks to the tester. Send an SACK at the tester for the first two data chunks.
Then wait so long until the T3-rtx timer of the sender expires and flags the outstanding DATA-Chunk as abandoned.
|
Purpose | Ensure that the IUT sends a valid FORWARD TSN-Chunk and abandons all fragmented chunks at the the same time.
|
References | RFC 3758 [section 3.5 - A3]
|
Back to Testsuite-OverviewID | sender-side-implementation-4 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send three not fragmented unordered user messages in three DATA-Chunks.
Arrange the data such that the IUT will abandon the second user message before the third user message.
Send a SACK for the first DATA-Chunk at the tester.
Then wait so long until the T3-rtx timer of the sender expires and flags the second DATA-Chunk as abandoned.
|
Purpose | Ensure that the IUT sends a valid FORWARD TSN-Chunk and bundles it with the third DATA-Chunk.
|
References | RFC 3758 [section 3.5 - F2]
|
Back to Testsuite-OverviewID | sender-side-implementation-5 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send a single unordered not fragmented user message in one DATA-Chunk.
Don't send a SACK for the user message and wait so long until the T3-rtx timer of
the sender expires and flags the DATA-Chunk as abandoned.
|
Purpose | Ensure that the IUT sends a valid FORWARD TSN-Chunk and does not delay the sending of the forward tsn to more than 500ms.
|
References | RFC 3758 [section 3.5 - F3]
|
Back to Testsuite-OverviewID | sender-side-implementation-6 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send two ordered not fragmented user messages to the tester, where the first user message
has the stream identifier 1 and the second user message has the stream identifier 2.
Then wait so long until the T3-rtx timer of the sender expires and flags both outstanding DATA-Chunks as abandoned.
|
Purpose | Ensure that the IUT sends a valid FORWARD TSN-Chunk for the first DATA-Chunk and discards the second user message.
|
References | RFC 3758 [section 3.5]
|
Back to Testsuite-OverviewID | sender-side-implementation-7 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send two ordered not fragmented user messages to the tester, where the first user message
has the stream identifier 1 and the second user message has the stream identifier 2.
Arrange the data such that the first user message is abandoned first.
|
Purpose | Ensure that the IUT sends a valid FORWARD TSN-Chunk for the first user message and bundles it with the still outstanding second user message.
Send a SACK for the FORWARD TSN-Chunk but not for the second user message. Then also ensure that the IUT
generates also a valid FORWARD TSN-Chunk for the second user message.
|
References | RFC 3758 [section 3.5]
|
Back to Testsuite-OverviewID | sender-side-implementation-8 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented user messages to the tester with
the stream identifier 1. Wait so long until the IUT sends a valid FORWARD-TSN-Chunk
for this user message. Then let the IUT send one unordered not fragmented user message to
the tester.
|
Purpose | Ensure that the IUT also sends a valid FORWARD TSN-Chunk for the unordered user message.
|
References | RFC 3758 [section 3.5]
|
Back to Testsuite-OverviewID | sender-side-implementation-9 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send two ordered not fragmented user messages to the tester with
different stream identifiers. Let both user messages be abandoned at the same time.
Then wait so long until the IUT abandons both user messages.
|
Purpose | Ensure that the IUT sends a valid FORWARD TSN-Chunk for both outstanding ordered user messages.
|
References | RFC 3758 [section 3.5]
|
Back to Testsuite-OverviewID | sender-side-implementation-10 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented user message to the tester.
Then wait so long until the user message is abandoned
and the IUT sends a FORWARD-TSN-Chunk for the outstanding user message.
Arrange the data at the tester such that the FORWARD-TSN-Chunk is not acknowledged with
a SACK-Chunk.
|
Purpose | Ensure that the IUT retransmits the FORWARD TSN-Chunk for the abandoned user message.
|
References | RFC 3758 [section 3.5]
|
Back to Testsuite-OverviewID | sender-side-implementation-11 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such the cwnd of the IUT can have three user messages
outstanding.
Let the IUT send three ordered not fragmented user message to the tester, where the first
and the third user message should be sent unreliable and the second user message reliable.
Then wait so long until the unreliable user messages are abandoned.
|
Purpose | Expect the IUT to send a valid FORWARD-TSN for the first unreliable user message and bundles
it with the still outstanding reliable second user message. After that the tester should send a SACK
where the cumulative ack is pointing to the second user message also expect the IUT to send
a valid FORWARD-TSN for the third user message.
|
References | RFC 3758 [section 3.5]
|
Back to Testsuite-OverviewID | sender-side-implementation-12 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such the cwnd of the IUT can have three user messages
outstanding.
Let the IUT send three ordered not fragmented user message to the tester, where the first
and the third user message should be sent unreliable and the second user message reliable.
Arrange the data at the tester such that a SACK is sent to the IUT where only the second
reliable user message is acknowledged.
|
Purpose | Ensure that the IUT first transmits a valid FORWARD-TSN-Chunk for the first unreliable user message.
The tester then should send a SACK, where the cumulative ack is pointing to the second user message.
After that also ensure that the IUT transmits a valid FORWARD-TSN-Chunk for the still outstanding
unreliable user message.
|
References | RFC 3758 [section 3.5]
|
Back to Testsuite-OverviewID | shutdown-1 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
Do not send an SACK-Chunk so that the IUT abandons this user message.
After receiving the correct FORWARD-TSN-Chunk send an SACK-Chunk such that the
abandoned user messsage is acknowledged. After that call the shutdown
system-call with SHUT_WR.
|
Purpose | Ensure that the IUT sends an valid SHUTDOWN-Chunk.
Also ensure that the sending of further user messages is not allowed.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-2 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
After that call the shutdown system-call with SHUT_WR.
|
Purpose | Ensure that the IUT after it has abandoned the still outstanding user message first transmits
an valid FORWARD-TSN-Chunk for this user message. Send an SACK for this user message. Then also ensure that after the receiving of the
SHUTDOWN-Chunk the shutdown process completes successfully and that the sending of further user messages is not allowed.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-3 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
After that call the shutdown system-call with SHUT_WR.
|
Purpose | Ensure that the IUT after it has abandoned the still outstanding user message first transmits
an valid FORWARD-TSN-Chunk for this user message. Send an SACK for this FORWARD-TSN-Chunk. Then also ensure that after the receiving of the
SHUTDOWN-Chunk the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-4 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered fragmented unreliable user message as two DATA-Chunks to the tester.
After receiving both DATA-Chunks send an SACK-Chunk for the first DATA-Chunk of the
fragmented user message and then call the shutdown system-call with SHUT_WR.
|
Purpose | Ensure that the IUT after it has abandoned the still outstanding fragmented user message first transmits
an valid FORWARD-TSN-Chunk for this user message (such that the cum_tsn is pointing to the second DATA-Chunk).
Send an SACK for this FORWARD-TSN-Chunk. Then also ensure that after the receiving of the
SHUTDOWN-Chunk the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-5 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Also ensure that the DATA-Chunk must be retransmitted one more time after
calling shutdown before it gets abandoned by the IUT.
|
Purpose | Ensure that the IUT retransmits the still outstanding user message.
After it has abandoned the retransmitted user message also ensure that it sends
an valid FORWARD-TSN-Chunk. Send an SACK for this FORWARD-TSN-Chunk.
Then also ensure that after the receiving of the SHUTDOWN-Chunk the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-6 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Also ensure that the DATA-Chunk must be retransmitted two more times after
calling shutdown before it gets abandoned by the IUT.
|
Purpose | Ensure that the IUT retransmits the still outstanding user message two more times.
After it has abandoned the retransmitted user message also ensure that it sends
an valid FORWARD-TSN-Chunk. Send an SACK for this FORWARD-TSN-Chunk.
Then also ensure that after the receiving of the SHUTDOWN-Chunk the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-7 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Also ensure that the DATA-Chunk must be retransmitted one more time after
calling shutdown before it gets abandoned by the IUT.
|
Purpose | Ensure that the IUT retransmits the still outstanding user message.
After receiving the retransmitted DATA-Chunk send an SACK-Chunk for this user message.
Then also ensure that the IUT sends an SHUTDOWN-Chunk and that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-8 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Also ensure that the DATA-Chunk must be retransmitted two more times after
calling shutdown before it gets abandoned by the IUT.
|
Purpose | Ensure that the IUT retransmits the still outstanding user message two more times.
Then send an SACK-Chunk for this user message.
After that also ensure that the IUT sends an SHUTDOWN-Chunk and that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-9 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Ensure that the IUT abandones this user message after shutdown has been called and does
not try to retransmit it.
|
Purpose | Ensure that the IUT after it has abandoned the still outstanding fragmented user message first transmits
an valid FORWARD-TSN-Chunk. Then also ensure that this valid FORWARD-TSN-Chunk is retransmitted.
After the retransmission send an SACK-Chunk for this FORWARD-TSN-Chunk and also ensure that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-10 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Also ensure that the DATA-Chunk must be retransmitted two more times after
calling shutdown before it gets abandoned by the IUT.
|
Purpose | Ensure that the IUT retransmits the still outstanding user message two more times.
After that expect the IUT to send an valid FORWARD-TSN-Chunk for this user message.
Send an SACK after the receiving of the FORWARD-TSN-Chunk to the IUT.
Then also ensure that the IUT sends an SHUTDOWN-Chunk and that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-11 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one unordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Also ensure that the DATA-Chunk must be retransmitted one more time after
calling shutdown before it gets abandoned by the IUT.
|
Purpose | Ensure that the IUT retransmits the still outstanding user message.
After receiving the retransmitted DATA-Chunk send an SACK-Chunk for this user message.
Then also ensure that the IUT sends an SHUTDOWN-Chunk and that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-12 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one unordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Also ensure that the DATA-Chunk must be retransmitted two more times after
calling shutdown before it gets abandoned by the IUT.
|
Purpose | Ensure that the IUT retransmits the still outstanding user message two more times.
Then send an SACK-Chunk for this user message.
After that also ensure that the IUT sends an SHUTDOWN-Chunk and that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-13 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one unordered not fragmented unreliable user message to the tester.
After receiving the DATA-Chunk call the shutdown system-call with SHUT_WR.
Ensure that the IUT abandones this user message after shutdown has been called and does
not try to retransmit it.
|
Purpose | Ensure that the IUT after it has abandoned the still outstanding fragmented user message first transmits
an valid FORWARD-TSN-Chunk. Then also ensure that this valid FORWARD-TSN-Chunk is retransmitted.
After the retransmission send an SACK-Chunk for this FORWARD-TSN-Chunk and also ensure that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-1 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
Make sure that the sent message will be retransmitted one more time before it
is abandoned by the IUT. Now send an SHUTDOWN-Chunk to the IUT such that the
cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT retransmits the still outstanding DATA-Chunk one more time and that the sending of further user messages is not allowed.
After that also ensure that the IUT abandons this user message and sends a valid
FORWARD-TSN-Chunk. Then also verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-2 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
Make sure that the sent message will not be retransmitted.
Now send an SHUTDOWN-Chunk to the IUT such that the cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT abandons this user message and sends a valid FORWARD-TSN-Chunk.
Then also verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-4 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered fragmented unreliable user message as two DATA-Chunks to the tester.
Make sure that the sent message will not be retransmitted.
Now send an SHUTDOWN-Chunk to the IUT such that the cum_tsn does only acknowledge the first outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT abandons this user message and sends a valid FORWARD-TSN-Chunk where the cum_tsn
is equal to the second outstanding DATA-Chunk of the fragmented user message.
Then also verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-5 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
Make sure that the sent message will be retransmitted one more time before it
is abandoned by the IUT. Now send an SHUTDOWN-Chunk to the IUT such that the
cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT retransmits the still outstanding DATA-Chunk one more time.
After that also ensure that the IUT abandons this user message and sends a valid
FORWARD-TSN-Chunk. Then also verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-6 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
Make sure that the sent message will be retransmitted two more times before it
is abandoned by the IUT. Now send an SHUTDOWN-Chunk to the IUT such that the
cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT retransmits the still outstanding DATA-Chunk two times.
After that also ensure that the IUT abandons this user message and sends a valid
FORWARD-TSN-Chunk. Then also verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-7 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
Make sure that the sent message will be retransmitted two more times before it
is abandoned by the IUT. Now send an SHUTDOWN-Chunk to the IUT such that the
cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT retransmits the still outstanding DATA-Chunk.
After the retransmission send an SHUTDOWN-Chunk to the IUT such that the outstanding
DATA-Chunk is acknowledged. Then verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-8 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
Make sure that the sent message will be retransmitted two more times before it
is abandoned by the IUT. Now send an SHUTDOWN-Chunk to the IUT such that the
cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT retransmits the still outstanding DATA-Chunk two times.
After the second retransmission send an SHUTDOWN-Chunk to the IUT such that the outstanding
DATA-Chunk is acknowledged. Then verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-9 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one ordered not fragmented unreliable user message to the tester.
Make sure that the sent message will not be retransmitted.
Now send an SHUTDOWN-Chunk to the IUT such that the cum_tsn does only acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT abandons this user message and sends a valid FORWARD-TSN-Chunk where the cum_tsn
is equal to the second outstanding DATA-Chunk of the fragmented user message. Also ensure that the FORWARD-TSN-Chunk
is retransmitted a second time. Then send an SHUTDOWN-Chunk to the IUT where the outstanding DATA_Chunk is acknowledged.
Then also verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-10 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one unordered not fragmented unreliable user message to the tester.
Make sure that the sent message will be retransmitted two more times before it
is abandoned by the IUT. Now send an SHUTDOWN-Chunk to the IUT such that the
cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT retransmits the still outstanding DATA-Chunk two times.
After that also ensure that the IUT abandons this user message and sends a valid
FORWARD-TSN-Chunk. Then also verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-11 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one unordered not fragmented unreliable user message to the tester.
Make sure that the sent message will be retransmitted two more times before it
is abandoned by the IUT. Now send an SHUTDOWN-Chunk to the IUT such that the
cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT retransmits the still outstanding DATA-Chunk.
After the retransmission send an SHUTDOWN-Chunk to the IUT such that the outstanding
DATA-Chunk is acknowledged. Then verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-12 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one unordered not fragmented unreliable user message to the tester.
Make sure that the sent message will be retransmitted two more times before it
is abandoned by the IUT. Now send an SHUTDOWN-Chunk to the IUT such that the
cum_tsn does not acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT retransmits the still outstanding DATA-Chunk two times.
After the second retransmission send an SHUTDOWN-Chunk to the IUT such that the outstanding
DATA-Chunk is acknowledged. Then verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewID | shutdown-received-13 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Let the IUT send one unordered not fragmented unreliable user message to the tester.
Make sure that the sent message will not be retransmitted.
Now send an SHUTDOWN-Chunk to the IUT such that the cum_tsn does only acknowledge the still outstanding DATA-Chunk.
|
Purpose | Ensure that the IUT abandons this user message and sends a valid FORWARD-TSN-Chunk where the cum_tsn
is equal to the second outstanding DATA-Chunk of the fragmented user message. Also ensure that the FORWARD-TSN-Chunk
is retransmitted a second time. Then send an SHUTDOWN-Chunk to the IUT where the outstanding DATA_Chunk is acknowledged.
Then also verify that the shutdown process completes successfully.
|
References | Sockets API Extensions for SCTP - Shutdown,
RFC 4960 [section 9.2]
|
Back to Testsuite-OverviewReceiver Side Implementation
Notice: Please note that the packet-loss test-cases can be applied to ordered, unordered or an mixture of both DATA-Chunks. To avoid redundant definitions of equivalent loss patterns these descriptions are so generic that they can be applied to both ordered and unordered or an mixture of both.
ID | packet-loss-1 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that the last DATA-Chunk (e.g. with E-Bit set) of
an fragmented user messages that was delivered with two DATA-Chunks is sent to the IUT.
After receiving an SACK for the DATA-Chunk send to the IUT an bundled packet consisting of an FORWARD-TSN-Chunk
that skips the still outstanding user message and an first DATA-Chunk (e.g. with B-Bit set) of another
fragmented user message.
|
Purpose | Ensure that the IUT sends a SACK-Chunk where the new cumulative tsn is the cum_tsn of the next user message.
Then send the last DATA-Chunk of the still outstanding user message, expect it to be SACKed by the IUT.
Also verify that the now complete received user message is delivered to the userland application.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-2 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that two last DATA-Chunk (e.g. with E-Bit set) of
two fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect both DATA-Chunks to be SACKed by the IUT.
Then send to the IUT an bundled packet consisting of an FORWARD-TSN-Chunk
that skips the first outstanding user message and the first DATA-Chunk (e.g. with B-Bit set) of the second outstanding
fragmented user message.
|
Purpose | Ensure that the IUT sends one SACK-Chunk where the new cumulative tsn is equal to the last fragment
of the second user message.
Also verify that the now complete received user message is delivered to the userland application.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-3 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that two last DATA-Chunk (e.g. with E-Bit set) of
two fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect both DATA-Chunks to be SACKed by the IUT.
Then send to the IUT an FORWARD-TSN-Chunk that skips the first outstanding user message.
Expect it to be SACKed such that the cum_tsn is equal to the cum_tsn in the FORWARD-TSN-Chunk.
Then send to the IUT the first DATA-Chunk (e.g. with B-Bit set) of the second outstanding
fragmented user message.
|
Purpose | Ensure that the IUT sends one SACK-Chunk where the new cumulative tsn is equal to the last fragment
of the second user message.
Also verify that the now complete received user message is delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-4 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that three last DATA-Chunk (e.g. with E-Bit set) of
three fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect all DATA-Chunks to be SACKed in the gap-blocks by the IUT.
Then send to the IUT an FORWARD-TSN-Chunk that skips the first outstanding user message.
|
Purpose | Expect that the IUT skips this first outstanding user message and advances the cum_tsn.
After that send both outstanding first fragments (e.g. with B-Bit set) of the two still
outstanding user messages to the IUT. Expect the IUT to SACK both DATA-Chunks correctly and
also verify that both user messages are delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-5 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that three last DATA-Chunk (e.g. with E-Bit set) of
three fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect all DATA-Chunks to be SACKed in the gap-blocks by the IUT.
Then send to the IUT an bundled packet consisting of an FORWARD-TSN-Chunk
that skips the first outstanding user message and an first DATA-Chunk (e.g. with B-Bit set) of the second
fragmented user message.
|
Purpose | Ensure that the IUT sends one SACK-Chunk where the new cumulative tsn is equal to the last fragment
of the second user message.
After that send the outstanding first fragment (e.g. with B-Bit set) of the third still
outstanding user messages to the IUT. Expect it to be SACKed correctly by the IUT.
Also verify that both user messages are delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-6 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that three last DATA-Chunk (e.g. with E-Bit set) of
three fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect all DATA-Chunks to be SACKed in the gap-blocks by the IUT.
Then send to the IUT an FORWARD-TSN-Chunk that skips the first outstanding user message.
Expect that the IUT skips this first outstanding user message and advances the cum_tsn.
After that send the first fragment of the third user message to the IUT.
|
Purpose | Expect the IUT to SACK this out-of-order DATA-Chunk correctly. If that the third user message was delivered
unordered expect the IUT to deliver this user message to the userland.
Then send the still outstanding first fragment of the second user message to the IUT. Expect it also
the be SACKed and delivered to the userland by the IUT.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-7 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that two last DATA-Chunk (e.g. with E-Bit set) of
two fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect both DATA-Chunks to be SACKed by the IUT.
Then send to the IUT the first DATA-Chunk (e.g. with B-Bit set) of the second outstanding
fragmented user message.
|
Purpose | Ensure that the IUT SACKs this out-of-order DATA-Chunk in the gap-ackowledgements and
in case of unordered DATA-Chunks delivers this user message to the userland.
Then send the still missing first DATA-Chunk (e.g. with B-Bit set) of the first user message to the IUT.
Expect it also to be SACKed by the IUT and that the second message is delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-8 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that one last DATA-Chunk (e.g. with E-Bit set) of
one fragmented user messages that was delivered with two DATA-Chunks is sent to the IUT.
Expect it to be SACKed by the IUT.
Then send 13 not fragmented user messages to the IUT.
|
Purpose | Expect all 13 DATA-Chunks to be SACKed in gap-ackowledgments by the IUT. Then send an
FORWARD-TSN-Chunk to the IUT that skips the still oustanding fragmented user message.
Expect it to be SACKed such the cum_tsn is now equal the the last DATA-Chunk received.
Then also verify that all 13 user messages are delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-9 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that three last DATA-Chunk (e.g. with E-Bit set) of
three fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect all DATA-Chunks to be SACKed in the gap-blocks by the IUT.
Then send to the IUT an FORWARD-TSN-Chunk that skips the first outstanding user message.
Expect the IUT to SACK this FORWARD-TSN correctly and then send another FORWARD-TSN-Chunk that skips the second outstanding user message.
|
Purpose | Ensure that the IUT sends one SACK-Chunk where the new cumulative tsn is equal to the last fragment
of the second user message.
After that send the outstanding first fragment (e.g. with B-Bit set) of the third still
outstanding user messages to the IUT. Expect it to be SACKed correctly by the IUT.
Also verify that the third user message is delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-10 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that two DATA-Chunks (first with E-Bit set, second with B-Bit set) of
an fragmented user messages that was delivered with two DATA-Chunks are sent to the IUT.
Make sure that the TSNs in this fragmented user message indicate that there is still one outstanding
fragmented user message. Expect the IUT to acknowledge both DATA-Chunks. Then send the first part (with B-Bit set)
of a third fragmented user message to the IUT, expect it also to be SACKed.
Then send an packet consisting of the last fragment of the third user message (with E-Bit set) and an FORWARD-TSN-Chunk
that skips the still oustanding first user message.
|
Purpose | Ensure that the IUT SACKs at this moment all outstanding user messages such that the cum_tsn must
be the tsn of the last fragment of the third user message. Also ensure that the two fully transmitted
user messages are delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-11 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that two last DATA-Chunk (e.g. with E-Bit set) of
two fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect both DATA-Chunks to be SACKed by the IUT.
Then send to the IUT the first DATA-Chunk (e.g. with B-Bit set) of the second outstanding
fragmented user message. Expect it also to be SACKed by the IUT.
Then send to the IUT the first DATA-Chunk (with B-Bit set) of an fragmented third
user message which should also be SACKed.
Then send one packet that consists of an FORWARD-TSN that skips the still outstanding first
user message and the last DATA-Chunk (with E-Bit set) of the third user message.
|
Purpose | Ensure that the IUT processes the bundled FORWARD-TSN-Chunk and DATA-Chunk correctly and sends
an SACK-Chunk where the cum_tsn-value is equal to the tsn-value of the DATA-Chunk in the bundled packet.
Also ensure that the two fully transmitted user messages are delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-12 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that two DATA-Chunks (first with E-Bit set, second with B-Bit set) of
an fragmented user messages that was delivered with two DATA-Chunks are sent to the IUT.
Make sure that the TSNs in this fragmented user message indicate that there is still one outstanding
fragmented user message. Expect both DATA-Chunks to be SACKed by the IUT.
Then send the last DATA-Chunk (with E-Bit set) of an third fragmented user message to the IUT. Expect it also to be SACKed.
Then send an packet consisting of the first fragment of the third user message (with B-Bit set) and an FORWARD-TSN-Chunk
that skips the still oustanding first user message.
|
Purpose | Ensure that the IUT processes the bundled FORWARD-TSN-Chunk and DATA-Chunk correctly and sends
an SACK-Chunk where the cum_tsn-value is equal to the tsn-value of the DATA-Chunk in the bundled packet.
Also ensure that the two fully transmitted user messages are delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-13 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that three last DATA-Chunk (e.g. with E-Bit set) of
three fragmented user messages that were delivered with two DATA-Chunks are sent to the IUT.
Expect all DATA-Chunks to be SACKed in the gap-blocks by the IUT.
Then send to the IUT the first DATA-Chunk (with B-Bit set) of the third user message.
Expect it also to be SACKed.
Then send to the IUT an an bundled packet consisting of an FORWARD-TSN-Chunk that skips the first outstanding user message
and an FORWARD-TSN-Chunk that skips the second outstanding user message.
|
Purpose | Ensure that the IUT sends one SACK-Chunk where the new cumulative tsn is equal to the last fragment
of the third user message.
Also verify that the third user message is delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | packet-loss-14 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that three DATA-Chunks are sent to the IUT,
where the first DATA-Chunk is the last fragment (E-Bit set) of an fourth user message,
the second DATA-Chunk is the first fragment (B-Bit set) of an third user message and
the third DATA-Chunk is the last fragment (E-Bit set) of the third user message.
Expect all to be SACKed by the IUT. Then send an bundled packet consisting of
an FORWARD-TSN-Chunk that skips the outstanding first user message and an first DATA-Chunk
of the fragmented second user message. Expect it to be SACKed by the IUT correctly.
Then send again an bundled packet consisting of an FORWARD-TSN-Chunk that skips
this time the second user message and an DATA-Chunk that is the last fragment of
the third user message.
|
Purpose | Ensure that the IUT sends one SACK-Chunk where the new cumulative tsn is equal to the last fragment
of the fourth user message.
Also verify that the third and fourth user messages are delivered to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-1 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that a FORWARD-TSN for an ordered user message is sent to the IUT.
Let the cum_tsn of the FORWARD-TSN-Chunk be 1, the stream identifier be 1 and the stream sequence number be 0.
|
Purpose | Ensure that the IUT sends a SACK-Chunk where the new cumulative tsn is the cum_tsn specified in the FORWARD-TSN-Chunk.
Also ensure that the IUT has advanced the cumulative tsn to point locally to the cum_tsn specified in the FORWARD-TSN-Chunk.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-2 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that an unfragmented ordered DATA-Chunk is sent to the IUT.
Expect the IUT to send an SACK for this DATA-Chunk. After a while arrange the data at the tester
such that an FORWAD-TSN-Chunk is sent to the IUT, which should point to the cumulative tsn of
the first DATA-Chunk.
|
Purpose | Ensure that the IUT sends a SACK-Chunk where the new cumulative tsn is the cum_tsn specified in the FORWARD-TSN-Chunk.
Also ensure that the IUT has advanced the cumulative tsn point locally to the cum_tsn specified in the FORWARD-TSN-Chunk.
Then also make sure that the IUT delivers the user message transfered in the DATA-Chunk to the userland application.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-3 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that a FORWARD-TSN for an unordered user message is sent to the IUT.
Let the cum_tsn of the FORWARD-TSN-Chunk be 1.
|
Purpose | Ensure that the IUT sends a SACK-Chunk where the new cumulative tsn is the cum_tsn specified in the FORWARD-TSN-Chunk.
Also ensure that the IUT has advanced the cumulative tsn point locally to the cum_tsn specified in the FORWARD-TSN-Chunk.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-4 |
Precondition | IUT supports PR-SCTP.
Arrange the data at the tester such that an unfragmented unordered DATA-Chunk is sent to the IUT.
Expect the IUT to send an SACK for this DATA-Chunk. After a while arrange the data at the tester
such that an FORWAD-TSN-Chunk is sent to the IUT, which should point to the cumulative tsn of
the first DATA-Chunk.
|
Purpose | Ensure that the IUT sends a SACK-Chunk where the new cumulative tsn is the cum_tsn specified in the FORWARD-TSN-Chunk.
Also ensure that the IUT has advanced the cumulative tsn point locally to the cum_tsn specified in the FORWARD-TSN-Chunk.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-5 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that a FORWARD-TSN where the stream identifier and stream sequence numbers are reported twice.
Let the cum_tsn of the FORWARD-TSN-Chunk be 1, the stream identifier be 1 and the stream sequence number be 0.
|
Purpose | Ensure that the IUT sends a SACK-Chunk where the new cumulative tsn is the cum_tsn specified in the FORWARD-TSN-Chunk.
Also ensure that the IUT has advanced the cumulative tsn to point locally to the cum_tsn specified in the FORWARD-TSN-Chunk.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-6 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that a FORWARD-TSN for two ordered user message with cum_tsn=2 is sent to the IUT.
|
Purpose | Ensure that the IUT has advanced the stream sequence numbers for both streams reported in the FORWARD-TSN correctly.
Also ensure that the IUT has advanced the cumulative tsn to point locally to the cum_tsn specified in the FORWARD-TSN-Chunk.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-7 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that one ordered not fragmented user message is sent to the IUT.
Upon receipt of the SACK-Chunk for the outstanding user message let the tester send an FORWARD-TSN-Chunk to
the IUT such that the outstanding user message should be discarded at the receiver.
|
Purpose | Ensure that the IUT upon receipt of the FORWARD-TSN-Chunk sends a SACK-Chunk where the cum_tsn is equal to
the cum_tsn specified in the FORWARD-TSN-Chunk. Also ensure that the IUT delivers the user message to
the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-8 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester two ordered not fragmented user messages are sent to the IUT.
After the IUT sends an SACK for both user messages arrange the dat at the tester such that an FORWARD-TSN-Chunk
is sent to the IUT where the cum_tsn is pointing to the first user message.
|
Purpose | Ensure that the IUT upon receipt of the FORWARD-TSN-Chunk sends a SACK-Chunk where the cum_tsn is equal to
the cum_tsn specified in the DATA-Chunk of the second user message. Then also ensure that the IUT after receipt of an
FORWARD-TSN-Chunk where the cum_tsn is pointing to the second user message sends (again) a SACK-Chunk where the cum_tsn is equal to
the cum_tsn specified in the DATA-Chunk of the second user message
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-9 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that only the last DATA-Chunk of an
fragmented ordered user message is sent to the IUT. After receipt of
an SACK where the last DATA-Chunk is listed at the gap acknowledgements
send at the tester a FORWARD-TSN to the IUT such that the cum_tsn is pointing to
the last DATA-Chunk of the fragmented ordered user message.
|
Purpose | Ensure that the IUT upon receipt of the FORWARD-TSN-Chunk sends a SACK-Chunk where the cum_tsn is equal to
the cum_tsn specified in the last DATA-Chunk of the user message. Then also ensure that the IUT has
discarded the fragmented user message and does not deliver it to the userland.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewID | receiver-side-implementation-10 |
Precondition | IUT supports PR-SCTP.
Association where PR-SCTP is enabled is established between tester and IUT.
Arrange the data at the tester such that only the last DATA-Chunk of an
fragmented ordered user message is sent to the IUT. After receipt of
an SACK where the last DATA-Chunk is listed at the gap acknowledgements
send at the tester a FORWARD-TSN to the IUT such that the cum_tsn is pointing to
the last DATA-Chunk of the fragmented ordered user message.
After receipt of the SACK-Chunk where the cum_tsn is equal to
the cum_tsn specified in the last DATA-Chunk of the user message transmit the
first DATA-Chunk of the fragmented user message to the IUT.
|
Purpose | Ensure that the IUT upon receipt of the first DATA-Chunk of the user message sends a SACK-Chunk
where the cum_tsn is equal to the cum_tsn specified in the FORWARD-TSN.
|
References | RFC 3758 [section 3.6]
|
Back to Testsuite-OverviewError Cases
ID | forward-tsn-tlv-too-long |
Precondition | IUT does support PR-SCTP.
Association is established between tester and IUT.
Arrange the data at the tester such that an FORWARD-TSN-Chunk with an
too long length in the common header is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | RFC 3758 [section 3.2]
|
Back to Testsuite-OverviewID | forward-tsn-tlv-too-short |
Precondition | IUT does support PR-SCTP.
Association is established between tester and IUT.
Arrange the data at the tester such that an FORWARD-TSN-Chunk with an
too short length in the common header is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | RFC 3758 [section 3.2]
|
Back to Testsuite-OverviewID | forward-tsn-too-short |
Precondition | IUT does support PR-SCTP.
Association is established between tester and IUT.
Arrange the data at the tester such that an FORWARD-TSN-Chunk with an
too short length of 4 bytes is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | RFC 3758 [section 3.2]
|
Back to Testsuite-OverviewID | i-forward-tsn-tlv-too-long |
Precondition | IUT does support PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT.
Arrange the data at the tester such that an I-FORWARD-TSN-Chunk with an
too long length in the common header is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | i-forward-tsn-tlv-too-short |
Precondition | IUT does support PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT.
Arrange the data at the tester such that an I-FORWARD-TSN-Chunk with an
too short length in the common header is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | i-forward-tsn-too-short |
Precondition | IUT does support PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT.
Arrange the data at the tester such that an I-FORWARD-TSN-Chunk with an
too short length of 4 bytes is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | init-with-forward-tsn-tlv-too-long |
Precondition | IUT does support PR-SCTP.
Association is not established between tester and IUT.
Arrange the data at the tester such that an INIT-Chunk with a forward-tsn-supported parameter
with an invalid too long length in the common header is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | RFC 3758 [section 3.1]
|
Back to Testsuite-OverviewID | init-with-forward-tsn-tlv-too-short |
Precondition | IUT does support PR-SCTP.
Association is not established between tester and IUT.
Arrange the data at the tester such that an INIT-Chunk with a forward-tsn-supported parameter
with an invalid too short length in the common header is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | RFC 3758 [section 3.1]
|
Back to Testsuite-OverviewID | init-with-forward-tsn-too-long |
Precondition | IUT does support PR-SCTP.
Association is not established between tester and IUT.
Arrange the data at the tester such that an INIT-Chunk with a forward-tsn-supported parameter
where the length of the forward-tsn-supported parameter is too long (e.g. 8 bytes instead of 4 bytes)
is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | RFC 3758 [section 3.1]
|
Back to Testsuite-OverviewID | init-with-forward-tsn-too-short |
Precondition | IUT does support PR-SCTP.
Association is not established between tester and IUT.
Arrange the data at the tester such that an INIT-Chunk with a forward-tsn-supported parameter
where the length of the forward-tsn-supported parameter is too short (e.g. 2 bytes instead of 4 bytes)
is sent to the IUT.
|
Purpose | Ensure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
|
References | RFC 3758 [section 3.1]
|
Back to Testsuite-OverviewHandshake with I-FORWARD-TSN
ID | handshake-with-i-forward-tsn-1 |
Precondition | IUT does not support PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is not established between tester and IUT.
Arrange the data at the tester such that an INIT-Chunk with a forward-tsn-supported parameter is sent to the IUT.
Also arrange the data such that in the INIT-Chunk the FORWARD-TSN and the I-FORWARD-TSN-Chunk are listed
at the supported extensions parameter.
|
Purpose | Ensure that the IUT responds with an INIT-ACK-Chunk where the forward-tsn-supported parameter is listed at the
unrecognized parameters. Also ensure that the IUT does not list the FORWARD-TSN and the I-FORWARD-TSN-Chunk
at the supported extensions parameter in the INIT-ACK-Chunk.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-2 |
Precondition | IUT does not support PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is not established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
|
Purpose | Ensure that the received INIT-Chunk from the IUT does not contain the forward-tsn-supported parameter in the optional parameter list.
Also ensure that the IUT does not list the FORWARD-TSN and the I-FORWARD-TSN-Chunk
at the supported extensions parameter in the INIT-ACK-Chunk.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-3 |
Precondition | IUT does not support PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is not established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK where the forward-tsn-supported parameter is set.
Also arrange the data such that in the INIT-ACK-Chunk the FORWARD-TSN and the I-FORWARD-TSN-Chunk are listed
at the supported extensions parameter.
|
Purpose | Ensure that the IUT upon receipt of an INIT-ACK-chunk with a forward-tsn-supported parameter sends an ERROR-Chunk
with the cause "invalid mandatory parameter".
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-4 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is NOT set
and the FORWARD-TSN and the I-FORWARD-TSN-Chunk are NOT listed at the supported extensions parameter.
Arrange the data at the tester that an I-FORWARD-TSN chunk is sent to the IUT.
|
Purpose | Ensure that the IUT upon receipt of an I-FORWARD-TSN chunk at an association where PR-SCTP is not supported sends an ABORT-Chunk
where the ABORT-Chunk may include the protocol violation error cause.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-5 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN and the I-FORWARD-TSN-Chunk are listed at the supported extensions parameter.
Make sure that the IUT has not enabled the User Message Interleaving extension.
Arrange the data at the tester that an I-FORWARD-TSN chunk is sent to the IUT.
|
Purpose | Ensure that the IUT upon receipt of an I-FORWARD-TSN chunk at an association where the User Message Interleaving extension is not enabled
sends an ABORT-Chunk where the ABORT-Chunk may include the protocol violation error cause.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-6 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN, the I-FORWARD-TSN and the I-DATA-Chunk are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one ordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and uses correct I-DATA and I-FORWARD-TSN-Chunks for this association.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-7 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN, the I-FORWARD-TSN and the I-DATA-Chunk are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one unordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and uses correct I-DATA and I-FORWARD-TSN-Chunks for this association.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-8 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN and the I-FORWARD-TSN but NOT the I-DATA are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one ordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and has not enabled the User Message Interleaving extension for this association and
therefore uses FORWARD-TSN- and DATA-Chunks.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-9 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN and the I-DATA but NOT the I-FORWARD-TSN are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one ordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and has not enabled the User Message Interleaving extension for this association and
therefore uses FORWARD-TSN- and DATA-Chunks.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-10 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN but NOT the I-FORWARD-TSN and the I-DATA are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one ordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and has not enabled the User Message Interleaving extension for this association and
therefore uses FORWARD-TSN- and DATA-Chunks.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-11 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN, the I-FORWARD-TSN and the I-DATA are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one ordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and uses correct I-DATA and I-FORWARD-TSN-Chunks for this association.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-12 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN, the I-FORWARD-TSN and the I-DATA are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one unordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and uses correct I-DATA and I-FORWARD-TSN-Chunks for this association.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-13 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN, the I-FORWARD-TSN but NOT the I-DATA are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one ordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and has not enabled the User Message Interleaving extension for this association and
therefore uses FORWARD-TSN- and DATA-Chunks.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-14 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN, the I-DATA but NOT the I-FORWARD-TSN are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one ordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and has not enabled the User Message Interleaving extension for this association and
therefore uses FORWARD-TSN- and DATA-Chunks.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewID | handshake-with-i-forward-tsn-15 |
Precondition | IUT supports PR-SCTP and the Stream Schedulers and User Message Interleaving extension.
Association is established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK, where in the INIT-Chunk sent by the tester the forward-tsn-supported parameter is set
and the FORWARD-TSN but NOT the I-FORWARD-TSN and the I-DATA are listed at the supported extensions parameter.
Make sure that the IUT has enabled the User Message Interleaving extension.
Let the IUT send one ordered unreliable DATA-Chunk to the tester.
|
Purpose | Ensure that the IUT has enabled PR-SCTP and has not enabled the User Message Interleaving extension for this association and
therefore uses FORWARD-TSN- and DATA-Chunks.
|
References | RFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1],
Stream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
|
Back to Testsuite-OverviewHandshake with NR-SACK
ID | handshake-with-nr-sack-1 |
Precondition | IUT does not support the NR-SACK extension.
Association is not established between tester and IUT.
Arrange the data at the tester such that in the INIT-Chunk the NR-SACK-Chunk is listed
at the supported extensions parameter.
|
Purpose | Ensure that the IUT does not list the NR-SACK-Chunk at the supported extensions parameter in the INIT-ACK-Chunk.
|
References | Load Sharing for SCTP [section 4.1]
|
Back to Testsuite-OverviewID | handshake-with-nr-sack-2 |
Precondition | IUT does not support the NR-SACK extension.
Association is not established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
|
Purpose | Ensure that the IUT does not list the NR-SACK-Chunk at the supported extensions parameter in the INIT-Chunk.
|
References | Load Sharing for SCTP [section 4.1]
|
Back to Testsuite-OverviewID | handshake-with-nr-sack-3 |
Precondition | IUT does not support the NR-SACK extension.
Association is not established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK where the NR-SACK-Chunk is listed
at the supported extensions parameter.
|
Purpose | Ensure that the IUT has disabled the NR-SACK extension for this association.
|
References | Load Sharing for SCTP [section 4.1]
|
Back to Testsuite-OverviewID | handshake-with-nr-sack-4 |
Precondition | IUT does support the NR-SACK extension.
Association is not established between tester and IUT.
Arrange the data at the tester such that in the INIT-Chunk the NR-SACK-Chunk is NOT listed
at the supported extensions parameter. Then complete the handshake to establish
the association.
|
Purpose | Ensure that the IUT has disabled the NR-SACK extension for this association.
|
References | Load Sharing for SCTP [section 4.1]
|
Back to Testsuite-OverviewID | handshake-with-nr-sack-5 |
Precondition | IUT does support the NR-SACK extension.
Association is not established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK where the NR-SACK-Chunk is NOT listed
at the supported extensions parameter.
|
Purpose | Ensure that the IUT has disabled the NR-SACK extension for this association.
|
References | Load Sharing for SCTP [section 4.1]
|
Back to Testsuite-OverviewID | handshake-with-nr-sack-6 |
Precondition | IUT does support the NR-SACK extension.
Association is not established between tester and IUT.
Configure the IUT to send an INIT-Chunk to the tester.
The tester responds with an INIT-ACK where the NR-SACK-Chunk is listed
at the supported extensions parameter.
|
Purpose | Ensure that the IUT has enabled the NR-SACK extension for this association.
|
References | Load Sharing for SCTP [section 4.1]
|
Back to Testsuite-OverviewID | handshake-with-nr-sack-7 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT, where the NR-SACK extension has been enabled.
|
Purpose | Ensure that the IUT uses NR-SACK-Chunk for acknowledgements. Also ensure that when the tester
sends SACK-Chunks the IUT always sends NR-SACK-Chunks and never a mixture of both.
|
References | Needs clarification in the internet draft
Load Sharing for SCTP [section 4.1]
|
Back to Testsuite-OverviewID | handshake-with-nr-sack-8 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT, where the NR-SACK extension has been enabled.
Arrange the data at the tester such that DATA-Chunks from the IUT are ackowledged with SACK- and
NR-SACK-Chunks.
|
Purpose | Ensure that the IUT either accepts this misbehaviour by accepting both types or sends
an ABORT-Chunk to terminate the association.
|
References | Needs clarification in the internet draft
Load Sharing for SCTP [section 4.1]
|
Back to Testsuite-OverviewData Sender with NR-SACK
ID | data-sender-1 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends one not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the outstanding DATA-Chunk by adjusting the cum_tsn-value.
Then send another not fragmented user message from the IUT to the tester.
|
Purpose | Ensure that the IUT transmits the second user message.
Then also acknowledge the second user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-2 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends two not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the second user messsage in the gap-acknowledgements.
|
Purpose | Ensure that the IUT retransmits the first user message.
Then also acknowledge the first user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-3 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends two not fragmented user message to the tester.
Then first send at the tester an NR-SACK-Chunk which acknowledges the second user messsage in the gap-acknowledgements.
After a short time (for example 100 ms) then send another NR-SACK-Chunk at the tester that acknowledges both user messages.
|
Purpose | Ensure that the IUT does not retransmit any DATA-Chunk.
After a short time then also let the IUT send another third not fragmented user message.
Ensure that it does transmit this message to the tester and then also acknowledge this user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-4 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends two not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the second user messsage in the gap-acknowledgements.
Let the IUT retransmit the first user message and then send an NR-SACK-Chunk that only acknowledges the first user message.
|
Purpose | Ensure that the IUT retransmits the second user message.
Then also acknowledge the second user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-5 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends two not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the second user messsage in the nr-gap-acknowledgements.
|
Purpose | Ensure that the IUT retransmits the first user message.
Then also acknowledge the first user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-6 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends three not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the first user message in the gap-acknowledgements and
the second user messsage in the nr-gap-acknowledgements.
Expect the IUT to retransmit the third user message. Then send an NR-SACK-Chunk which acknowledges the second and third
user message in the nr-gap-acknowledgements.
|
Purpose | Ensure that the IUT retransmits the first user message this time.
Then also acknowledge the first user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-7 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends three not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the first user message in the gap-acknowledgements and
the second user messsage in the nr-gap-acknowledgements.
Expect the IUT to retransmit the third user message. Then send an NR-SACK-Chunk which acknowledges the second and third
user message in the nr-gap-acknowledgements.
|
Purpose | Ensure that the IUT retransmits the first user message this time.
Then send an NR-SACK-Chunk at the tester where the first user message is acknowledged in the gap-blocks, the
second and third user messages are acknowledged in the nr-gap-blocks. Ensure that this packet is ignored by the IUT.
Then send an NR-SACK-Chunk where all user messages are acknowledged by the cum_tsn-value.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-8 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends three not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the first user message in the gap-acknowledgements,
the second user messsage in the nr-gap-acknowledgements and second user message is listed at the dups.
Expect the IUT to retransmit the third user message. Then send an NR-SACK-Chunk which acknowledges the second and third
user message in the gap AND nr-gap-acknowledgements.
|
Purpose | Ensure that the IUT retransmits the first user message.
Then send an NR-SACK-Chunk where all user messages are acknowledged by the cum_tsn-value.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-9 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends one not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which has a huge cum_tsn-value (e.g. +99999 relative to the last tsn)
|
Purpose | Ensure that the IUT sends an ABORT-Chunk, because it has not sent any user messages with such a high tsn value.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-10 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends one not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the user message with the cum_tsn-value.
Arrange the data at the IUT such that it sends one more not fragmented user message to the tester.
Then send at the tester the same NR-SACK-Chunk as before.
|
Purpose | Ensure that the IUT retransmits the second user message. Then also acknowledge the second user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-11 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends three not fragmented user message to the tester.
Let the first and third user message be ordered and the second message be unordered.
Then send at the tester an NR-SACK-Chunk which acknowledges the second user message at the nr-gap-blocks.
Expect the IUT to retransmit the first user message.
Then send at the tester an NR-SACK-Chunk which acknowledges first user message at the gap-blocks and the second user message at the nr-gap-blocks.
|
Purpose | Ensure that the IUT retransmits the third user message now. Then acknowledge all user messages with an appropriate NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-12 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends three not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the first and second user message in the nr-gap-acknowledgements.
Expect the IUT to retransmit the third user message.
Then send again an NR-SACK-Chunk which acknowledges the first and second user message in the nr-gap-acknowledgements.
|
Purpose | Ensure that the IUT ignores this duplicated out-of-date NR-SACK-Chunk and
retransmits the third user message again. Then also acknowledge the third user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-13 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends three not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the first and second user message in the nr-gap-acknowledgements.
Expect the IUT to retransmit the third user message.
Then send an NR-SACK-Chunk which only acknowledges the first user message with the cum_tsn-value.
|
Purpose | Ensure that the IUT ignores the second out-of-date NR-SACK-Chunk and
retransmits the third user message again. Then also acknowledge the third user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-14 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends three not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the first and second user message in the gap-acknowledgements.
Expect the IUT to retransmit the third user message.
Then send an NR-SACK-Chunk which only acknowledges the first user message with the cum_tsn-value.
|
Purpose | Ensure that the IUT retransmits the second user message now. Then also acknowledge the second user message.
Then also ensure that the IUT retransmits the third user message. Also acknowledge the third user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-15 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends three not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the first and second user message in the gap-acknowledgements.
Expect the IUT to retransmit the third user message.
Then send at the tester an NR-SACK-Chunk which acknowledges the first and second user message in the nr-gap-acknowledgements.
Now send at the tester again an NR-SACK-Chunk which acknowledges only the first user message with the cum_tsn-value.
|
Purpose | Ensure that the IUT ignores this duplicated out-of-date NR-SACK-Chunk and
retransmits the third user message again. Then also acknowledge the third user message.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewID | data-sender-16 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the IUT such that it sends five not fragmented user message to the tester.
Then send at the tester an NR-SACK-Chunk which acknowledges the second to fifth user messages in the gap-acknowledgements.
Expect the IUT to retransmit the first user message.
Now send at the tester again an NR-SACK-Chunk which acknowledges only the first user message with the cum_tsn-value.
Expect the IUT to retransmit the second user message.
Then send at the tester an NR-SACK-Chunk which acknowledges second user message with the cum_tsn-value and the
fourth and fifth user messages in the gap-acknowledgements.
Expect the IUT to retransmit the third user message.
Then send at the tester an NR-SACK-Chunk which acknowledges third user message with the cum_tsn-value and the
fifth user messages in the gap-acknowledgements.
Expect the IUT to retransmit the fourth user message.
Then send at the tester an NR-SACK-Chunk which acknowledges fourth user message with the cum_tsn-value.
|
Purpose | Ensure that the IUT now finally retransmits the fifth user message again. Then acknowledge all user messages with an appropriate NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.2],
RFC 4960 [section 6.2.1]
|
Back to Testsuite-OverviewData Receiver with NR-SACK
ID | data-receiver-1 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one unordered not fragmented user message to the IUT.
|
Purpose | Ensure that the IUT transmits an NR-SACK-Chunk which acknowledges the incoming user message by adjusting the cum_tsn-value.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-2 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends three unordered not fragmented user messages to the IUT, where
the third message arrives at the IUT before the second message.
|
Purpose | Ensure that the IUT at first ackowledges the second out-of-order user message either in the gaps or nr-gaps.
When the third user message arrives at the IUT ensure also the the cum_tsn-value is updated such that all
user messages are acknowledged.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-3 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends three ordered not fragmented user messages to the IUT, where
the third message arrives at the IUT before the second message.
|
Purpose | Ensure that the IUT at first ackowledges the second out-of-order user message either in the gaps or nr-gaps.
When the third user message arrives at the IUT ensure also the the cum_tsn-value is updated such that all
user messages are acknowledged.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-4 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends five unordered not fragmented user messages to the IUT
with the following order (relative tsn numbers): 2, 3, 4, 5, 1.
|
Purpose | Ensure that the IUT at first ackowledges the all out-of-order user messages either in the gaps or nr-gaps.
When the last user message arrives at the IUT ensure also the the cum_tsn-value is updated such that all
user messages are acknowledged.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-5 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends five ordered not fragmented user messages to the IUT
with the following order (relative tsn numbers): 2, 3, 4, 5, 1.
|
Purpose | Ensure that the IUT at first ackowledges the all out-of-order user messages either in the gaps or nr-gaps.
When the last user message arrives at the IUT ensure also the the cum_tsn-value is updated such that all
user messages are acknowledged.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-6 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered not fragmented out-of-order user message to the IUT.
Expect it to be NR-SACKed in either the gaps or nr-gaps. Then resend the same user message to the IUT.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces the out-of-order user message in either the gaps or nr-gaps and the dups.
Then also send the missing first user message and ensure that it acknowledges all user messages with an NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-7 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered not fragmented out-of-order user message to the IUT.
Expect it to be NR-SACKed in either the gaps or nr-gaps. Then resend the same user message bundled with
the next ordered out-of-order user message to the IUT.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces both out-of-order user messages in
either the gaps or nr-gaps and the duplicate second user message in the dups.
Then also send the missing first user message and ensure that it acknowledges all user messages with an NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-8 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one unordered not fragmented out-of-order user message to the IUT.
Expect it to be NR-SACKed in either the gaps or nr-gaps. Then resend the same user message bundled with
the next unordered out-of-order user message to the IUT.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces both out-of-order user messages in
either the gaps or nr-gaps and the duplicate second user message in the dups.
Then also send the missing first ordered user message and ensure that it acknowledges all user messages with an NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-9 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one unordered not fragmented out-of-order user message to the IUT.
Expect it to be NR-SACKed in either the gaps or nr-gaps. Then resend the same user message bundled with
the next ordered out-of-order user message to the IUT.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces both out-of-order user messages in
either the gaps or nr-gaps and the duplicate second user message in the dups.
Then also send the missing first ordered user message and ensure that it acknowledges all user messages with an NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-10 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one unordered fragmented user message consisting of three DATA-Chunks to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 1.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces the out-of-order DATA-Chunks 2 and 3 in the gaps.
Ensure also the IUT sends after receiving all fragmentes of the user messages an NR-SACK-Chunk where the cum_tsn-value is adjusted.
Then also verify that the fragmented user message is delivered to the userland.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-11 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered fragmented user message consisting of three DATA-Chunks to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 1.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces the out-of-order DATA-Chunks 2 and 3 in the gaps.
Ensure also the IUT sends after receiving all fragmentes of the user messages an NR-SACK-Chunk where the cum_tsn-value is adjusted.
Then also verify that the fragmented user message is delivered to the userland.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-12 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one unordered fragmented user message consisting of three DATA-Chunks (with relative
tsn numbers 1, 2, 3) and one unordered not fragmented user message (with tsn 4) to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 4, 1.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces the out-of-order DATA-Chunks 2 and 3 in the gaps and the DATA-Chunk 4
at best in the nr-gaps.
Ensure also the IUT sends after receiving all fragmentes of the user messages an NR-SACK-Chunk where the cum_tsn-value is adjusted.
Then also verify that the fragmented user message is delivered and that the not fragmented unordered user message can be delivered
before the fragmented unordered user message to the userland.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-13 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered fragmented user message consisting of three DATA-Chunks (with relative
tsn numbers 1, 2, 3) and one unordered not fragmented user message (with tsn 4) to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 4, 1.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces the out-of-order DATA-Chunks 2 and 3 in the gaps and the DATA-Chunk 4
at best in the nr-gaps.
Ensure also the IUT sends after receiving all fragmentes of the user messages an NR-SACK-Chunk where the cum_tsn-value is adjusted.
Then also verify that the fragmented user message is delivered and that the not fragmented unordered user message can be delivered
before the fragmented ordered user message to the userland.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-14 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered fragmented user message consisting of three DATA-Chunks (with relative
tsn numbers 1, 2, 3) and one unordered not fragmented user message (with tsn 4) to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 4.
Expect that all DATA-Chunks are NR-SACKed either in the gaps or the nr-gaps.
Then arrange the data at the IUT such that it sends an ordered fragmented user message to the IUT.
|
Purpose | Ensure that the IUT sends the user messsage to the tester. After the receiving of the first DATA-Chunk of the outgoing message
arrange the data at the tester such that it sends the still outstanding fragment with tsn=1 from the first user message at the tester.
Then also expect that the IUT sends an NR-SACK-Chunk that acknowledges all user messages and bundles it with the second fragment of
the outgoing user message.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-15 |
Precondition | IUT does support the NR-SACK extension.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered fragmented user message consisting of two DATA-Chunks (with relative
tsn numbers 1, 2) and one unordered not fragmented user message (with tsn 3) to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 3, 1.
|
Purpose | Ensure that the IUT delivers the unordered user message with tsn=3 to the IUT and then retransmit the same user message with tsn=3
to the IUT. Expect it to be listed at the dups at the NR-SACK-Chunk. After the IUT has received the DATA-Chunk with tsn=1 ensure that it
delivers the fragmented ordered user message to the userland. Also make sure that all ordered user messages are listed at the gap-blocks.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-16 |
Precondition | IUT does support the NR-SACK extension and make sure that the IUT does never drain any queues of partial received DATA-Chunks.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered fragmented user message consisting of two DATA-Chunks (with relative
tsn numbers 1, 2) and one unordered not fragmented user message (with tsn 3) to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 3, 1.
|
Purpose | Ensure that the IUT delivers the unordered user message with tsn=3 to the IUT and then retransmit the same user message with tsn=3
to the IUT. Expect it to be listed at the dups at the NR-SACK-Chunk. After the IUT has received the DATA-Chunk with tsn=1 ensure that it
delivers the fragmented ordered user message to the userland. Also make sure that all ordered user messages are listed at the nr-gap-blocks.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-17 |
Precondition | IUT does support the NR-SACK extension and make sure that the IUT does never drain any queues of partial received DATA-Chunks.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends five ordered not fragmented user messages to the IUT
with the following order (relative tsn numbers): 2, 3, 4, 5, 1.
|
Purpose | Ensure that the IUT at first ackowledges the all out-of-order user messages in the nr-gaps.
When the last user message arrives at the IUT ensure also the the cum_tsn-value is updated such that all
user messages are acknowledged.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-18 |
Precondition | IUT does support the NR-SACK extension and make sure that the IUT does never drain any queues of partial received DATA-Chunks.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered not fragmented out-of-order user message to the IUT.
Expect it to be NR-SACKed in either the gaps or nr-gaps. Then resend the same user message to the IUT.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces the out-of-order user message in the nr-gaps and the dups.
Then also send the missing first user message and ensure that it acknowledges all user messages with an NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-19 |
Precondition | IUT does support the NR-SACK extension and make sure that the IUT does never drain any queues of partial received DATA-Chunks.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one unordered not fragmented out-of-order user message to the IUT.
Expect it to be NR-SACKed in either the gaps or nr-gaps. Then resend the same user message bundled with
the next unordered out-of-order user message to the IUT.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces both out-of-order user messages in the nr-gaps and
the duplicate second user message in the dups.
Then also send the missing first ordered user message and ensure that it acknowledges all user messages with an NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-20 |
Precondition | IUT does support the NR-SACK extension and make sure that the IUT does never drain any queues of partial received DATA-Chunks.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one unordered not fragmented out-of-order user message to the IUT.
Expect it to be NR-SACKed in either the gaps or nr-gaps. Then resend the same user message bundled with
the next ordered out-of-order user message to the IUT.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces both out-of-order user messages in the
nr-gaps and the duplicate second user message in the dups.
Then also send the missing first ordered user message and ensure that it acknowledges all user messages with an NR-SACK-Chunk.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-21 |
Precondition | IUT does support the NR-SACK extension and make sure that the IUT does never drain any queues of partial received DATA-Chunks.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered fragmented user message consisting of three DATA-Chunks to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 1.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces the out-of-order DATA-Chunks 2 and 3 in the nr-gaps.
Ensure also the IUT sends after receiving all fragmentes of the user messages an NR-SACK-Chunk where the cum_tsn-value is adjusted.
Then also verify that the fragmented user message is delivered to the userland.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-OverviewID | data-receiver-22 |
Precondition | IUT does support the NR-SACK extension and make sure that the IUT does never drain any queues of partial received DATA-Chunks.
Association is established between tester and IUT where both sides have announced support for NR-SACK-Chunks at the handshake.
Arrange the data at the tester such that it sends one ordered fragmented user message consisting of three DATA-Chunks (with relative
tsn numbers 1, 2, 3) and one unordered not fragmented user message (with tsn 4) to the IUT.
Send the DATA-Chunks in the following order to the IUT (relative tsn numbers): 2, 3, 4, 1.
|
Purpose | Ensure that the IUT sends an NR-SACK-Chunk where it announces the out-of-order DATA-Chunks 2, 3 and 4 in the nr-gaps.
Ensure also the IUT sends after receiving all fragmentes of the user messages an NR-SACK-Chunk where the cum_tsn-value is adjusted.
Then also verify that the fragmented user message is delivered and that the not fragmented unordered user message can be delivered
before the fragmented ordered user message to the userland.
|
References | Load Sharing for SCTP [section 4.4.1],
RFC 4960 [section 6.2]
|
Back to Testsuite-Overview