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

Abbreviations

IUTImplementation under Test
NR-SACKNon-Renegable Selective Acknowledgements
PR-SCTPPartial Reliability Extension for SCTP
RFCRequest for comments
SCTPStream Control Transmission Protocol
TSNTransmission Sequence Number
cum_tsnCumulative Transmission Sequence Number
cwndCongestion Window Size
gapsGap Ackowledgement Blocks
nr-gapsNon 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

IDhandshake-with-forward-tsn-1
PreconditionIUT 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.
PurposeEnsure that the IUT responds with an INIT-ACK-chunk where the forward-tsn-supported parameter is listed at the unrecognized parameters.
ReferencesRFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1]
Back to Testsuite-Overview
IDhandshake-with-forward-tsn-2
PreconditionIUT does not support PR-SCTP. Association is not established between tester and IUT. Configure the IUT to send an INIT-Chunk to the tester.
PurposeEnsure that the received INIT-Chunk from the IUT does not contain the forward-tsn-supported parameter in the optional parameter list.
ReferencesRFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3.1]
Back to Testsuite-Overview
IDhandshake-with-forward-tsn-3
PreconditionIUT 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.
PurposeEnsure 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".
ReferencesRFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3]
Back to Testsuite-Overview
IDhandshake-with-forward-tsn-4
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3]
Back to Testsuite-Overview
IDhandshake-with-forward-tsn-5
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.3.2], RFC 4960 [section 3.3.3]
Back to Testsuite-Overview
IDhandshake-with-forward-tsn-6
PreconditionIUT 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.
PurposeEnsure that the IUT has enabled PR-SCTP for this association.
ReferencesRFC 3758 [section 3.3.2]
Back to Testsuite-Overview
IDhandshake-with-forward-tsn-7
PreconditionIUT 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.
PurposeEnsure that the IUT has disabled PR-SCTP for this association.
ReferencesRFC 3758 [section 3.3.2]
Back to Testsuite-Overview
IDhandshake-with-forward-tsn-operational-error
PreconditionIUT 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.
PurposeEnsure the IUT to either:
  1. end the initiation process. (in cases where the initiation process already ended, it may need to send an ABORT)
  2. 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.
ReferencesRFC 3758 [section 3.3.3]
Back to Testsuite-Overview

Sender 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.

IDsender-side-implementation-1
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.5 - A2, C3 and C4]
Back to Testsuite-Overview
IDsender-side-implementation-2
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.5 - A2, C3 and C4]
Back to Testsuite-Overview
IDsender-side-implementation-3
PreconditionIUT 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.
PurposeEnsure that the IUT sends a valid FORWARD TSN-Chunk and abandons all fragmented chunks at the the same time.
ReferencesRFC 3758 [section 3.5 - A3]
Back to Testsuite-Overview
IDsender-side-implementation-4
PreconditionIUT 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.
PurposeEnsure that the IUT sends a valid FORWARD TSN-Chunk and bundles it with the third DATA-Chunk.
ReferencesRFC 3758 [section 3.5 - F2]
Back to Testsuite-Overview
IDsender-side-implementation-5
PreconditionIUT 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.
PurposeEnsure that the IUT sends a valid FORWARD TSN-Chunk and does not delay the sending of the forward tsn to more than 500ms.
ReferencesRFC 3758 [section 3.5 - F3]
Back to Testsuite-Overview
IDsender-side-implementation-6
PreconditionIUT 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.
PurposeEnsure that the IUT sends a valid FORWARD TSN-Chunk for the first DATA-Chunk and discards the second user message.
ReferencesRFC 3758 [section 3.5]
Back to Testsuite-Overview
IDsender-side-implementation-7
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.5]
Back to Testsuite-Overview
IDsender-side-implementation-8
PreconditionIUT 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.
PurposeEnsure that the IUT also sends a valid FORWARD TSN-Chunk for the unordered user message.
ReferencesRFC 3758 [section 3.5]
Back to Testsuite-Overview
IDsender-side-implementation-9
PreconditionIUT 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.
PurposeEnsure that the IUT sends a valid FORWARD TSN-Chunk for both outstanding ordered user messages.
ReferencesRFC 3758 [section 3.5]
Back to Testsuite-Overview
IDsender-side-implementation-10
PreconditionIUT 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.
PurposeEnsure that the IUT retransmits the FORWARD TSN-Chunk for the abandoned user message.
ReferencesRFC 3758 [section 3.5]
Back to Testsuite-Overview
IDsender-side-implementation-11
PreconditionIUT 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.
PurposeExpect 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.
ReferencesRFC 3758 [section 3.5]
Back to Testsuite-Overview
IDsender-side-implementation-12
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.5]
Back to Testsuite-Overview
IDshutdown-1
PreconditionIUT 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.
PurposeEnsure that the IUT sends an valid SHUTDOWN-Chunk. Also ensure that the sending of further user messages is not allowed.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-2
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-3
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-4
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-5
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-6
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-7
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-8
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-9
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-10
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-11
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-12
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-13
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-1
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-2
PreconditionIUT 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.
PurposeEnsure that the IUT abandons this user message and sends a valid FORWARD-TSN-Chunk. Then also verify that the shutdown process completes successfully.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-4
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-5
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-6
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-7
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-8
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-9
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-10
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-11
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-12
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview
IDshutdown-received-13
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesSockets API Extensions for SCTP - Shutdown, RFC 4960 [section 9.2]
Back to Testsuite-Overview

Receiver 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.

IDpacket-loss-1
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-2
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-3
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-4
PreconditionIUT 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.
PurposeExpect 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-5
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-6
PreconditionIUT 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.
PurposeExpect 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-7
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-8
PreconditionIUT 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.
PurposeExpect 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-9
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-10
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-11
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-12
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-13
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDpacket-loss-14
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-1
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-2
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-3
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-4
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-5
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-6
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-7
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-8
PreconditionIUT 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.
PurposeEnsure 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
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-9
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview
IDreceiver-side-implementation-10
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 3758 [section 3.6]
Back to Testsuite-Overview

Error Cases

IDforward-tsn-tlv-too-long
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesRFC 3758 [section 3.2]
Back to Testsuite-Overview
IDforward-tsn-tlv-too-short
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesRFC 3758 [section 3.2]
Back to Testsuite-Overview
IDforward-tsn-too-short
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesRFC 3758 [section 3.2]
Back to Testsuite-Overview
IDi-forward-tsn-tlv-too-long
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesStream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
Back to Testsuite-Overview
IDi-forward-tsn-tlv-too-short
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesStream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
Back to Testsuite-Overview
IDi-forward-tsn-too-short
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesStream Schedulers and User Message Interleaving for SCTP [section 2.3.1]
Back to Testsuite-Overview
IDinit-with-forward-tsn-tlv-too-long
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesRFC 3758 [section 3.1]
Back to Testsuite-Overview
IDinit-with-forward-tsn-tlv-too-short
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesRFC 3758 [section 3.1]
Back to Testsuite-Overview
IDinit-with-forward-tsn-too-long
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesRFC 3758 [section 3.1]
Back to Testsuite-Overview
IDinit-with-forward-tsn-too-short
PreconditionIUT 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.
PurposeEnsure that the IUT either discards this invalid chunk or responds with an ABORT-chunk.
ReferencesRFC 3758 [section 3.1]
Back to Testsuite-Overview

Handshake with I-FORWARD-TSN

IDhandshake-with-i-forward-tsn-1
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-2
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-3
PreconditionIUT 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.
PurposeEnsure 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".
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-4
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-5
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-6
PreconditionIUT 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.
PurposeEnsure that the IUT has enabled PR-SCTP and uses correct I-DATA and I-FORWARD-TSN-Chunks for this association.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-7
PreconditionIUT 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.
PurposeEnsure that the IUT has enabled PR-SCTP and uses correct I-DATA and I-FORWARD-TSN-Chunks for this association.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-8
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-9
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-10
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-11
PreconditionIUT 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.
PurposeEnsure that the IUT has enabled PR-SCTP and uses correct I-DATA and I-FORWARD-TSN-Chunks for this association.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-12
PreconditionIUT 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.
PurposeEnsure that the IUT has enabled PR-SCTP and uses correct I-DATA and I-FORWARD-TSN-Chunks for this association.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-13
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-14
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview
IDhandshake-with-i-forward-tsn-15
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesRFC 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-Overview

Handshake with NR-SACK

IDhandshake-with-nr-sack-1
PreconditionIUT 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.
PurposeEnsure that the IUT does not list the NR-SACK-Chunk at the supported extensions parameter in the INIT-ACK-Chunk.
ReferencesLoad Sharing for SCTP [section 4.1]
Back to Testsuite-Overview
IDhandshake-with-nr-sack-2
PreconditionIUT 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.
PurposeEnsure that the IUT does not list the NR-SACK-Chunk at the supported extensions parameter in the INIT-Chunk.
ReferencesLoad Sharing for SCTP [section 4.1]
Back to Testsuite-Overview
IDhandshake-with-nr-sack-3
PreconditionIUT 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.
PurposeEnsure that the IUT has disabled the NR-SACK extension for this association.
ReferencesLoad Sharing for SCTP [section 4.1]
Back to Testsuite-Overview
IDhandshake-with-nr-sack-4
PreconditionIUT 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.
PurposeEnsure that the IUT has disabled the NR-SACK extension for this association.
ReferencesLoad Sharing for SCTP [section 4.1]
Back to Testsuite-Overview
IDhandshake-with-nr-sack-5
PreconditionIUT 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.
PurposeEnsure that the IUT has disabled the NR-SACK extension for this association.
ReferencesLoad Sharing for SCTP [section 4.1]
Back to Testsuite-Overview
IDhandshake-with-nr-sack-6
PreconditionIUT 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.
PurposeEnsure that the IUT has enabled the NR-SACK extension for this association.
ReferencesLoad Sharing for SCTP [section 4.1]
Back to Testsuite-Overview
IDhandshake-with-nr-sack-7
PreconditionIUT does support the NR-SACK extension. Association is established between tester and IUT, where the NR-SACK extension has been enabled.
PurposeEnsure 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.
ReferencesNeeds clarification in the internet draft Load Sharing for SCTP [section 4.1]
Back to Testsuite-Overview
IDhandshake-with-nr-sack-8
PreconditionIUT 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.
PurposeEnsure that the IUT either accepts this misbehaviour by accepting both types or sends an ABORT-Chunk to terminate the association.
ReferencesNeeds clarification in the internet draft Load Sharing for SCTP [section 4.1]
Back to Testsuite-Overview

Data Sender with NR-SACK

IDdata-sender-1
PreconditionIUT 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.
PurposeEnsure that the IUT transmits the second user message. Then also acknowledge the second user message.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-2
PreconditionIUT 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.
PurposeEnsure that the IUT retransmits the first user message. Then also acknowledge the first user message.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-3
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-4
PreconditionIUT 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.
PurposeEnsure that the IUT retransmits the second user message. Then also acknowledge the second user message.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-5
PreconditionIUT 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.
PurposeEnsure that the IUT retransmits the first user message. Then also acknowledge the first user message.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-6
PreconditionIUT 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.
PurposeEnsure that the IUT retransmits the first user message this time. Then also acknowledge the first user message.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-7
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-8
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-9
PreconditionIUT 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)
PurposeEnsure that the IUT sends an ABORT-Chunk, because it has not sent any user messages with such a high tsn value.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-10
PreconditionIUT 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.
PurposeEnsure that the IUT retransmits the second user message. Then also acknowledge the second user message.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-11
PreconditionIUT 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.
PurposeEnsure that the IUT retransmits the third user message now. Then acknowledge all user messages with an appropriate NR-SACK-Chunk.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-12
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-13
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-14
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-15
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview
IDdata-sender-16
PreconditionIUT 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.
PurposeEnsure that the IUT now finally retransmits the fifth user message again. Then acknowledge all user messages with an appropriate NR-SACK-Chunk.
ReferencesLoad Sharing for SCTP [section 4.4.2], RFC 4960 [section 6.2.1]
Back to Testsuite-Overview

Data Receiver with NR-SACK

IDdata-receiver-1
PreconditionIUT 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.
PurposeEnsure that the IUT transmits an NR-SACK-Chunk which acknowledges the incoming user message by adjusting the cum_tsn-value.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-2
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-3
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-4
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-5
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-6
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-7
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-8
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-9
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-10
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-11
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-12
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-13
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-14
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-15
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-16
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-17
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-18
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-19
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-20
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-21
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview
IDdata-receiver-22
PreconditionIUT 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.
PurposeEnsure 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.
ReferencesLoad Sharing for SCTP [section 4.4.1], RFC 4960 [section 6.2]
Back to Testsuite-Overview