An implementation of the SCTP Conformance Tests for packetdrill according to ETSI TS 102 369. The initial focus is on supporting FreeBSD and Linux.
The testsuite contains of 121 test purposes. Four of those are not applicable to SCTP implementations using the socket API defined in RFC 6458 and two test purposes can't be implemented in packetdrill due to conceptual limits. Therefore, 115 test purposes can be implemented with packetdrill.
The following table shows the status of the test purposes splitted up in the 11 main functionalities:
|Main Functionality||Number of Test Purposes||Implemented||Finalized|
|Association Setup (AS)||33||30 (Note 1)||27 (Note 2)|
|Association Termination (AT)||16||16||16|
|Invalid Message Handling (IMH)||10||10||10|
|Duplicate Messages (DM)||15||15||15|
|Fault Handling (FH)||8||8||7 (Note 3)|
|Bundling of Data Chunks with Control Chunks (BDC)||8||8||8|
|Data (D)||15||12 (Note 4)||11 (Note 2)|
|Retransmission Timer (RT)||3||3||2 (Note 2)|
- One test is not applicable since the maximum number of associations supported by the SCTP stack can't be controlled via the socket API. Two tests are not implementable within packetdrill since checking the randomness of the initiate tags is not supported.
- Support for multi-homing is required in packetdrill. This is currently missing and tracked in packetdrill issue 28.
- Support for injecting packets with non-unicast source addresses is required in packetdrill. This is currenty missing and tracked in packetdrill issue 26.
- Three tests are not applicable, since the socket layer does not have a message size limit for receiving messages. Partial delivery is used in the case the message can't be delivered atomically.
Fixes for FreeBSD
- Fix for sctp-d-i-8-11: r286206.
- Fix for sctp-at-i-2-5: r287294.
- Fix for sctp-at-i-2-7-2: r287444.
- Fix for sctp-bdc-i-7-1: r287535.
- Fix for sctp-e-i-6-5: r287669.
- Fix for sctp-e-i-6-4: r287717 and r287719.
- Fix for sctp-imh-i-3-3: r290023.
- Fix for sctp-dm-o-4-2-1, sctp-dm-o-4-2-2, sctp-as-o-1-9-1, sctp-as-o-1-9-2: r294057.
Issues for FreeBSD
These are tracked in Issues.