INTERNET-DRAFT Sachin Manoj Sunil Mahajan Hughes Software Systems May 1,2000 expires: Nov 1, 2000 Conformance Test Specification for SCTP Status of This Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Sachin-Manoj-Sunil, HSS [Page 1] Internet Draft Conformance Test For SCTP May 2000 Abstract This document presents the conformance test specification for SCTP prototcol (ver 07), which can be used to test SCTP implementations for conformance to the protocol definition. The list of test is exhaustive and covers almost all the categories of test, except few (test for timer calculation and congestion) which will be added in the next revision of the draft. This draft can also be used in conjunction with SCTP specification by implementor of protocol as implementors guide, as the pictorial representation of various scenarios help understand the protocol. Next revision of the draft will also cover the additions done to the protocol revision SCTP-09 and any subsequent RFC published by IETF. Sachin-Manoj-Sunil, HSS [Page 2] Internet Draft Conformance Test For SCTP May 2000 CONTENTS 1 Introduction ---------------------------------------------- 3 2 General principles of SCTP tests -------------------------- 3 2.1 Presentation of test descriptions ------------------------- 3 2.2 Presentation of the test list ----------------------------- 3 2.3 Pre Test Conditions --------------------------------------- 4 2.4 Post Test Condition --------------------------------------- 4 3 Test configuration ---------------------------------------- 4 4 Test Environment ------------------------------------------ 4 4.1 SCTP validation testing ----------------------------------- 5 4.2 SCTP user simulator --------------------------------------- 5 4.3 Test simulator -------------------------------------------- 5 4.4 Link Monitor ---------------------------------------------- 5 5 Test list ------------------------------------------------- 5 6 Test Description ------------------------------------------ 9 7 Acknowledgement ----------------------------------------- 121 8 Authors Address ----------------------------------------- 121 9 References ---------------------------------------------- 121 1 Introduction This document contains a set of detailed tests of SCTP protocol. These tests intend to validate the protocol implementation based on SCTP draft-ietf-sigtran-sctp-07.txt. General principles for SCTP tests are presented below. 2 General principles of SCTP tests These tests aim to verify a given implementation of a protocol in accordance with the relevant specification. The specification is independent of a given implementation and does not generally imply any modification of the endpoint under test. However, it is recognized that certain tests require capabilities of the system that are not explicitly defined in the specification, and these capabilities may not be present in all implementations. As a consequence, certain tests may not be possible in all implementations. Therefore, for testing individual may unilaterally choose the tests to be performed. 2.1 Presentation of test descriptions The SCTP tests aim at testing the SCTP protocol conformance in a given implementation. Although datagrams are transmitted and received continuously, only the datagram which cause and/or indicate the changes of endpoint status are shown in the EXPECTED MESSAGE SEQUENCE column of each test description. 2.2 Presentation of the test list These tests as a whole, aim at a complete validation of the SCTP protocol without redundancies. Each test is described as simply as possible to check precisely each elementary function of the protocol, which is referred in the columns "reference", "title" and "sub-title" of each test description. This list is presented in the form of a succession of tests. The presentation order is essentially functional. However, the operator Sachin-Manoj-Sunil, HSS [Page 3] Internet Draft Conformance Test For SCTP May 2000 performing these tests may change this order, taking into account some other practical criteria such as: use pre-test conditions to order the list, the end of a given test may be the pre-test condition of another test. 2.3 Pre-Test Condition Before starting the test we need to get the setup into a condition from where test can be started. These conditions are specified in Pre-Test condition. 2.4 Post Test Condition After executing each test the association should be closed by sending ABORT from either end. 3 Test configuration Figure 1 shows test configuration involving endpoint A and endpoint B. Test specifications are written to test the SCTP protocol of endpoint B. ------------- --------------- | | | | | Endpoint A | | Endpoint B | | |------------------->| Under Test | | | | | ------------- --------------- Fig 1: TEST CONFIGURATION OF SCTP 4. Test Environment --------------- | | |User Simulator | | | | | --------------- | | ------------- --------------- | | | | | Endpoint A | | Endpoint B | | |------------------->| Under Test | | | | | | ------------- | --------------- | ------------- | | |Link Monitor | | | ------------- Fig 2: Test Environment Sachin-Manoj-Sunil, HSS [Page 4] Internet Draft Conformance Test For SCTP May 2000 4.1 SCTP validation testing The SCTP test environment consists of the following items (see Figure 2): - The SCTP user simulator; - The test simulator; - The link monitor; - The IP link. 4.2 SCTP user simulator During the SCTP tests, it is necessary to inject messages and indications to and from the SCTP endpoint under test. It is desirable that the SCTP user function used is the actual SCTP user of the SCTP with some additional functions for test purposes or a more controlled user function. The application should also provide means to check the interface interaction with the SCTP implementation under test. 4.3 Test simulator During SCTP testing it is necessary to inject some abnormal messages (as well as normal messages) to fully test the SCTP under test, the test simulator should have this function. In addition, the simulator should have the capability to receive and check messages from the SCTP under test. The generation of certain abnormal sequences of messages should also be a capability of the test simulator. 4.4 Link Monitor During SCTP testing it is necessary to monitor the various messages being exchanged between the two SCTP endpoints. Link monitor should have this function. It should also have the capability to show all the parameters of the message. 5 Test list 1 Association Startupz 1.1 Normal Association 1.2 Timer T1-Init 1.2.1 T1-Init timer for INIT 1.2.2 T1-Init timer for COOKIE 1.3 Max.Init.Retrans counter 1.3.1 Failure to receive INIT-ACK 1.3.2 Failure to receive COOKIE-ACK 1.4 Cookie not Received 1.5 Association Re-establishment (different init-tag) 1.5.1 Different Tag values when initiation is started 1.5.2 Different Tag values when initiation is started by other end 1.6 Optional parameter 1.6.1 Optional parameter in INIT 1.6.2 Optional parameter in INIT-ACK 1.7 Stream parameter mismatch 1.7.1 Mismatch in the received OS and own MIS 1.7.2 Mismatch in the received MIS and own OS 1.8 Unrecognised parameters in INIT 1.9 IP addresses in multiple association Sachin-Manoj-Sunil, HSS [Page 5] Internet Draft Conformance Test For SCTP May 2000 1.10 No transport addresses 1.10.1 No transport address in INIT 1.10.2 No transport address in INIT-ACK 1.11 Vendor specific extension parameter type 1.11.1 Vendor specific extension parameter type in INIT 1.11.2 Vendor specific extension parameter type in INIT-ACK 1.12 One or more transport addresses in INIT 1.12.1 One or more Transport addresses in INIT message 1.12.2 One or more Transport addresses in INIT-ACK messages 1.12.3 IP address from where the INIT comes is not included in the IP address field of INIT 1.12.4 IP address from where the INIT-ACK comes is not included in the IP address field of INIT-ACK 2 Association Termination 2.1 Generation of ABORT 2.2 Termination by receiving ABORT message 2.3 Generation of SHUTDOWN 2.4 T2-Shutdown timer 2.5 Association.Max.Retrans counter 2.6 Shutdown-Ack with verification tag 0 2.7 Data from upper layers 2.7.1 Data from upper layer in Shutdown sent state 2.7.2 Data from upper layer in Shutdown receive state 2.7.3 Data from upper layer in Shutdown pending state 2.8 Data received in Shutdown sent state 2.9 Data received in Shutdown receive state 3 Invalid Message Handling 3.1 Invalid INIT message 3.1.1 Invalid INIT message with Init-Tag null. 3.1.2 Invalid INIT message withoutMandatory parameter 3.2 Invalid INIT-ACK message 3.2.1 Invalid INIT-ACK message with Init-Tag Null. 3.2.2 Invalid INIT-ACK without mandatory parameter 3.3 Invalid Verification Tag in a message 3.4 Invalid Adler-32 Checksum in a message 3.5 Invalid Cookie message (different MD5 signature) 3.6 Invalid Cookie message (Life time expired) 3.7 Invalid ABORT (incorrect verification tag) 3.8 Chunk length greater than packet length 3.9 Invalid Shutdown-Ack (Verification-Tag = 0) 4 Duplicate Message 4.1 INIT Collision 4.2 Duplicate INIT message 4.2.1 Duplicate INIT message in established state 4.2.2 Duplicate INIT message in Shutdown sent state 4.3 Duplicate INIT-ACK in Cookie-sent state 4.4 Duplicate COOKIE-ACK in established state 4.5 SHUTDOWN collision 4.6 Duplicate SHUTDOWN 4.6.1 Duplicate SHUTDOWN message in Cookie Wait state 4.6.2 Duplicate SHUTDOWN message in Closed state Sachin-Manoj-Sunil, HSS [Page 6] Internet Draft Conformance Test For SCTP May 2000 4.6.3 Duplicate SHUTDOWN message in Shutdown Receive state 4.7 Duplicate SHUTDOWN-ACK in Cookie_wait State 4.8 Duplicate COOKIE 4.8.1 Duplicate COOKIE with invalid MD5 signature 4.8.2 Duplicate COOKIE with expired lifetime 4.8.3 Duplicate valid COOKIE 5 Fault Handling 5.1 Association.Max.Retrans Counter 5.1.1 Total number of consecutive retransmission exceeds Association.Max.Retrans 5.1.2 The counter counting total number of retransmission to endpoint is reset on receiving SACK 5.2 Retrans.Count exceeds Path.Max.Retrans 5.3 Retrans.Count counter reset 5.4 Retrans.Count counter not reset 5.5 Heartbeat sent periodically to an ile destination 5.6 Heartbeat Request primitive 5.7 Receiving Heartbeat Message 5.8 HEARTBEAT-ACK from an inactive destination 5.9 OOTB datagram 6 ERROR 6.1 Stale Cookie error received in cookie sent state 6.2 Stale cookie error received in a state other than cookie sent 6.3 Invalid Stream identifier error 6.4 Missing Mandatory Parameter 7 Bundling of DATA chunks with Control chunks 7.1 Chunk multiplexing with INIT 7.2 Chunk multiplexing with INIT-ACK 7.3 Chunk multiplexing with SHUTDOWN-ACK 7.4 Chunk multiplexing with COOKIE 7.5 Chunk multiplexing with COOKIE-ACK 7.6 SHUTDOWN is received bundled with SACK 7.7 SACK is received bundled with DATA chunks 8 Payload DATA 8.1 Un-Segmented DATA 8.2 DATA Segmentation 8.3 Segmented DATA reception 8.4 T3-rxt timer cancel 8.5 T3-rxt Timer expire 8.6 Duplicate Data 8.7 Receive buffer space 8.8 User Data in Receive buffer space 8.9 Congestion 8.10 Retransmission 8.11 Ordered delivery 8.12 Un-ordered delivery 9 Selective Acknowledgment (SACK ) 9.1 Normal Acknowledgment 9.2 Delayed Acknowledgment 9.3 Cumulative TSN ACK Sachin-Manoj-Sunil, HSS [Page 7] Internet Draft Conformance Test For SCTP May 2000 10 Miscellaneous Test cases 10.1 Reserved Chunk Type Sachin-Manoj-Sunil, HSS [Page 8] Internet Draft Conformance Test For SCTP May 2000 6 Test Description "Normal Association" + TEST NUMBER : 1.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1 and 4.1.6 + TITLE : Association Startup + SUBTITLE : Normal Association + PURPOSE : To check normal association procedure + PRE-TEST CONDITIONS: Association not established between endpoint A and B. Also arrange the data in endpoint B such that upper layers send Associate primitive to startup an association with endpoint A. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <------ Associate <------------------ INIT INIT_ACK -------------------> <------------------ COOKIE COOKIE_ACK -------------------> ------> Communication Up <----- Send <------------------- DATA SACK --------------------> DATA --------------------> -----> Data Arrive <-------------------- SACK TEST DESCRIPTION: 1. Start normal association procedure by sending associate primitive from ULP in endpoint B. Record the message sequence using a signal emulator. 2. Check A: Association is established. 3. Check B: First data chunk sent after establishing association is immediately acknowledged by SACK. 4. Check C: Reception and transmission of various length data chunks on the established association. 5. Check D: All the messages are received correctly. (No loss of messages) Sachin-Manoj-Sunil, HSS [Page 9] Internet Draft Conformance Test For SCTP May 2000 "T1-Init timer for INIT" + TEST NUMBER : 1.2.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.6 and 3 + TITLE : Association Startup + SUBTITLE : T1-Init timer for INIT + PURPOSE: To check that if T1-Init timer expires then INIT message is transmitted again. + PRE-TEST CONDITION: Association is not established between endpoint A and B. Arrange the data in Endpoint A such that INIT-ACK is not sent in response to INIT message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <------- Associate <------------------- INIT (Start T1-Init timer) Note Init-Tag value | | Don’t send INIT-ACK message | | T1-INIT timer Expires <------------------ INIT (Restart T1-Init timer) Note Init-Tag value TEST DESCRIPTION: 1. Try to make an association from endpoint B to endpoint A by sending INIT message from endpoint B. Don’t send INIT-ACK in response to INIT message. Record the message sequence using a signal emulator. 2. Check A: INIT message is sent again after expiry of T1-Init timer. 3. Check B: In the retransmitted message, Init-Tag value is same as was in the previous INIT message. 4. Check C: Was the message sequence as above Sachin-Manoj-Sunil, HSS [Page 10] Internet Draft Conformance Test For SCTP May 2000 "T1-Init timer for COOKIE" + TEST NUMBER : 1.2.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.6 and 3 + TITLE : Association Startup + SUBTITLE : T1-Init timer for COOKIE + PURPOSE: To check that if T1-Init timer expires then COOKIE message is transmitted again. + PRE-TEST CONDITION: Association is not established between endpoint A and B. Arrange the data in Endpoint A such that COOKIE-ACK is not sent in response to COOKIE message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <--------- Associate <------------------- INIT INIT-ACK --------------------> <-------------------- COOKIE (Start T1-Init timer) Don’t send COOKIE-ACK message | | | T1-INIT timer expires <-------------------- COOKIE (Restart T1-Init Timer) TEST DESCRIPTION: 1. Try to make an association from endpoint B to endpoint A by sending INIT message from endpoint B. Record the message sequence using a signal emulator. 2. Check A: COOKIE message is sent again after expiry of T1-Init timer. 3. Check B: Was the message sequence as above. Sachin-Manoj-Sunil, HSS [Page 11] Internet Draft Conformance Test For SCTP May 2000 "MAX.INIT.RETRANS: Failure to receive INIT-ACK" + TEST NUMBER : 1.3.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 3 and 4.1.6 + TITLE : Association Startup + SUBTITLE : MAX.INIT.RETRANS: Failure to receive INIT-ACK + PURPOSE: To verify that if INIT is retransmitted for MAX.INIT.RETRANS then association is aborted. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in Endpoint A such that INIT-ACK is not sent in response to INIT message. Let MAX.INIT.RETRANS counter for endpoint B is x. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <-------- Associate <----------------- INIT Don’t Send INIT-ACK | | T1-INIT timer | <----------------- INIT Don’t Send INIT-ACK | | T1-INIT timer | <----------------- INIT . Retransmit INIT . x times MAX.INIT.RETRANS counter exceeds. -----------> Communication Lost <----------Associate <------------------ INIT INIT-ACK -------------------> <------------------ COOKIE COOKIE-ACK -------------------> -------------> Communication Up DATA -------------------> <------------------ SACK Sachin-Manoj-Sunil, HSS [Page 12] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Attempt to make an association from endpoint B to endpoint A by sending INIT message from endpoint B. Record the message sequence using a signal emulator. 2. Check A: If INIT message is transmitted for MAX.INIT.RETRANS times without getting an INIT-ACK, Association is aborted and upper layers are reported of this. 3. Check B: Can endpoint B start and establish a new association with endpoint A. Check this by sending Associate primitive from ULP. 4. Check C: Was the message sequence as above. Sachin-Manoj-Sunil, HSS [Page 13] Internet Draft Conformance Test For SCTP May 2000 "MAX.INIT.RETRANS: Failure to receive COOKIE-ACK" + TEST NUMBER : 1.3.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 3 and 4.1.6 + TITLE : Association Startup + SUBTITLE : MAX.INIT.RETRANS: Failure to receive COOKIE-ACK + PURPOSE: To verify that if COOKIE is retransmitted for MAX.INIT.RETRANS then association is aborted. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in Endpoint A such that COOKIE-ACK is not sent in response to COOKIE message. Let MAX.INIT.RETRANS counter for endpoint B is x. + EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <--------- Associate <------------------ INIT INIT-ACK ------------------> <------------------ COOKIE Don’t Send COOKIE-ACK | | T1-INIT timer | <------------------ COOKIE Don’t Send COOKIE-ACK | | T1-INIT timer | <------------------ COOKIE . . Retransmit x . times MAX.INIT.RETRANS Counter exceeds. -----------> Communication Lost <---------- Associate <------------------ INIT INIT-ACK ------------------> Sachin-Manoj-Sunil, HSS [Page 14] Internet Draft Conformance Test For SCTP May 2000 <------------------ COOKIE COOKIE-ACK -------------------> -----------> Communication Up DATA -------------------> <------------------- SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint B to endpoint A by sending INIT message from endpoint B. Record the message sequence using a signal emulator. 2. Check A: If COOKIE message is transmitted for MAX.INIT.RETRANS times without getting an COOKIE-ACK, Association is aborted and upper layers are reported of this. 3. Check B: Can endpoint B start and establish a new association. 4. Check C: Was the message sequence as above. Sachin-Manoj-Sunil, HSS [Page 15] Internet Draft Conformance Test For SCTP May 2000 "Failure to receive Cookie Message" + TEST NUMBER : 1.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1 + TITLE : Association Startup + SUBTITLE : Failure to receive Cookie Message + PURPOSE: To verify that endpoint remains in closed state if COOKIE message is not received. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in Endpoint A, such that COOKIE is not sent in response to INIT-ACK message. Also let maximum no of association which endpoint A can establish is n and n-1of them are already established. We are trying to make the nth association. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT -------------------> <------------------ INIT_ACK (With Cookie) Don't send COOKIE COOKIE message is not received. <--------- Associate <------------------ INIT INIT_ACK ------------------> <----------------- COOKIE COOKIE-ACK ------------------> ------------> Communication Up DATA ------------------> <------------------ SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Don’t send COOKIE message in response to INIT-ACK. Record the message sequence using a signal emulator. 2. Check A: Endpoint B remains in closed state. 3. Check B: Was the message sequence as above. 4. Check C: Can endpoint B start and establish a new association with endpoint A. Sachin-Manoj-Sunil, HSS [Page 16] Internet Draft Conformance Test For SCTP May 2000 "Different Tag Values in different association being initiated from endpoint being tested" + TEST NUMBER : 1.5.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.3.1 + TITLE : Association + SUBTITLE: Different Tag Values in different association with same endpoint. + PURPOSE: To verify that when an association is re-established to a peer then a different (Different from the previous association between the two endpoints) Init-Tag value is used. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that normal association can be established and terminated between endpoint A and B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <--------- Associate Note Init-Tag Value <---------------- INIT INIT_ACK ----------------> <---------------- COOKIE COOKIE_ACK ----------------> -----------> Communication Up <----------- Send <---------------- DATA SACK -----------------> DATA ----------------> <---------------- SACK SHUTDOWN -----------------> <----------------- SHUTDOWN ACK -----------> Communication Lost <---------- Associate Note Init-Tag value <---------------- INIT INIT-ACK -----------------> Sachin-Manoj-Sunil, HSS [Page 17] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Try to initiate an association between endpoint A and B. Note the values of Init-Tag parameters received in INIT messages. Terminate the association by sending SHUTDOWN message and try to re-establish the association. Again note the value of Init-Tag parameters in INIT message. 2. Check A: Value of Init-Tag parameter in the new association is different from the old one. Sachin-Manoj-Sunil, HSS [Page 18] Internet Draft Conformance Test For SCTP May 2000 "Different Tag Values in different association being initiated from other endpoint" + TEST NUMBER : 1.5.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.3.1 + TITLE : Association + SUBTITLE: Different Tag Values in different association with same endpoint. + PURPOSE: To verify that when an association is re-established to a peer then a different (Different from the previous association between the two endpoints) Init-Tag value is used. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that normal association can be established and terminated between endpoint A and B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT -----------------> <---------------- INIT-ACK Note Init-Tag Value COOKIE -----------------> <----------------- COOKIE-ACK ------------> Communication Up <--------- Send <----------------- DATA SACK ------------------> DATA ------------------> <----------------- SACK SHUTDOWN ------------------> <------------------ SHUTDOWN ACK ------------> Communication Lost INIT -------------------> <------------------- INIT-ACK Note Init-Tag value Sachin-Manoj-Sunil, HSS [Page 19] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Try to initiate an association between endpoint A and B. Note the values of Init-Tag parameters received in INIT-ACK messages. Terminate the association by sending SHUTDOWN message and try to re-establish the association. Again note the value of Init-Tag parameters in INIT-ACK message. 2. Check A: Value of Init-Tag parameter in the new association is different from the old one. Sachin-Manoj-Sunil, HSS [Page 20] Internet Draft Conformance Test For SCTP May 2000 "Optional parameters in the INIT message" + TEST NUMBER : 1.6.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.1 + TITLE : Association Startup + SUBTITLE: Optional parameters in the INIT message + PURPOSE: To verify that if there are one or more optional parameters in the received INIT message then message is accepted and responded. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that all optional parameters are sent in INIT message. Also endpoint B should be IPv6 enabled. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT -------------------> (All optional Parameters) <------------------- INIT_ACK COOKIE -------------------> <------------------- COOKIE-ACK --------------> Communication Up DATA -------------------> <------------------- SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Send INIT message containing all optional parameters (IPv4 address, IPv6 address, cookie preservative). Record the message sequence using a signal emulator. 2. Check A: INIT message is accepted and INIT-ACK is sent. 3. Check B: Association is established between endpoint A and B. Sachin-Manoj-Sunil, HSS [Page 21] Internet Draft Conformance Test For SCTP May 2000 "Optional parameters in the INIT-ACK message" + TEST NUMBER : 1.6.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.1 + TITLE : Association Startup + SUBTITLE: Optional parameters in the INIT-ACK message + PURPOSE: To verify that if there are one or more optional parameters in the received INIT-ACK message then message is accepted and responded. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that all optional parameters are sent in INIT-ACK messages. Also endpoint B should be IPv6 enabled. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <--------- Associate <--------------- INIT INIT_ACK ----------------> (With all optional Parameters) <---------------- COOKIE COOKIE-ACK ----------------> -------------> Communication Up DATA ----------------> <---------------- SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint B to endpoint A. Send INIT-ACK message containing all optional parameters (IPv4 address, IPv6 address, Unrecognized Parameters). Record the message sequence using a signal emulator. 2. Check A: INIT-ACK message is accepted and COOKIE message is sent. 3. Check B: Association is established between endpoint A and B. Sachin-Manoj-Sunil, HSS [Page 22] Internet Draft Conformance Test For SCTP May 2000 "Mismatch in the Outbound Stream and Inbound Stream parameters in INIT and INIT-ACK" + TEST NUMBER : 1.7.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.1 + TITLE : Stream parameter mismatch + SUBTITLE: Mismatch in the Outbound Stream and Inbound Stream parameters in INIT and INIT-ACK. + PURPOSE: To verify that if there is a mismatch in the Outbound Stream and Inbound Stream parameters in INIT and INIT-ACK message then either association is aborted or endpoint settle with minimum of the two parameters. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Also let the OS of B is Z. Arrange data in endpoint A such that INIT message is sent from endpoint A with MIS Y OS of B is Z > Y (OS = X, MIS = Y) <------------------ INIT_ACK (Note) Note value of OS (OS = Y, MIS = X) COOKIE -------------------> <------------------- COOKIE-ACK -----------> Communication Up <--------- Send (Stream id = Y) ----------> Send Failure OS = Outbound Stream MIS = Maximal Inbound Stream TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B. Send INIT message with Maximal Inbound stream parameter less than the Outbound Stream of B. Record the message sequence using a signal emulator. 2. Check A: Either the association is aborted or INIT-ACK is received with Outbound stream parameter equal to the MIS received in INIT. 3. Check B: Range of OS Stream id in endpoint B and MIS stream id in endpoint A is 0 to Y-1. 4. Check C: Was the message sequence as above. Note: Association may be aborted in this case. sachin-Manoj-Sunil, HSS [Page 23] Internet Draft Conformance Test For SCTP May 2000 "Mismatch in the Outbound Stream and Inbound Stream parameters in INIT and INIT-ACK" + TEST NUMBER : 1.7.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.1 + TITLE : Stream parameter mismatch + SUBTITLE: Mismatch in the Outbound Stream and Inbound Stream parameters in INIT and INIT-ACK. + PURPOSE: To verify that if there is a mismatch in the Outbound Stream and Inbound Stream parameters in INIT and INIT-ACK message then either association is aborted or endpoint settle with minimum of the two parameters. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Also let the OS of B is Z. Arrange data in endpoint A such that INIT-ACK message is sent from endpoint A with MIS X (OS = Y, MIS = X) <---------------- COOKIE (Note) COOKIE-ACK ----------------> -----------> Communication Up <---------- Send (Stream id = x-1) <---------------- DATA SACK ----------------> <---------- Send (Stream id = x) ------------> Send Failure OS = Outbound Stream MIS = Maximal Inbound Stream Sachin-Manoj-Sunil, HSS [Page 24] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint B to A. Send INIT-ACK message with Maximal Inbound stream parameter less than the Outbound Stream of B. Record the message sequence using a signal emulator. 2. Check A: Either the association is aborted or COOKIE is received 3. Check B: Range of MIS Stream id in endpoint B is 0 to Y-1. 4. Check C: Was the message sequence as above. Note: Association may be aborted in this case. Sachin-Manoj-Sunil, HSS [Page 25] Internet Draft Conformance Test For SCTP May 2000 "Unrecognized Parameters parameter in INIT-ACK" + TEST NUMBER : 1.8 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.2 + TITLE : Association + SUBTITLE: Unrecognized Parameters parameter in INIT-ACK. + PURPOSE: To verify that if unrecognized TLV parameters are received in INIT message then they are filled in the Unrecognized Parameters parameter of INIT-ACK. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that a datagram with undefined parameter type is sent to endpoint A. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT ------------------> With undefined Parameter Accept INIT message Type optional parameters <------------------ INIT-ACK Note Unrecognized (Unrecognized parameters in Parameters field Unrecognized Parameters field) COOKIE -------------------> <------------------- COOKIE-ACK ------------> Communication Up DATA --------------------> <-------------------- SACK TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B by sending INIT message from A. In the INIT message, send some optional parameters with undefined parameter type. Record the messages using a signal emulator. 2. Check A: INIT message is accepted and an INIT-ACK is sent. 3. Check B: In the INIT-ACK message, Unrecognized Parameters field is filled with undefined parameter received in INIT. 4. Check C: Association is established between endpoint A and B. Note: Unrecognized Parameters parameter is optional in INIT-ACK message and hence its inclusion on receiving unrecognized parameters in INIT is implementation specific. Sachin-Manoj-Sunil, HSS [Page 26] Internet Draft Conformance Test For SCTP May 2000 "IP address in multiple association" + TEST NUMBER : 1.9 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 1.4 + TITLE: Association Startup + SUBTITLE: IP address in multiple association + PURPOSE: To verify that if an INIT message comes for starting association with a (or subset)transport address which is already in association, that INIT message is responded with ABORT message. + PRE-TEST CONDITION: Association is not established between endpoint A and B. Arrange the data in endpoint A such that INIT message is sent for making an association with endpoint B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT --------------------> (IP address = x, y Port = a) <------------------- INIT-ACK COOKIE -------------------> <------------------- COOKIE-ACK -------------> Communication up INIT -------------------> (IP address = x, z Port = b) <------------------ ABORT DATA -------------------> <------------------- SACK TEST DESCRIPTION: 1. Attempt to make an association between endpoint A and endpoint B by sending INIT message from endpoint A. Endpoint B is already in association with endpoint A with IP address x and y. Record the message sequence using a signal emulator. 2. Check A: Association is not established and ABORT message is sent. 3. Check B: Existing association between endpoint A and endpoint B is not disturbed. Sachin-Manoj-Sunil, HSS [Page 27] Internet Draft Conformance Test For SCTP May 2000 "No Transport addresses in INIT messages" + TEST NUMBER : 1.10.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.2 + TITLE : Association Startup + SUBTITLE: No Transport addresses in INIT messages. + PURPOSE: To check the action of the system when INIT message is received containing no IP address. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that no IP addresses are sent in INIT. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT ------------------> (No IP Address) <------------------ INIT_ACK COOKIE -------------------> <------------------- COOKIE-ACK ----------------> Communication Up DATA -------------------> <------------------ SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to B. Send INIT message containing no IP address. Record the message sequence using a signal emulator. 2. Check A: INIT-ACK is sent at the source IP address from which INIT is received. 3. Check B: Other messages from endpoint B are sent at the source IP address from which INIT is received 4. Check C: Association is established between endpoint A and B. Sachin-Manoj-Sunil, HSS [Page 28] Internet Draft Conformance Test For SCTP May 2000 "No Transport addresses in INIT-ACK messages" + TEST NUMBER : 1.10.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.2 + TITLE : Association Startup + SUBTITLE: No Transport addresses in INIT-ACK messages. + PURPOSE: To check the action of the system when INIT-ACK message is received containing no IP address. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that no IP addresses are sent in INIT-ACK. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <---------- Associate <---------------- INIT INIT-ACK -----------------> (No IP Address) <---------------- COOKIE COOKIE-ACK -----------------> --------------> Communication Up DATA -----------------> <---------------- SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint B to A. Send INIT-ACK message containing no IP address. Record the message sequence using a signal emulator. 2. Check A: COOKIE is sent at the source IP address from which INIT-ACK is received. 3. Check B: Other messages from endpoint B are sent at the source IP address from which INIT is received. 4. Check C: Association is established between endpoint A and B. Sachin-Manoj-Sunil, HSS [Page 29] Internet Draft Conformance Test For SCTP May 2000 "Vendor specific extension parameter type in INIT" + TEST NUMBER : 1.11.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause2.2.2 + TITLE : Association + SUBTITLE: Vendor specific extension parameter type in INIT. + PURPOSE: To verify that if vendor specific extension parameters are received in a message then they are properly handled. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that a datagram with vendor specific Extension parameter is sent to endpoint B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT -------------------> Ignore Vendor Specific With Vendor-Specific Extension Parameter Extension Paramete <------------------- INIT_ACK COOKIE --------------------> <-------------------- COOKIE-ACK --------------> Communication Up DATA ---------------------> <-------------------- SACK TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B by sending INIT message from A. In the INIT message, send vendor specific extension parameter. Record the messages using a signal emulator. 2. Check A: Datgram with vendor specific extension parameter is accepted and an INIT-ACK is sent. 3. Check B: Association is established between endpoint A and B. Sachin-Manoj-Sunil, HSS [Page 30] Internet Draft Conformance Test For SCTP May 2000 "Vendor specific extension parameter type in INIT-ACK" + TEST NUMBER : 1.11.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause2.2.2 + TITLE : Association + SUBTITLE: Vendor specific extension parameter type in INIT-ACK. + PURPOSE: To verify that if vendor specific extension parameters are received in a message then they are properly handled. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that a datagram with vendor specific Extension parameter is sent to endpoint B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <------------ Associate <---------------- INIT INIT-ACK -----------------> Ignore Vendor Specific With Vendor-Specific Extension Parameter Extension Parameter <----------------- COOKIE COOKIE-ACK -----------------> -------------> Communication Up DATA ------------------> <----------------- SACK TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint B to A by sending associate primitive from ULP. In the INIT-ACK message sent in response to INIT, send vendor specific extension parameter. Record the messages using a signal emulator. 2. Check A: Datgram with vendor specific extension parameter is accepted and a COOKIE is sent. 3. Check B: Association is established between endpoint A and B. Sachin-Manoj-Sunil, HSS [Page 31] Internet Draft Conformance Test For SCTP May 2000 "One or more Transport addresses in INIT message" + TEST NUMBER : 1.12.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.2 + TITLE : Association Startup + SUBTITLE: One or more Transport addresses in INIT message. + PURPOSE: To verify that if there are one or more transport addresses are received in INIT message then one of these IP address combined with the SCTP source port number is used as the destination transport address. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that one or more IP addresses are sent in INIT message. Endpoint B is IPv6 capable. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT -------------------> (Transport Address = x, y, z, Port = a) <------------------- INIT_ACK COOKIE -------------------> <------------------- COOKIE-ACK ---------------> Communication Up DATA --------------------> (IP = x Port = a) <-------------------- SACK DATA ---------------------> (IP = y Port = a) <-------------------- SACK DATA -------------------> (IP = z Port = a) <------------------ SACK Sachin-Manoj-Sunil, HSS [Page 32] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Send INIT message containing one or more IPv4 addresses. Record the message sequence using a signal emulator. 2. Check A: INIT message is accepted. 3. Check B: INIT-ACK is sent at one of the transport addresses received in INIT. 4. Check C: Other messages from endpoint B are sent at the IP address received in INIT message. 5. Check D: Send DATA from each IP address in endpoint A. Check that they are accepted and responded with SACK. 6. Repeat the above test case when one or more IPv6 addresses are present. 7. Repeat the above test case when both IPv4 and IPv6 addresses are present in INIT. Sachin-Manoj-Sunil, HSS [Page 33] Internet Draft Conformance Test For SCTP May 2000 "One or more Transport addresses in INIT-ACK messages" + TEST NUMBER : 1.12.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.2 + TITLE : Association Startup + SUBTITLE: One or more Transport addresses in INIT-ACK messages. + PURPOSE: To verify that if there are one or more transport addresses are received in INIT-ACK message then one of these IP address combined with the SCTP source port number is used as the destination transport address. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that one or more IP addresses are sent in INIT-ACK messages. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <----------- Associate <--------------- INIT INIT-ACK ----------------> (Transport Address = x, y, z Port =a) <--------------- COOKIE COOKIE-ACK ----------------> --------------> Communication Up DATA ----------------> (IP = x Port = a) <---------------- SACK DATA ----------------> (IP = y Port = a) <---------------- SACK DATA -----------------> (IP = z Port = a) <---------------- SACK Sachin-Manoj-Sunil, HSS [Page 34] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Attempt to make an association from endpoint B to endpoint A. Send INIT-ACK message containing one or more IPv4 addresses. Record the message sequence using a signal emulator. 2. Check A: INIT-ACK message is accepted. 3. Check B: COOKIE is sent at one of the transport addresses received in INIT-ACK. 4. Check C: Other messages from endpoint B are sent at the IP address received in INIT-ACK message. 5. Check D: Send data from each of the IP address. Check that they are accepted and responded with SACK. 6. Repeat the above test case when one or more IPv6 addresses are present. 7. Repeat the above test case when both IPv4 and IPv6 addresses are present in INIT-ACK. Sachin-Manoj-Sunil, HSS [Page 35] Internet Draft Conformance Test For SCTP May 2000 "IP address from where the INIT comes is not included in the IP address field of INIT" + TEST NUMBER : 1.12.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.2 + TITLE : Association Startup + SUBTITLE: IP address from where the INIT comes is not included in the IP address field of INIT + PURPOSE: To verify that if the transport address from where the INIT comes is not included in the IP address field of INIT then further messages which comes from that IP address are responded with ABORT. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that one or more IP addresses are sent in INIT message but that IP address from which the message is coming i.e. which is there in common header, is not included. Let IP address in header of INIT is z. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT -----------------> (IP Address = x, y Port = a) <----------------- INIT_ACK COOKIE -----------------> (IP = x Port = a) <----------------- COOKIE-ACK --------------> Communication Up DATA -----------------> (IP = x Port = a) <---------------- SACK DATA ----------------> (IP = y Port = a) <---------------- SACK DATA -----------------> (IP = z Port = a) <----------------- ABORT Sachin-Manoj-Sunil, HSS [Page 36] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Send INIT message containing one or more addresses but not the IP address from where the message is coming. In the established state send DATA from IP address from where the INIT comes. Record the message sequence using a signal emulator. 2. Check A: INIT message is accepted. 3. Check B: INIT-ACK is sent at one of the transport addresses received in INIT. 4. Check C: Other messages from endpoint B are sent at the IP address received in INIT message. 5. Check D: Send DATA containing IP address from which INIT message was sent. Check that it is discarded and responded with ABORT. 6. Repeat the above test case when other messages like COOKIE, ERROR, SHUTDOWN, SHUTDOWN-ACK, HEARTBEAT, HEARTBEAT-ACK are sent with the IP address in the header from where the INIT message comes. All of these messages will be responded with ABORT. Sachin-Manoj-Sunil, HSS [Page 37] Internet Draft Conformance Test For SCTP May 2000 "IP address from where the INIT-ACK comes is not included in the IP address field of INIT-ACK" + TEST NUMBER : 1.12.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.2 + TITLE : Association Startup + SUBTITLE: IP address from where the INIT-ACK comes is not included in the IP address field of INIT-ACK message. + PURPOSE: To verify that if the transport address from where the INIT-ACK comes is not included in the IP address field of INIT-ACK then further messages which comes from that IP address are responded with ABORT + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that one or more IP addresses are sent in INIT-ACK message but that IP address from which the message is coming i.e. which is there in common header, is not included. Let IP address in header of INIT-ACK is z. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <---------- Associate <--------------- INIT INIT-ACK ----------------> (IP Address = x, y Port = a) <---------------- COOKIE COOKIE-ACK -----------------> --------------> Communication Up DATA -----------------> (IP = x Port = a) <---------------- SACK DATA -----------------> (IP = y Port = a) <----------------- SACK DATA ------------------> (IP = z Port = a) <------------------ ABORT Sachin-Manoj-Sunil, HSS [Page 38] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Send INIT-ACK message containing one or more IP addresses but not the IP address from where the message is coming. Record the message sequence using a signal emulator. 2. Check A: INIT-ACK message is accepted. 3. Check B: COOKIE is sent at one of the transport addresses received in INIT-ACK. 4. Check C: Other messages from endpoint B are sent at the IP address received in INIT-ACK message. 5. Check D: Send DATA containing IP address from which INIT-ACK message was sent. Check that it is discarded and responded with ABORT. 6. Repeat the above test case when other messages like COOKIE-ACK, ERROR, SHUTDOWN, SHUTDOWN-ACK, HEARTBEAT, HEARTBEAT-ACK are sent with the IP address in the header from where the INIT-ACK message comes. All of these messages will be responded with ABORT. Sachin-Manoj-Sunil, HSS [Page 39] Internet Draft Conformance Test For SCTP May 2000 "Generation of ABORT" + TEST NUMBER : 2.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.1 + TITLE : Termination + SUBTITLE : Generation of ABORT + PURPOSE: To check that when ULP send Abort primitive, an ABORT message is sent to the other endpoint and association is aborted. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in endpoint B such that ULP sends Abort primitive. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <----------- Abort (with some error cause) <------------------- ABORT (With error cause) Association is removed TEST DESCRIPTION: 1. Attempt to terminate an association between endpoint A and endpoint B by sending Abort primitive from ULP in endpoint B. Also send the error cause in Abort primitive. Record the message sequence using a signal emulator. 2. Check A: On receiving Abort primitive, ABORT message is sent to the peer with error cause received in Abort primitive. 3. Check B: Association is removed. 4. Repeat the above test case when Abort primitive is received with no error cause. Sachin-Manoj-Sunil, HSS [Page 40] Internet Draft Conformance Test For SCTP May 2000 "Termination of an association by receiving ABORT with no error cause" + TEST NUMBER : 2.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.1 + TITLE : Termination + SUBTITLE : Termination of an association by receiving ABORT with no error cause + PURPOSE: To check that receiving ABORT message with no error cause can terminate an association. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in endpoint A such that an ABORT message is sent to endpoint B containing no error cause in it. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) ABORT --------------------> Association is removed With no error cause -------------> Communication Lost TEST DESCRIPTION: 1. Attempt to terminate an association between endpoint A and endpoint B by sending ABORT message with no error cause. In the ABORT message peer’s verification tag should be filled. Record the message sequence using a signal emulator. 2. Check A: No Acknowledgement is sent for the ABORT message and association is removed. 3. Check B: ULP are reported of the association closure. 4. Repeat the above test case with verification tag value equal to the sender’s Init-Tag. 5. Repeat the above test cases when ABORT message is sent with one or more error causes. Sachin-Manoj-Sunil, HSS [Page 41] Internet Draft Conformance Test For SCTP May 2000 "Termination of an association by receiving Terminate primitive from upper layers" + TEST NUMBER : 2.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Termination + SUBTITLE: Termination of an association by receiving Terminate primitive from upper layers. + PURPOSE: To check that receiving Terminate primitive will cause the endpoint to send a SHUTDOWN message to its peer only when all the outstanding DATA has been acknowledged by A. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in endpoint B such that Terminate primitive is received from upper layers. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <---------- Send <----------------- DATA Don’t send SACK <---------- Send <---------------- DATA Don’t send SACK <---------- Terminate <---------------- DATA(retransmission) <---------------- DATA(retransmission) SACK -----------------> (for all outstanding data at B) <----------------- SHUTDOWN TEST DESCRIPTION: 1. Try to terminate an association between endpoint A and endpoint B by sending Terminate primitive to endpoint B from ULP. Before sending Terminate, send some data to endpoint A and don’t send SACK for them from A. Record the message sequence using a signal emulator. 2. Check A: SHUTDOWN message is sent to endpoint B. 3. Check B: SHUTDOWN is sent only when any data queued up at B has been sent to A and acknowledged by A. Note: There may be one or more DATA and SACK till all the data at the endpoint A is not acknowledged. Sachin-Manoj-Sunil, HSS [Page 42] Internet Draft Conformance Test For SCTP May 2000 "T2-Shutdown timer expires" + TEST NUMBER : 2.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Termination + SUBTITLE: T2-Shutdown timer expires + PURPOSE: To check that after expiry of T2-Shutdown timer, SHUTDOWN message is sent again. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in endpoint A such that no SHUTDOWN-ACK or DATA is sent in response to SHUTDOWN. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <---------- Terminate <---------------- SHUTDOWN | | | T2-Shutdown | Timer | | | | <----------------- SHUTDOWN TEST DESCRIPTION: 1. Try to terminate an association between endpoint A and endpoint B by sending SHUTDOWN message from endpoint B. Don’t send the SHUTDOWN-ACK or any DATAGRAM from the endpoint A. Record the message sequence using a signal emulator. 2. Check A: After expiry of T2-Shutdown timer, SHUTDOWN message is sent again. Sachin-Manoj-Sunil, HSS [Page 43] Internet Draft Conformance Test For SCTP May 2000 "ASSOCIATION.MAX.RETRANS tries exceeds" + TEST NUMBER : 2.5 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Termination + SUBTITLE : ASSOCIATION.MAX.RETRANS tries exceeds + PURPOSE: To verify that if SHUTDOWN is retransmitted for ASSOCIATION.MAX.RETRANS then association is removed. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in Endpoint A such that in response to SHUTDOWN, no SHUTDOWN-ACK or DATA message is sent. Let the ASSOCIATION.MAX.RETRANS is x. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <--------- Terminate <--------------- SHUTDOWN | |T2-Shutdown timer | <--------------- SHUTDOWN | |T2-Shutdown timer | <--------------- SHUTDOWN . Retransmit . SHUTDOWN x . times ASSOCIATION.MAX.RETRANS Counter exceeds. Close the association --------------> Communication Lost TEST DESCRIPTION: 1. Try to terminate the association between endpoint A and B by sending SHUTDOWN message from endpoint B. No SHUTDOWN-ACK or DATA comes from endpoint A. Record the message sequence using a signal emulator. 2. Check A: If SHUTDOWN message is transmitted for ASSOCIATION.MAX. RETRANS times without getting an SHUTDOWN-ACK or Data chunks, association is closed and upper layers are reported of this. Sachin-Manoj-Sunil, HSS [Page 44] Internet Draft Conformance Test For SCTP May 2000 "Receiving SHUTDOWN-ACK message with verification tag set to 0 in response to SHUTDOWN message" + TEST NUMBER : 2.6 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.5.1 (c) + TITLE : Termination + SUBTITLE: Receiving SHUTDOWN-ACK message with verification tag set to 0 in response to SHUTDOWN message. + PURPOSE: To check that SHUTDOWN-ACK message with verification tag 0 is accepted in Shutdown Sent state and association is terminated. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in endpoint A such that SHUTDOWN-ACK with Verification Tag set to 0 is sent in response to SHUTDOWN message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <--------- Terminate <--------------- SHUTDOWN SHUTDOWN-ACK ----------------> Remove the association (Verification Tag = 0) -------------> Communication Lost TEST DESCRIPTION: 1. Try to terminate association between endpoint A and B by sending SHUTDOWN message from endpoint B. Send SHUTDOWN-ACK message with Verification Tag set to 0. Record the message sequence using a signal emulator. 2. Check A: SHUTDOWN-ACK message is accepted 3. Check B: Association is removed and endpoint B enters closed state. Sachin-Manoj-Sunil, HSS [Page 45] Internet Draft Conformance Test For SCTP May 2000 "Data from upper layer in Shutdown sent state" + TEST NUMBER : 2.7.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Termination + SUBTITLE: Data from upper layer in Shutdown sent state + PURPOSE: To verify that data received for transmission from upper layer in Shutdown sent state is rejected. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint B such that upper layers send data to transmit when it is in Shutdown Sent state. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <------------ Terminate <---------------- SHUTDOWN Shutdown sent state <------------ Send -------------> Send Failure SHUTDOWN-ACK ------------------> -------------> Communication Lost TEST DESCRIPTION: 1. Attempt to terminate an association from endpoint B to endpoint A by sending SHUTDOWN. Now send data from ULP in B to transmit. Record the message sequence using a signal emulator. 2. Check A: Data is rejected. 3. Check B: Current state is not disturbed. Sachin-Manoj-Sunil, HSS [Page 46] Internet Draft Conformance Test For SCTP May 2000 "Data from upper layer in Shutdown receive state" + TEST NUMBER : 2.7.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Termination + SUBTITLE: Data from upper layer in Shutdown receive state + PURPOSE: To verify that data received for transmissions from upper layer in Shutdown receive state is rejected. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint B such that upper layers send data to transmit when it is in Shutdown receive state. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <------------ Send <---------------- DATA Don’t send SACK SHUTDOWN -----------------> Shutdown receive state <----------------- DATA <------------ Send --------------> Send Failure SACK ------------------> <----------------- SHUTDOWN-ACK TEST DESCRIPTION: 1. Attempt to terminate an association from endpoint A to endpoint B by sending SHUTDOWN. Now send data from ULP in B to transmit. Record the message sequence using a signal emulator. 2. Check A: Data is rejected. 3. Check B: Current state is not disturbed. 4. Check C: Send the Shutdown message with Cumulative TSN field acknowledging the DATA received from B. In this case DATA will not be retransmitted from endpoint A and SHUTDOWN-ACK will be sent on receiving SHUTDOWN. Sachin-Manoj-Sunil, HSS [Page 47] Internet Draft Conformance Test For SCTP May 2000 "Data from upper layer in Shutdown pending state" + TEST NUMBER : 2.7.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Termination + SUBTITLE: Data from upper layer in Shutdown pending state + PURPOSE: To verify that data received for transmissions from upper layer in Shutdown pending state is rejected. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint B such that upper layers send data to transmit when it is in Shutdown pending state. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <----------- Send <---------------- DATA Don’t send SACK <----------- Terminate SHUTDOWN will not be sent B is in Shutdown pending state <----------- Send -----------> Send Failure SACK ------------------> <----------------- SHUTDOWN SHUTDOWN-ACK -----------------> TEST DESCRIPTION: 1. Attempt to terminate an association from endpoint B to endpoint A by sending Terminate primitive. Also prior to this send DATA from endpoint B and don’t acknowledge it. Endpoint B is in Shutdown pending state. Now send data from ULP to transmit to endpoint A. Record the message sequence using a signal emulator. 2. Check A: Data is rejected. 3. Check B: Current state is not disturbed. Sachin-Manoj-Sunil, HSS [Page 48] Internet Draft Conformance Test For SCTP May 2000 "Data from Peer in Shutdown sent state" + TEST NUMBER : 2.8 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Termination + SUBTITLE : Data chunks received in Shutdown Sent state from peer + PURPOSE: To verify that if data chunks are received in Shutdown Sent state, they are immediately reported by SACK and timer T2-shutdown is restarted. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint A such that after receiving SHUTDOWN message, DATA message is sent to endpoint B. Let the value of T2-Shutdown timer in B is x sec. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <----------- Terminate <--------------- SHUTDOWN DATA ----------------> <---------------- SACK (Restart T2-Shutdown Timer) Don’t send | SHUTDOWN-ACK | time = x sec. | <--------------- SHUTDOWN TEST DESCRIPTION: 1. Try to terminate the association between endpoint A and B by sending SHUTDOWN message from endpoint B. After receiving Shutdown message, send some data chunks from the endpoint A. 2. Check A: Data chunks are responded by SACK immediately. 3. Check B: T2-Shutdown timer is restarted with each SACK sent. Sachin-Manoj-Sunil, HSS [Page 49] Internet Draft Conformance Test For SCTP May 2000 "Data Chunks are received in Shutdown Receive state" + TEST NUMBER : 2.9 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE : Termination + SUBTITLE : Data Chunks are received in Shutdown Receive state + PURPOSE: To verify that data chunks received in Shutdown Receive state are discarded. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint A such that DATA is sent to endpoint B after sending SHUTDOWN message. Also in endpoint B there is outstanding DATA for which SACK has not come from endpoint A. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established ) <----------- Send <----------------- DATA Don’t send SACK SHUTDOWN -----------------> Shutdown Receive State <------------------ DATA (Retransmission) DATA ------------------> Discard the data chunks No SACK No data Delivery to ULP SACK ------------------> <------------------ SHUTDOWN-ACK --------------> Communication Lost TEST DESCRIPTION: 1. Try to terminate an association by sending SHUTDOWN message from endpoint A. After sending the SHUTDOWN message send the DATA chunks. Record the message sequence using an emulator. 2. Check A: Data chunks are ignored in this case. 3. Check B: Endpoint B remains in the Shutdown Receive state. Sachin-Manoj-Sunil, HSS [Page 50] Internet Draft Conformance Test For SCTP May 2000 "Invalid INIT Message with Init_tag Null" + TEST NUMBER : 3.1.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.1 + TITLE : Invalid Message Handling + SUBTITLE: Invalid INIT Message with Init-Tag Null. + PURPOSE: To check the action of the system on reception of invalid INIT message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that INIT message is sent with Init_tag field null. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Closed) (Closed) INIT -------------------> Discard the Message. (Init_Tag = NULL) TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Send INIT message with NULL Init_Tag value. Record the message sequence using a signal emulator. 2. Check A: INIT message is discarded and no other actions are taken. 3. Repeat the above test with value of Verification_Tag Non-Null in INIT message. Sachin-Manoj-Sunil, HSS [Page 51] Internet Draft Conformance Test For SCTP May 2000 "Invalid INIT Message with message length < length of all mandatory parameters" + TEST NUMBER : 3.1.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1 + TITLE : Invalid Message Handling + SUBTITLE: Invalid INIT Message with message length < length of all mandatory parameters + PURPOSE: To check the action of the system on reception of invalid INIT message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that INIT message is sent to endpoint B with message length less than the length of all mandatory parameters. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Closed) (Closed) a) INIT ---------------------> (message length < length of all mandatory parameters) <-------------------- ABORT (With cause of ABORT) b) INIT ---------------------> (OS = 0) <-------------------- ABORT c) INIT ---------------------> (MIS = 0) <-------------------- ABORT d) INIT ---------------------> (a_rwnd = 0) <-------------------- ABORT OS= Outbound Stream MIS= Minimum Inbound Stream Sachin-Manoj-Sunil, HSS [Page 52] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Send INIT message with message length < length of all mandatory parameters. Record the message sequence using a signal emulator. 2. Check A: INIT message is responded with ABORT including cause of Abort. 3. Check B: Verification_Tag field in the common header of Abort is equal to the initiate tag value of peer received in INIT message. 4. Check C: Was the message sequence as above. 5. Repeat the above test with value of Outbound stream NULL in INIT message. It will be responded with ABORT. 6. Repeat the above test with value of Inbound stream NULL in INIT message. It will be responded with ABORT. 7. Repeat the above test with value of a_rwnd NULL in INIT message. It will be responded with ABORT. Sachin-Manoj-Sunil, HSS [Page 53] Internet Draft Conformance Test For SCTP May 2000 "Invalid INIT-ACK Message with Init-Tag NULL" + TEST NUMBER : 3.2.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.2 + TITLE : Invalid Message Handling + SUBTITLE: Invalid INIT-ACK Message with Init-Tag NULL. + PURPOSE: To check the action of the system on reception of invalid INIT-ACK message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that INIT-ACK with Init_Tag filed NULL is sent in response to INIT message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <---------- Associate <------------------ INIT Start T1-Init timer INIT-ACK -------------------> (Init_Tag = NULL) Discard the Message T1-Init Timer expires <------------------ INIT TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint B to A. Send INIT-ACK message with NULL Init_Tag value in response to INIT message. Record the message sequence using a signal emulator. 2. Check A: INIT-ACK message is discarded and no other actions are taken. 3. Check B: Was the message sequence as above. 4. Check C: After T1-Init timer expires, INIT message is sent again. Sachin-Manoj-Sunil, HSS [Page 54] Internet Draft Conformance Test For SCTP May 2000 "INIT-ACK Message with mandatory parameter missing" + TEST NUMBER : 3.2.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1 + TITLE : Invalid Message handling + SUBTITLE: INIT-ACK Message with mandatory parameter missing + PURPOSE: To check the action of the system on reception of invalid INIT-ACK message. + PRE-TEST CONDITIONS: Association is not established between endpoint and B. Arrange the data in endpoint A such that INIT-ACK with message length less than length of mandatory parameters is sent to B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <----------- Associate <----------------- INIT a) INIT-ACK -----------------> (message length < length of all mandatory parameters) <---------------- ABORT(with cause of abort) b) INIT-ACK -----------------> (OS= 0) <---------------- ABORT c) INIT-ACK -----------------> (MIS= 0) <---------------- ABORT d) INIT-ACK -----------------> (a_rwnd= 0) <---------------- ABORT TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint B to A. Send INIT-ACK message, in response to INIT message, with message length less than length of all mandatory parameters. Record the message sequence using a signal emulator. 2. Check A: INIT-ACK is responded with ABORT including cause of abort. 3. Check B: Verification_Tag field in the common header of ABORT is equal to the initiate tag value of peer received in INIT-ACK. 4. Repeat the above test with value of Outbound stream NULL in INIT-ACK message. ABORT message will be sent in response to INIT-ACK. 5. Repeat the above test with value of Inbound stream NULL in INIT-ACK message. ABORT message will be sent in response to INIT-ACK. 6. Repeat the above test with value of a_rwnd NULL in INIT-ACK message. ABORT message will be sent in response to INIT-ACK. Sachin-Manoj-Sunil, HSS [Page 55] Internet Draft Conformance Test For SCTP May 2000 "Invalid Verification Tag field in a message" + TEST NUMBER : 3.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.5 + TITLE : Invalid Message Handling + SUBTITLE: Invalid Verification Tag field in a message + PURPOSE: To check the action of the system on reception of invalid verification tag in a message. + PRE-TEST CONDITIONS: Association is not established between endpoint A an B. Arrange the data in endpoint A such that COOKIE message with a different verification tag (Different from what received in INIT-ACK) is sent in response to INIT-ACK. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (closed) a) INIT --------------------> <-------------------- INIT_ACK COOKIE --------------------> Discard the message (With verification tag different from Init tag received in INIT-ACK) b) <----------- Associate <------------------ INIT (Start T1-Init timer) INIT-ACK ------------------> Discard the message (With verification tag different from received in INIT-ACK) T1-Init timer expires <------------------ INIT c) <----------- Associate <------------------ INIT INIT-ACK ------------------> <------------------ COOKIE (Start T1-Init timer) COOKIE-ACK ------------------> Discard the message (With verification tag | different from received |T1-Init timer expires in INIT-ACK) | <------------------ COOKIE Sachin-Manoj-Sunil, HSS [Page 56] Internet Draft Conformance Test For SCTP May 2000 For the following cases it is assumed that association exists between endpoint A and B. Endpoint A Endpoint B ULP (Established) (Established) d) DATA --------------------> Discard the message (With verification tag SACK is not sent different from received in INIT-ACK) e) <----------- Send <------------------- DATA (Start T3-rxt timer) SACK --------------------> Discard the message (With verification tag different from received in INIT-ACK) T3-rxt timer expires <------------------- DATA f) HEARTBEAT -------------------> Discard the message (With verification tag HEARTBEAT-ACK is not sent different from received in INIT-ACK) g) <-------- Request Heartbeat <---------------- HEARTBEAT HEARTBEAT-ACK -----------------> Discard the message (With verification tag different from received Retrans.Count counter in INIT-ACK) is not reset TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B. Send COOKIE message (in response to INIT-ACK) with verification tag value different from received in INIT-ACK. Record the message sequence using a signal emulator. 2. Check A: COOKIE message is discarded. 3. Check B: Was the message sequence as above. 4. Repeat the test with INIT-ACK, COOKIE-ACK, DATA, HEARTBEAT, HEARTBEAT-ACK, SACK, ERROR chunks. Note: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 57] Internet Draft Conformance Test For SCTP May 2000 "Invalid Adler-32 Checksum in SCTP datagram" + TEST NUMBER : 3.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 5.8 + TITLE : Invalid Message Handling + SUBTITLE: Invalid Adler-32 Checksum in SCTP datagram. + PURPOSE: To check the action of the system on reception of invalid message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange data in endpoint A such that it sends INIT message to endpoint B with wrong Adler-32 checksum. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) a) INIT --------------------> Discard the message (Wrong Adler-32 checksum) b) <---------- Associate <------------------- INIT (Start T1-Init timer) INIT-ACK --------------------> Discard the message (Wrong Adler-32 Checksum) T1-Init timer expires <------------------- INIT c) INIT --------------------> <------------------- INIT-ACK COOKIE --------------------> Discard the message (Wrong Adler-32 Checksum) d) <---------- Associate <------------------- INIT INIT-ACK --------------------> <-------------------- COOKIE (Start T1-Init timer) COOKIE-ACK --------------------> Discard the message (Wrong Adler-32 Checksum) T1-Init timer expires <-------------------- COOKIE Sachin-Manoj-Sunil, HSS [Page 58] Internet Draft Conformance Test For SCTP May 2000 e) INIT --------------------> <------------------- INIT-ACK COOKIE --------------------> <------------------- COOKIE-ACK DATA --------------------> Discard the DATA (Wrong Adler-32 Checksum) SACK is not sent f) INIT --------------------> <------------------- INIT-ACK COOKIE --------------------> <------------------- COOKIE-ACK <------------ Send <------------------- DATA (Start T3-rxt timer) SACK --------------------> Discard SACK (Wrong Adler-32 Checksum) T3-rxt timer expires <------------------- DATA For the following cases, precondition is that endpoint A and B are having an association between them Endpoint A Endpoint B ULP (Established) (Established) g) HEARTBEAT --------------------> Discard HEARBEAT (Wrong Adler-32 Checksum) HEARTBEAT-ACK is not sent h) <-------- Heartbeat <------------------ HEARTBEAT Request HEARTBEAT-ACK -------------------> HEATBEAT-ACK is discarded (Wrong Adler-32 Checksum) Retrans.Count counter is not reset i) SHUTDOWN --------------------> Discard the message (Wrong Adler-32 Checksum) <---------- Send <------------------- DATA Sachin-Manoj-Sunil, HSS [Page 59] Internet Draft Conformance Test For SCTP May 2000 j) <--------- Terminate <------------------- SHUTDOWN (T2-Shutdown timer starts) SHUTDOWN-ACK -------------------> Discard the message (Wrong Adler-32 Checksum) T2-Shutdown timer expires <------------------- SHUTDOWN k) ABORT -------------------> Discard the message (Wrong Adler-32 Checksum) <---------- Send <------------------- DATA TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B. Send INIT message with wrong Adler-32 checksum. Record the message sequence using a signal emulator. 2. Check A: INIT message is discarded and no other actions are taken. 3. Check B: Was the message sequence as above. 4. Repeat the test if other messages like INIT-ACK, COOKIE, COOKIE-ACK, SHUTDOWN, SHUTDOWN-ACK, ERROR, ABORT, SACK, HEARTBEAT, HEARTBEAT-ACK and DATA message are received with wrong Adler-32 checksum. Note: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 60] Internet Draft Conformance Test For SCTP May 2000 "Invalid COOKIE message with wrong MD5 signature" + TEST NUMBER : 3.5 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.5 + TITLE : Invalid Message Handling + SUBTITLE: Invalid COOKIE message. + PURPOSE: To check the action of the system on reception of invalid COOKIE message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that COOKIE message is sent with MD5 signature different from received cookie in INIT-ACK. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Closed) (Closed) INIT ----------------------> <--------------------- INIT_ACK (With Cookie) COOKIE ----------------------> Discard the message (wrong MD5 signature) COOKIE-ACK will not be sent TEST DESCRIPTION: 1. Try to initiate an association from endpoint A to B. Send COOKIE message containing different MD5 signature from the one received in INIT-ACK. Record the message sequence using a signal emulator. 2. Check A: COOKIE message is discarded 3. Check B: Association remains in closed state. 4. Check C: COOKIE-ACK will not be sent from endpoint B. Sachin-Manoj-Sunil, HSS [Page 61] Internet Draft Conformance Test For SCTP May 2000 "Invalid COOKIE message with life time expired" + TEST NUMBER : 3.6 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.1.5 + TITLE : Invalid Message Handling + SUBTITLE: Invalid COOKIE message + PURPOSE: To check the action of the system on reception of invalid COOKIE message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that COOKIE message is sent after life time of the received cookie in INIT-ACK message has expired. Also let the life time of COOKIE sent by B is x sec. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Closed) (Closed) INIT ----------------------> | | <--------------------- INIT_ACK |Time > x sec (With Cookie life time x sec.) | COOKIE ----------------------> Discard the message (sent after x sec of receiving INIT-ACK) <--------------------- OPERATIONAL ERROR (Cause= Stale Cookie Error) TEST DESCRIPTION: 1. Attempt to initiate an association between endpoint A and B. Send COOKIE message after the life time received in INIT-ACK has expired. Record the message sequence using a signal emulator. 2. Check A: COOKIE message is discarded and ERROR message with cause Stale Cookie Error is sent. 3. Check B: In the ERROR message, Measure of staleness is either set to 0 or to the time past the cookie has expired. 4. Check C: Association remains in closed state. Sachin-Manoj-Sunil, HSS [Page 62] Internet Draft Conformance Test For SCTP May 2000 "Invalid ABORT message" + TEST NUMBER : 3.7 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.5.1 (b) + TITLE : Invalid Message Handling + SUBTITLE: Invalid ABORT message. + PURPOSE: To check the action of the system on reception of invalid ABORT message. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in endpoint A such that ABORT message is sent to endpoint B with incorrect verification tag. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) ABORT --------------------> Message is discarded (Incorrect Verification Tag) <---------- Send <------------------- DATA TEST DESCRIPTION: 1. Try to terminate an association between endpoint A and endpoint B by sending ABORT message. In the ABORT message verification tag value should match neither its own Init-Tag nor of its peer. Record the message sequence using a signal emulator. 2. Check A: ABORT message is discarded and no actions are taken. Sachin-Manoj-Sunil, HSS [Page 63] Internet Draft Conformance Test For SCTP May 2000 "Chunk length greater than packet length" + TEST NUMBER : 3.8 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE : Invalid Message Handling + SUBTITLE: Chunk length greater than packet length + PURPOSE: To verify that if the packet length received is smaller than the Chunk length defined then that packet is discarded. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that chunk length is greater than the length of the message being sent to other endpoint. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Closed) (Closed) INIT ----------------------> Discard the message (Chunk Length > packet length) TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Send INIT message with chunk length greater than packet length. Record the message sequence using a signal emulator. 2. Check A: INIT message is discarded. 3. Repeat the above test cases with other messages like INIT-ACK, SACK, COOKIE, COOKIE-ACK, SHUTDOWN, SHUTDOWN-ACK, HEARTBEAT,HEARTBEAT-ACK, ABORT, DATA and ERROR. Sachin-Manoj-Sunil, HSS [Page 64] Internet Draft Conformance Test For SCTP May 2000 "Invalid SHUTDOWN-ACK message" + TEST NUMBER : 3.9 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt 7.5.1 (c) + TITLE : Invalid Message Handling + SUBTITLE: Invalid SHUTDOWN-ACK message + PURPOSE: To check the action of the system on reception of invalid SHUTDOWN-ACK message. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint A such that SHUTDOWN-ACK message with invalid verification tag is sent to endpoint B in Shutdown Sent state. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <---------- Terminate <---------------- SHUTDOWN SHUTDOWN-ACK -----------------> Ignore the message (Invalid) DATA -----------------> <---------------- SACK TEST DESCRIPTION: 1. Try to send SHUTDOWN-ACK message from endpoint B with verification tag neither 0 not of its peer while the other end is in Shutdown Sent state. Record the message sequence using an emulator. 2. Check A: SHUTDOWN-ACK message is ignored. 3. Check B: Current state of endpoint B is not disturbed. Sachin-Manoj-Sunil, HSS [Page 65] Internet Draft Conformance Test For SCTP May 2000 "INIT Collision" + TEST NUMBER : 4.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.1 + TITLE : Duplicate Message + SUBTITLE : INIT Collision + PURPOSE: To check the action of the system on reception of duplicate INIT message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A and endpoint B such that INIT message is sent from both ends simultaneously. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <---------- Associate <------------------- INIT (Start T1-Init Timer) INIT ------------------> <------------------- INIT-ACK INIT-ACK -------------------> (Note) <------------------- COOKIE COOKIE-ACK -------------------> ------------> Communication up TEST DESCRIPTION: 1. Attempt to make an association between endpoint B and A from both ends i.e. INIT message is sent from both ends. Record the message sequence using a signal emulator. 2. Check A: Both ends send INIT-ACK message in response to INIT message 3. Check B: In the INIT-ACK message, Verification Tag field of common header is set to the tag value received from the INIT and Initiate Tag set to its own value (same tag used by it while sending INIT. 4. Check C: Is the message sequence as above? 5. Check D: T1-Init timer is left running after sending INIT-ACK message in response to duplicate INIT and endpoint will remain in the Cookie_Wait state. 6. Repeat the test case if INIT is sent by endpoint A after sending the INIT-ACK message. 7. Repeat the above test case if INIT is sent by endpoint A after receiving COOKIE from the other end. Note: Any endpoint can send the INIT-ACK before the other or they may send it simultaneously. Sachin-Manoj-Sunil, HSS [Page 66] Internet Draft Conformance Test For SCTP May 2000 "Duplicate INIT Message in Established state" + TEST NUMBER : 4.2.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.2 + TITLE : Duplicate Message + SUBTITLE: Duplicate INIT Message in established state + PURPOSE: To check the action of the system on reception of duplicate INIT message. + PRE-TEST CONDITIONS: Arrange the data in Endpoint A such that an INIT message is sent to Endpoint B when association is established between endpoint A and endpoint B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Established) (Established) INIT ----------------------> Note Init-Tag and<--------------------- INIT_ACK Verification Tag DATA ----------------------> <--------------------- SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B when both endpoints have an association between them. Record the message sequence using a signal emulator. 2. Check A: INIT-ACK message is sent in response to INIT message. 3. Check B: In the INIT-ACK message, verification tag field is set to the peer’s new tag value received in the duplicate INIT message. 4. Check C: In the INIT-ACK message, Init Tag is equal to the Init Tag in the existing association. 5. Check D: Cookie, sent in the INIT-ACK message, is the newly generated Cookie with the information in the duplicate INIT message. 6. Check E: After sending INIT-ACK message, no other action is taken i.e. existing association is not disturbed. Sachin-Manoj-Sunil, HSS [Page 67] Internet Draft Conformance Test For SCTP May 2000 "Duplicate INIT message in Shutdown sent state" + TEST NUMBER : 4.2.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Duplicate Message + SUBTITLE : Duplicate INIT message in Shutdown sent state + PURPOSE: To check the action of the system on reception of duplicate INIT message in Shutdown Sent state + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in Endpoint A such that after receiving SHUTDOWN message, INIT message is sent to endpoint B. Let the T2-Shutdown timer at endpoint B is x sec. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <---------- Terminate <--------------- SHUTDOWN (Start T2-Shutdown timer) INIT ---------------> Discard INIT message <-------------- SHUTDOWN (Restart T2-Shutdown Timer) Don’t send SHUTDOWN-ACK | | |x sec. | <-------------- SHUTDOWN TEST DESCRIPTION: 1. Try to terminate the association between endpoint A and B by sending SHUTDOWN message from endpoint B. After Receiving Shutdown message, send INIT message from the endpoint. 2. Check A: INIT message is discarded and SHUTDOWN message is transmitted again. 3. Check B: T2-Shutdown Timer is restarted after sending SHUTDOWN again Sachin-Manoj-Sunil, HSS [Page 68] Internet Draft Conformance Test For SCTP May 2000 "Duplicate INIT-ACK in Cookie Sent state" + TEST NUMBER : 4.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.3 + TITLE : Duplicate Message + SUBTITLE : Duplicate INIT-ACK in Cookie-Sent state + PURPOSE: To check the action of the system on reception of duplicate INIT-ACK message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that INIT-ACK message is sent to endpoint B after receiving COOKIE message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <--------- Associate <------------- INIT INIT_ACK -------------> <------------- COOKIE INIT-ACK -------------> Discard INIT-ACK COOKIE-ACK -------------> -------------> Communication up DATA -------------> <------------ SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint B to endpoint A. Send INIT-ACK message after receiving COOKIE message. Record the message sequence using a signal emulator. 2. Check A: INIT-ACK message received in Cookie-Sent state is discarded 3. Check B: Current state is not disturbed and an association can be completed between A and B. 4. Check C: Was the message sequence as above. 5. Repeat the above test case when INIT-ACK is received in other states like Closed, Established, Shutdown Sent and Shutdown Receive. In all the cases INIT-ACK should be ignored. Sachin-Manoj-Sunil, HSS [Page 69] Internet Draft Conformance Test For SCTP May 2000 "Duplicate COOKIE-ACK in established state" + TEST NUMBER : 4.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.5 + TITLE : Duplicate message + SUBTITLE : Duplicate COOKIE-ACK in established state + PURPOSE: To check the action of the system on reception of duplicate COOKIE-ACK message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that COOKIE-ACK message is sent to endpoint B after association is established between endpoint A and endpoint B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <--------- Associate <------------- INIT INIT_ACK -------------> <------------- COOKIE COOKIE-ACK -------------> -------------> Communication up COOKIE-ACK -------------> Discard COOKIE-ACK DATA -------------> <------------ SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to endpoint B. Send COOKIE-ACK message after establishing an association between them. Record the message sequence using a signal emulator. 2. Check A: COOKIE-ACK message received in Established state is discarded without affecting current association. 3. Check B: Was the message sequence as above. 4. Check C: Current association is not disturbed. 5. Repeat the above test case for other states like Closed,Cookie_Wait, etc. COOKIE-ACK will be discarded in all cases. 6. Repeat these test cases with ERROR message with cause Stale Cookie Error instead of COOKIE-ACK message. This will also be discarded. Sachin-Manoj-Sunil, HSS [Page 70] Internet Draft Conformance Test For SCTP May 2000 "SHUTDOWN Collision" + TEST NUMBER : 4.5 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Duplicate Message + SUBTITLE : SHUTDOWN Collision + PURPOSE: To check the action of the system on reception of SHUTDOWN message from both ends simultaneously. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint A such that SHUTDOWN message is sent after receiving SHUTDOWN message from the other end. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <---------- Terminate <------------ SHUTDOWN (Start T2-Shutdown timer) SHUTDOWN ------------> <------------ SHUTDOWN-ACK (Stop T2-Shutdown Timer) ------------> Communication Down TEST DESCRIPTION: 1. Try to terminate the association between endpoint A and B by sending SHUTDOWN message.Also send SHUTDOWN message from the other endpoint. 2. Check A: SHUTDOWN message is responded with SHUTDOWN-ACK 3. Check B: T2-Shutdown timer is stopped. Sachin-Manoj-Sunil, HSS [Page 71] Internet Draft Conformance Test For SCTP May 2000 "Duplicate SHUTDOWN message in Cookie Wait state" + TEST NUMBER : 4.6.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Duplicate Message + SUBTITLE : Duplicate SHUTDOWN message in Cookie Wait state + PURPOSE: To check the action of the system on reception of duplicate SHUTDOWN message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that SHUTDOWN message is sent to endpoint B after receiving INIT message from it. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <--------- Associate <------------- INIT (Start T1-Init timer) SHUTDOWN --------------> <------------- SHUTDOWN-ACK Note Verification Tag (Verification_Tag = 0) T1-Init timer expires <------------- INIT TEST DESCRIPTION: 1. Try to create an association between endpoint A and B by sending INIT message. Send SHUTDOWN message from the other endpoint. Record the message sequence using an emulator. 2. Check A: SHUTDOWN message is responded by SHUTDOWN-ACK message 3. Check B: Verification tag field in SHUTDOWN-ACK is set to 0. 4. Check B: After expiry of T1-Init timer INIT message is transmitted again. 5. Repeat the above test case when SHUTDOWN is received in other states like Cookie_Sent state. Response will be the same as in the above case. Sachin-Manoj-Sunil, HSS [Page 72] Internet Draft Conformance Test For SCTP May 2000 "Duplicate SHUTDOWN message in closed state" + TEST NUMBER : 4.6.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE : Duplicate Message + SUBTITLE : Duplicate SHUTDOWN message in Closed state + PURPOSE: To check the action of the system on reception of duplicate SHUTDOWN message in closed state. + PRE-TEST CONDITIONS: Arrange the data in endpoint A such that SHUTDOWN message is sent to endpoint B which is in closed state. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Closed) SHUTDOWN -----------------> Note Verification <---------------- SHUTDOWN-ACK Tag (Verification_Tag = 0) TEST DESCRIPTION: 1. Try to send SHUTDOWN message from one endpoint while the other end is in closed state. Record the message sequence using an emulator. 2. Check A: SHUTDOWN message is responded by SHUTDOWN-ACK message. 3. Check B: Verification tag field in SHUTDOWN-ACK is set to 0. Sachin-Manoj-Sunil, HSS [Page 73] Internet Draft Conformance Test For SCTP May 2000 "Duplicate SHUTDOWN message in Shutdown Receive state" + TEST NUMBER : 4.6.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE : Duplicate Message + SUBTITLE : Duplicate SHUTDOWN message in Shutdown Receive state + PURPOSE: To check the action of the system on reception of duplicate SHUTDOWN message in Shutdown receive state. + PRE-TEST CONDITIONS: Arrange the data in endpoint A such that SHUTDOWN message is sent to endpoint B which is in established state. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <---------- Send <-------------- DATA SHUTDOWN ---------------> <-------------- DATA(retransmission) SHUTDOWN ---------------> Ignore SHUTDOWN SACK ---------------> <--------------- SHUTDOWN-ACK ---------------> Communication Lost TEST DESCRIPTION: 1. Try to terminate the association between endpoint A and B by sending SHUTDOEN message. While endpoint B is in Shutdown receive state, send another SHUTDOWN from endpoint A. Record the message sequence using an emulator. 2. Check A: SHUTDOWN message is ignored. 3. Check B: Current state of endpoint B is not disturbed. Sachin-Manoj-Sunil, HSS [Page 74] Internet Draft Conformance Test For SCTP May 2000 "SHUTDOWN-ACK in Cookie_Wait state" + TEST NUMBER : 4.7 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt 7.5.1 (c) + TITLE : Duplicate Message + SUBTITLE: SHUTDOWN-ACK in Cookie_Wait state. + PURPOSE: To check the action of the system on reception of duplicate SHUTDOWN-ACK message. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arranged the data in Endpoint A such that SHUTDOWN-ACK message is sent to endpoint B after receiving INIT message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <---------- Associate <----------------- INIT (Cookie_Wait State) SHUTDOWN-ACK -----------------> Ignore SHUTDOWN-ACK Message INIT-ACK -----------------> <----------------- COOKIE COOKIE-ACK ------------------> ---------------> Communication Up DATA ------------------> <----------------- SACK TEST DESCRIPTION: 1. Try to send SHUTDOWN-ACK message with correct verification tag from one endpoint while the other end is in Cookie_Wait state. Record the message sequence using an emulator. 2. Check A: SHUTDOWN-ACK message is ignored message. 3. Check B: Current state of endpoint A is not disturbed.. 4. Repeat the test case when endpoint is in other state like Established, Cookie_Sent and Closed. Sachin-Manoj-Sunil, HSS [Page 75] Internet Draft Conformance Test For SCTP May 2000 "Duplicate Cookie Message with invalid MD5 signature" + TEST NUMBER : 4.8.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.4 + TITLE : Duplicate Cookie Message + SUBTITLE : Duplicate Cookie Message with invalid MD5 signature + PURPOSE: To check the action of the system on reception of duplicate COOKIE with invalid MD5 signature in established state. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint A such that COOKIE message with invalid MD5 signature is sent to B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Established) (Established) COOKIE -----------------> Discard the COOKIE (Invalid MD5 Signature) DATA -----------------> <---------------- SACK TEST DESCRIPTION: 1. Try to send a COOKIE message with invalid MD5 signature in the Established state from endpoint A to B. Record the message sequence using a signal emulator. 2. Check A: COOKIE message is discarded. 3. Check B: Existing association is not disturbed. Sachin-Manoj-Sunil, HSS [Page 76] Internet Draft Conformance Test For SCTP May 2000 "Duplicate Cookie Message with valid MD5 signature but expired life time" + TEST NUMBER : 4.8.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.4 + TITLE : Duplicate Cookie Message + SUBTITLE : Duplicate Cookie Message with valid MD5 signature but expired life time + PURPOSE: To check the action of the system on reception of duplicate COOKIE with expired life time. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Let the life time of cookie sent by B is x sec. Arrange the data in endpoint A such that COOKIE message with expired lifetime is sent to B after establishing an association with a valid COOKIE. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) INIT ------------------> <----------------- INIT-ACK (Cookie life time = x sec.) COOKIE -----------------> <----------------- COOKIE-ACK ---------------> Communication Up COOKIE ------------------> (send after x sec of Discard the COOKIE receiving INIT-ACK) DATA ------------------> <----------------- SACK TEST DESCRIPTION: 1. Try to send a COOKIE message with expired life time in the Established state from endpoint A to B. Record the message sequence using a signal emulator. 2. Check A: COOKIE message is discarded 3. Check C: Existing association is not disturbed. Sachin-Manoj-Sunil, HSS [Page 77] Internet Draft Conformance Test For SCTP May 2000 "Duplicate valid Cookie Message" + TEST NUMBER : 4.8.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.4 + TITLE : Duplicate Cookie Message + SUBTITLE : Duplicate valid Cookie Message + PURPOSE: To check the action of the system on reception of duplicate valid COOKIE. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint A such that valid COOKIE message is sent to B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Established) (Established) COOKIE -------------------> (valid) <------------------- COOKIE-ACK DATA --------------------> <------------------- SACK TEST DESCRIPTION: 1. Try to send a valid COOKIE message in the Established state from endpoint A to B. Record the message sequence using a signal emulator. 2. Check A: COOKIE-ACK message is sent in response to COOKIE message. 3. Check B: Existing association is not disturbed. This case is implementation specific. Endpoint B may also restart the association by notifying ULP and resetting all its data structures for the current association. Note: Valid COOKIE means that it is having correct MD5 signature, verification tags matches the tags in the current association and life time not expired. Sachin-Manoj-Sunil, HSS [Page 78] Internet Draft Conformance Test For SCTP May 2000 "Total number of consecutive retransmission exceeds Association.Max.Retrans" + TEST NUMBER : 5.1.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.2 + TITLE : Fault Handling + SUBTITLE: Total number of consecutive retransmission exceeds Association.Max.Retrans + PURPOSE: To check that when total number of consecutive retransmission to a peer exceeds the Association.Max.Retrans, the destination transport address is marked unreachable and association is closed. + PRE-TEST CONDITION: Association is established between endpoint A and B. The IP addresses of A in association with B are x, y and z. The Association. Max.Retrans counter for endpoint B is X. Arrange the data in endpoint A such that no SACK is sent in response to DATA received from endpoint B. Let the counter name which keeps track of total retransmission is P. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <------------ Send <------------- DATA (IP = x) Don’t send SACK | |T3-rxt expires | <------------- DATA (IP = x) Don’t send SACK | Increment P | |T3-rxt expires <------------- DATA (IP =x) Increment P . . . Retrans.Count exceeds Path.Max.Retrans <-------------- DATA (IP = y) Don’t send SACK | Increment P | T3-rxt expires <-------------- DATA (IP = y) Don’t send SACK Increment P P has exceeded X Association is closed ------------> Communication Lost Sachin-Manoj-Sunil, HSS [Page 79] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. From an endpoint in established state,send DATA to another endpoint. Don’t send the SACK from another endpoint and let the T3-rxt timer expire. Retrans.Count counter will be incremented. DATA will be retransmitted to the same IP address until Retrans.Count counter exceeds Path.Max.Retrans. After that data will be retransmitted to IP address y. Record the message sequence using a signal emulator. 2. Check A: When the total retransmission to endpoint X exceeds Association. Max.Retrans then that endpoint is marked unreachable. 3. Check B: ULP are also reported of failure. Note: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 80] Internet Draft Conformance Test For SCTP May 2000 "The counter counting total number of retransmission to an endpoint is reset on receiving a SACK" + TEST NUMBER : 5.1.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.2 + TITLE : Fault Handling + SUBTITLE: The counter counting total number of retransmission to endpoint is reset on receiving SACK. + PURPOSE: To check that when SACK comes from other endpoint for a DATA which was being retransmitted then the counter which counts the total retransmission to an endpoint is reset. + PRE-TEST CONDITION: Association is established between endpoint A and B. The Association.Max.Retrans counter for endpoint B is X. Arrange the data in endpoint A such that SACK is sent in response to DATA received from endpoint B only when the DATA has been retransmitted for two to three times. Let the counter name which keeps track of total retransmission is P. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <----------- Send <-------------- DATA Don’t send SACK | | T3-rxt expires <-------------- DATA (Increment counter P) Don’t send SACK | | T3-rxt expires <-------------- DATA (Increment counter P) SACK --------------> Reset counter P <------------ Send <-------------- DATA Don’t send SACK | | T3-rxt expires | <-------------- DATA (Increment counter P) Don’t send SACK | | T3-rxt expires | <-------------- DATA (Increment counter P) Don’t send SACK . . . P exceeds X Endpoint A is marked unreachable --------------> Communication Lost Sachin-Manoj-Sunil, HSS [Page 81] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. From an endpoint in established state, send DATA to another endpoint. Don’t send the SACK from another endpoint and let the T3-rxt timer expire. Retrans.Count counter will be incremented. DATA will be retransmitted and counter counting total number of retransmission to same IP address will be incremented. Send SACK. Record the message sequence using a signal emulator. 2. Check A: The counter counting the total number of retransmission to endpoint A is reset on receiving SACK. Note: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 82] Internet Draft Conformance Test For SCTP May 2000 "Retrans.Count counter exceeds the Path.Max.Retrans" + TEST NUMBER : 5.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.2 + TITLE : Fault Handling + SUBTITLE: Retrans.Count counter exceeds the Path.Max.Retrans. + PURPOSE: To check that when Retrans.Count counter exceeds the Path.Max.Retrans, the destination transport address is marked inactive. + PRE-TEST CONDITION: Association is established between endpoint A and B. The IP addresses of A in association with B are x and y and port is a. Arrange the data in endpoint A such that no SACK is sent in response to DATA received from endpoint B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <----------- Send <------------- DATA (IP = x port = a) Don’t send SACK | |T3-rxt expires | Increment Retrans.Count <------------- DATA (IP = x port = a) Don’t send SACK | |T3-rxt expires | Increment Retrans.Count . . . Retrans.Count exceeds Path.Max.Retrans -------------> Network Status Change TEST DESCRIPTION: 1. From endpoint in established state, send DATA to another endpoint. Don’t send the SACK from another endpoint and let the T3-rxt timer expire. Retrans.Count counter will be incremented. Again send DATA till Retrans.Count counter exceeds Path.Max.Retrans. Record the message sequence using a signal emulator. 2. Check A: Endpoint B transport address is marked inactive. 3. Check B: DATA chunks are sent on alternate transport address if one is available. However this is implementation specific. Note: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 83] Internet Draft Conformance Test For SCTP May 2000 "Retrans.Count counter is reset on receiving HEARTBEAT-ACK or SACK" + TEST NUMBER : 5.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.2 + TITLE : Fault Handling + SUBTITLE: Retrans.Count counter is reset on receiving HEARTBEAT-ACK or SACK. + PURPOSE: To check when HEARTBEAT-ACK or SACK for an outstanding TSN is received from a destination transport address then Retrans.Count counter corresponding to that destination address is reset. + PRE-TEST CONDITION: Association is established between endpoint A (with IP address y and z and port c) and B. Let the Path.Max.Retrans counter of endpoint B is x. Arrange the data in endpoint A such that SACK is sent after DATA is received in a retransmission. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <----------- Send <------------- DATA (IP = y port = a) (IP = y) Don’t send SACK | |T3-rxt expires | Increment Retrans.Count <------------- DATA (IP = y port = a) Don’t send SACK | |T3-rxt expires | Increment Retrans.Count <------------- DATA (IP = y port = a) SACK --------------> Retrans.Count counter is reset <------------- Send <------------- DATA (IP = y port = a) T3-rxt timer expires <------------- DATA (IP = y port = a) T3-Rxt timer expires . . DATA is retransmitted x times IP address y is marked inactive --------------> Network Status change Sachin-Manoj-Sunil, HSS [Page 84] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. From endpoint in established state, send DATA to another endpoint. Don’t send the SACK from another endpoint and let the T3-rxt timer expire. Retrans.Count counter will be incremented. Again send DATA and let the T3-rxt timer expire again. Now send SACK from another endpoint for the DATA received. Record the message sequence using a signal emulator. 2. Check A: Retrans.Count counter is reset on receiving SACK. 3. Check B: Is the message sequence as above. 4. Repeat the above test case when HEARTBEAT-ACK message comes in place of SACK. Note: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 85] Internet Draft Conformance Test For SCTP May 2000 "Retrans.Count counter is not reset on receiving SACK for an outstanding TSN, which was sent on an alternate transport address" + TEST NUMBER : 5.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.2 + TITLE : Fault Handling + SUBTITLE: Retrans.Count counter is not reset on receiving SACK for an outstanding TSN, which was sent on an alternate transport address. + PURPOSE: To check that when SACK for an outstanding TSN sent on an alternate address is received, then Retrans.Count counter corresponding to that destination address is not reset. + PRE-TEST CONDITION: Association is established between endpoint A (with IP address x and y and port c) and B. Arrange the data in endpoint B such that if SACK doesn’t come for DATA sent in T3-rxt time then DATA is sent again on an alternate transport address. Let the Path.Max.Retrans counter for address x is a and for y is b. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <----------- Send <------------- DATA (IP = x port = c) (IP = x) Don’t send SACK | |T3-rxt expires | Increment Retrans.Count <------------- DATA (IP = x port = c) Don’t send SACK | |T3-rxt expires | Increment Retrans.Count <------------- DATA (IP = x port = c) .Retransmit "a" times . Path.Max.Retrans for x exceeds --------------> Network Status change <------------- DATA (IP = y Port = c) (retransmission) SACK --------------> Retrans.Count counter is not reset for address x <------------ Send (IP = x) <------------- DATA (IP = y Port = c) Sachin-Manoj-Sunil, HSS [Page 86] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. From endpoint in established state, send DATA to another endpoint. Don’t send the SACK from another endpoint and let the T3-rxt timer expire. Retrans.Count counter will be incremented. Again retransmit DATA to an alternate transport address of the receiver. Now send SACK from peer for the DATA received. Record the message sequence using a signal emulator. 2. Check A: Retrans.Count counter is not reset on receiving SACK and data is sent on alternate address y. Note: This case is implementation specific. Note1: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 87] Internet Draft Conformance Test For SCTP May 2000 "HEARTBEAT message is sent periodically to an idle active station" + TEST NUMBER : 5.5 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.3 + TITLE : Fault Handling + SUBTITLE: HEARTBEAT is sent periodically to an idle active station. + PURPOSE: To check that when a destination transport address is idle for a long time then HEARTBEAT message is sent to that address. + PRE-TEST CONDITION: Association is established between endpoint A (with IP address y and z and port c) and B. Arrange the data in endpoint A and B such that no DATA or control chunk is exchanged between them. Let the retrans.count counter for endpoint A is x. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) No message is exchanged within current Heartbeat period <--------------- HEARTBEAT(IP = y,Port = c) (Increment Retrans.Count Counter) |Current Heartbeat Interval | <--------------- HEARTBEAT(IP = y,Port = c) (Increment Retrans.Count Counter) | |Send HEARTBEAT x |times IP address y is marked inactive ---------------> Network Status Change TEST DESCRIPTION: 1. From an endpoint in established state, do not send any message to another endpoint within the current Heartbeat period. Record the message sequence using a signal emulator. 2. Check A: HEARTBEAT message is sent from one endpoint to its peer. 3. Check B: Retrans.Count counter is incremented. 4. Repeat the above test case when the endpoint A has been marked inactive. Sachin-Manoj-Sunil, HSS [Page 88] Internet Draft Conformance Test For SCTP May 2000 "Heartbeat Request primitive" + TEST NUMBER : 5.6 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.3 + TITLE : Fault Handling + SUBTITLE: Heartbeat Request primitive. + PURPOSE: To check that when ULP send Heartbeat Request primitive then HEARTBEAT message is sent to that address. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in endpoint B such that ULP in B send Heartbeat Request primitive. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <----------- Heartbeat request <--------------- HEARTBEAT (Increment Retrans.count counter) TEST DESCRIPTION: 1. From ULP of endpoint B in established state, send Heartbeat Request primitive for endpoint A. Record the message sequence using a signal emulator. 2. Check A: HEARTBEAT message is sent from endpoint B to endpoint A. 3. Check B: Retrans.Count counter is incremented. 4. Repeat the above test case when the other endpoint has been marked inactive. Sachin-Manoj-Sunil, HSS [Page 89] Internet Draft Conformance Test For SCTP May 2000 "HEARTBEAT message is responded with HEARBEAT-ACK" + TEST NUMBER : 5.7 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.3 + TITLE : Fault Handling + SUBTITLE: HEARTBEAT message is responded with HEARBEAT-ACK. + PURPOSE: To check that when HEARTBEAT message is sent to an idle destination transport address, it is responded by HEARTBEAT-ACK with the information carried in the Heartbeat message. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in endpoint A such that HEARTBEAT message is sent to its peer. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Established) (Established) HEARTBEAT -----------------------> <---------------------- HEARTBEAT-ACK Information copied from the HEARTBEAT message TEST DESCRIPTION: 1. From an endpoint in established state, send HEARTBEAT message to another endpoint. Record the message sequence using a signal emulator. 2. Check A: HEARTBEAT-ACK message will be sent in response to HEARTBEAT message. 3. Check B: Information carried in the HEARTBEAT message is carried back into the HEARTBEAT-ACK message. Sachin-Manoj-Sunil, HSS [Page 90] Internet Draft Conformance Test For SCTP May 2000 "HEARTBEAT-ACK message comes from an inactive destination" + TEST NUMBER : 5.8 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.3 + TITLE : Fault Handling + SUBTITLE: HEARTBEAT-ACK message comes from an inactive destination. + PURPOSE: To check that when HEARTBEAT-ACK message comes from an inactive destination transport address, that destination is marked active and Retrans.Count counter for that destination transport address is reset. + PRE-TEST CONDITION: Association is established between endpoint A (with IP address y and z and port c) and B. Arrange the data in endpoint A such that HEARTBEAT-ACK message is sent to its peer. Let the Path.Max.Retrans counter for endpoint A is x. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <------------ Send <--------------- DATA (IP = y, Port = c) Don’t send SACK | |T3-rxt expires | Increment Retrans.Count <--------------- DATA (IP = y, Port = c) Don’t send SACK | |T3-rxt expires | Increment Retrans.Count . . x times . Retrans.Count exceeds Path.Max.Retrans IP y is marked inactive -------------> Network Status Change <------------Heartbeat request(IP=x) <----------------- HEARTBEAT(IP = y,Port = c) HEARTBEAT-ACK -----------------> IP address is marked active -------------> Network Status Change <------------ Send <----------------- DATA Sachin-Manoj-Sunil, HSS [Page 91] Internet Draft Conformance Test For SCTP May 2000 TEST DESCRIPTION: 1. From an endpoint in established state, which is inactive, send HEARTBEAT-ACK message to another endpoint in response to HEARTBEAT message. Record the message sequence using a signal emulator. 2. Check A: On receiving HEARTBEAT-ACK message from inactive transport address, that transport address is marked active. 3. Check B: Retrans.Count counter for that transport address is reset. Note: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 92] Internet Draft Conformance Test For SCTP May 2000 "OOTB datagram" + TEST NUMBER : 5.9 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 7.4 + TITLE : Fault Handling + SUBTITLE: Valid datagram comes from an address with which endpoint has no association. (OOTB datagram) + PURPOSE: To check that a datagram, received from a destination address corresponding to which there is no association, is responded with ABORT message. + PRE-TEST CONDITION: No association exists between endpoint A and B. Arrange the data in endpoint A such that DATA is sent to endpoint B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) DATA ----------------> Passes Adler-32 checksum <--------------- ABORT Discard the DATA <---------- Associate <-------------- INIT INIT-ACK --------------> <--------------- COOKIE COOKIE-ACK --------------> <----------- Send <--------------- DATA TEST DESCRIPTION: 1. From endpoint A, send valid DATA message to endpoint B, when there is no association between them. Record the message sequence using a signal emulator. 2. Check A: ABORT message will be sent. 3. Check B: Verification tag in the ABORT will be set equal to the verification tag in the received DATA 4. Check C: DATA is discarded. 5. Check D: State of endpoint B is not disturbed. Sachin-Manoj-Sunil, HSS [Page 93] Internet Draft Conformance Test For SCTP May 2000 "ERROR message with cause Stale Cookie Error received in Cookie_Sent State" + TEST NUMBER : 6.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.6 + TITLE : ERROR + SUBTITLE: ERROR message with cause Stale Cookie Error received in Cookie_Sent State. + PURPOSE: To verify that ERROR message, with cause Stale Cookie Error, received in Cookie_Sent state is properly handled. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that ERROR message with cause stale cookie error is sent in response to COOKIE message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <------------ Associate <--------------- INIT INIT_ACK ---------------> <-------------- COOKIE OPERATION ---------------> ERROR Note (cause Stale Cookie Error) TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to B. Send OPEARTION ERROR message with cause Stale Cookie Error after receiving COOKIE message. Record the message sequence using a signal emulator. 2. CHECK A: The action taken by an endpoint on receiving OPERATION ERROR with cause Stale Cookie Error should be one of the following: a. Send a new INIT message to the endpoint to generate a new cookie and reattempt the setup procedure. b. Discard the TCB and report to the upper layers the inability of setting up the association. c. Send a new INIT message to the endpoint adding a cookie preservative parameter requesting the extension on lifetime of cookie. Note: Actions to be taken depend upon the implementation Sachin-Manoj-Sunil, HSS [Page 94] Internet Draft Conformance Test For SCTP May 2000 "ERROR message with cause Stale Cookie Error received in state other than Cookie_Sent State" + TEST NUMBER : 6.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 4.2.6 + TITLE : ERROR + SUBTITLE: ERROR message with cause Stale Cookie Error received in state other than Cookie_Sent State. + PURPOSE: To verify that ERROR message, with cause Stale Cookie Error, received in a state other than Cookie_Sent state is properly handled. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that ERROR message with cause stale cookie error is sent in response to COOKIE message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <------ Associate <------------------ INIT INIT_ACK -------------------> <------------------ COOKIE COOKIE_ACK -------------------> ------> Communication Up <----------- Send <------------------ DATA SACK ------------------> ERROR ------------------>Discard the EROOR message Cause stale cookie DATA ------------------> <----------------- SACK TEST DESCRIPTION: 1. Attempt to make an association from endpoint A to B. Send OPEARTION ERROR message with cause Stale Cookie Error in established state. Record the message sequence using a signal emulator. 2. CHECK A: ERROR with cause Stale Cookie Error is discarded. 3. CHECK B: Association is not disturbed. 4. Repeat the above test case when ERROR message is received in other states except Cookie Sent state. Sachin-Manoj-Sunil, HSS [Page 95] Internet Draft Conformance Test For SCTP May 2000 "Generation of error cause Invalid Stream Identifier" + TEST NUMBER : 6.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.9 + TITLE : ERROR + SUBTITLE: Generation of different error causes + PURPOSE: To verify that if a data is sent to a nonexistent stream then an ERROR message with cause Invalid Stream Identifier is sent. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Also let the MIS for endpoint B is x. Arrange the data in endpoint A such that a DATA is sent to endpoint B on a stream which is not existing for the association. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B (Established) (Established) DATA --------------------> (Stream_id = x) <------------------- ERROR (cause = Invalid Stream Identifier with stream identifier) TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B. Send DATA from endpoint A on a stream non-existent for the association. Record the messages using a signal emulator. 2. Check A: ERROR message with cause Invalid Stream Identifier is sent to Endpoint A. 3. Check B: In the ERROR message, Stream identifier on which the message comes is included. Sachin-Manoj-Sunil, HSS [Page 96] Internet Draft Conformance Test For SCTP May 2000 "Generation of error cause Missing Mandatory parameter" + TEST NUMBER : 6.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.9 + TITLE : ERROR + SUBTITLE: Generation of different error causes + PURPOSE: To verify that if a INIT-ACK is sent without COOKIE message then ERROR message with cause Missing Mandatory Parameter is sent. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that INIT-ACK is sent to endpoint B without Cookie parameter. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <------ Associate <------------------ INIT INIT_ACK -------------------> (Without Cookie) <------------------ ERROR(cause = Missing Mandatory Parameter ) TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B. Send INIT-ACK from endpoint A without Cookie parameter.. Record the messages using a signal emulator. 2. Check A: ERROR message with cause Missing Mandatory Parameter is sent to Endpoint A. 3. Check B: In the ERROR message, missing parameter is included. Sachin-Manoj-Sunil, HSS [Page 97] Internet Draft Conformance Test For SCTP May 2000 "Chunk Multiplexing with INIT message" + TEST NUMBER : 7.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE: Bundling of DATA chunks with control chunks + SUBTITLE: Chunk Multiplexing with INIT message. + PURPOSE: To verify that any data chunks multiplexed with INIT message is discarded. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that data chunks are multiplexed with INIT message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT -----------------> Discard the Datagram (data chunks multiplexed) INIT ------------------> <----------------- INIT-ACK COOKIE -----------------> <----------------- COOKIE-ACK ---------------> Communication Up DATA ------------------> <----------------- SACK TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B. Send INIT message multiplexed with data chunks. INIT chunk should be first chunk in the datagram. Record the messages using a signal emulator. 2. Check A: Datagram will be discarded and no action will be taken. 3. Check C: Current State of endpoint B is not dieturbed. Sachin-Manoj-Sunil, HSS [Page 98] Internet Draft Conformance Test For SCTP May 2000 "Chunk Multiplexing with INIT-ACK message" + TEST NUMBER : 7.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE: Bundling of DATA chunks with control chunks + SUBTITLE: Chunk Multiplexing with INIT-ACK message. + PURPOSE: To verify that any data chunks multiplexed with INIT-ACK message is discarded. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that data chunks are multiplexed with INIT-ACK message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <--------- Associate <--------------- INIT (Start T1-Init Timer) INIT-ACK ----------------> (data Chunks Multiplexed) Discard INIT-ACK T1-Init timer expires <--------------- INIT INIT-ACK ----------------> <--------------- COOKIE COOKIE-ACK ----------------> ------------> Communication Up DATA ----------------> <--------------- SACK TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint B to A. Send INIT-ACK message multiplexed with data chunks. INIT-ACK chunk should be first chunk in the datagram. Record the messages using a signal emulator. 2. Check A: Datagram will be discarded and no action will be taken. 3. Check C: Current State of endpoint B is not dieturbed. Sachin-Manoj-Sunil, HSS [Page 99] Internet Draft Conformance Test For SCTP May 2000 "Chunk Multiplexing with SHUTDOWN-ACK message" + TEST NUMBER : 7.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE: Bundling of DATA chunks with control chunks + SUBTITLE: Chunk Multiplexing with SHUTDOWN-ACK message. + PURPOSE: To verify that any data chunks multiplexed with SHUTDOWN-ACK message are discarded. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that data chunks are multiplexed with SHUTDOWN-ACK message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT ------------------> <----------------- INIT-ACK COOKIE -----------------> <----------------- COOKIE-ACK ---------------> Communication Up <---------- Terminate <----------------- SHUTDOWN (Start T2-Shutdown Timer) SHUTDOWN ACK -----------------> Discard datagram (data chunks multiplexed) | | T2-Shutdown Timer Expires <---------------- SHUTDOWN TEST DESCRIPTION: 1. Attempt to terminate an association between endpoint A and B by sending SHUTDOWN message from endpoint B. Send SHUTDOWN-ACK messages multiplexed with data chunks in response to SHUTDOWN message. SHUTDOWN-ACK chunk should be first chunk in the datagram. Record the messages using a signal emulator. 2. Check A: SHUTDOWN-ACK message is discarded. 3. Check B: Current state of endpoint B is not disturbed. 4. Repeat the above test case for Shutdown message multiplexed with data chunks. 5. Repeat the above test case when ABORT message is sent multiplexed with data chunks. In this case also data chunks should be discarded and association enters closed state. Sachin-Manoj-Sunil, HSS [Page 100] Internet Draft Conformance Test For SCTP May 2000 "Cookie received bundled with data chunks with cookie as first chunk" + TEST NUMBER : 7.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE : Bundling of DATA chunks with control chunks + SUBTITLE: Cookie is received bundled with data chunks with cookie as first chunk + PURPOSE: To verify that COOKIE received bundled with data chunks with cookie as first chunk is accepted and responded by COOKIE-ACK. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that data chunks are bundled with COOKIE message with COOKIE as the first chunk. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT ------------------> <----------------- INIT-ACK COOKIE -----------------> (bundled with data chunks) Cookie is accepted <---------------- COOKIE-ACK ----------> Communication Up <---------------- SACK DATA ----------------> <--------------- SACK TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to endpoint B. Now send COOKIE message bundled with data chunks with COOKIE as the first chunk. Record the message sequence using a signal emulator. 2. Check A: COOKIE is accepted and COOKIE-ACK is sent. Sachin-Manoj-Sunil, HSS [Page 101] Internet Draft Conformance Test For SCTP May 2000 "COOKIE-ACK received bundled with data chunk with COOKIE-ACK as first chunk" + TEST NUMBER : 7.5 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt + TITLE : Bundling of DATA chunks with control chunks + SUBTITLE: COOKIE-ACK is received bundled with data chunks with cookie as first chunk + PURPOSE: To verify that COOKIE-ACK received bundled with data chunks with COOKIE-ACK as first chunk is accepted. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint A such that data chunks are bundled with COOKIE-ACK message with COOKIE-ACK as the first chunk. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) <------ Associate <------------------ INIT INIT_ACK -------------------> <------------------ COOKIE COOKIE_ACK -------------------> COOKIE-ACK is accepted (bundled with data chunks) ------> Communication Up <------------------ SACK DATA ------------------> <------------------ SACK TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint B to endpoint A. Send COOKIE-ACK message from endpoint A bundled with data chunks with COOKIE-ACK as the first chunk. In response to INIT-ACK. Record the message sequence using a signal emulator. 2. Check A: COOKIE-ACK is accepted and association is established. Sachin-Manoj-Sunil, HSS [Page 102] Internet Draft Conformance Test For SCTP May 2000 "SHUTDOWN is received bundled with SACK" + TEST NUMBER : 7.6 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Bundling of SACK with SHUTDOWN + SUBTITLE: SHUTDOWN is received bundled with SACK + PURPOSE: To verify that SHUTDOWN received bundled with SACK is accepted. + PRE-TEST CONDITIONS: Arrange the data in endpoint A such that SACK is bundled with SHUTDOWN message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) SHUTDOWN -----------------> SHUTDOWN is accepted (bundled with SACK) and endpoint enters Shutdown Receive State <---------------- SHUTDOWN-ACK --------> Communication Lost TEST DESCRIPTION: 1. Attempt to terminate an association from endpoint A to endpoint B. Now send SHUTDOWN message bundled with SACK. Record the message sequence using a signal emulator. 2. Check A: SHUTDOWN is accepted and endpoint B enters Shutdown Receive state. Sachin-Manoj-Sunil, HSS [Page 103] Internet Draft Conformance Test For SCTP May 2000 "SACK is received bundled with DATA chunks" + TEST NUMBER : 7.7 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 8.2 + TITLE : Bundling of SACK with data chunks + SUBTITLE: SACK is received bundled with DATA chunks + PURPOSE: To verify that SACK received bundled with DATA chunks is accepted. + PRE-TEST CONDITIONS: Association is established between endpoint A and B. Arrange the data in endpoint A such that SACK bundled with DATA chunks is sent to endpoint B. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <--------- Send <--------------- DATA SACK(bundled ---------------> with DATA chunks) SACK is accepted <--------------- SACK (For DATA received Bundled with SACK) TEST DESCRIPTION: 1. Send DATA from endpoint B to endpoint A. Now send SACK message bundled with some DATA chunks from endpoint A for the DATA received (There could be multiple data chunks in single packet) Record the message sequence using a signal emulator. 2. Check A: SACK is accepted and SACK is also sent for DATA received in SACK. Sachin-Manoj-Sunil, HSS [Page 104] Internet Draft Conformance Test For SCTP May 2000 "UN-SEGMENTED DATA" + TEST NUMBER : 8.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3 and 5.9 + TITLE : DATA + SUBTITLE : Un-Segmented DATA + PURPOSE: To check that if the data length is less then or equal to MTU size endpoint B is able to send Un-segmented user message + PRE-TEST CONDITION: Arrange the data from user part such that size is less then or equal to MTU size EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <--------- Send data<=MTU <------------- DATA [TSN=1,Strm=0,seq=1] B Bit = 1 E Bit = 1 TEST DESCRIPTION: 1. Check that the B bit is 1 for message received at endpoint A 2. Check that the E bit is 1 for message received at endpoint A Sachin-Manoj-Sunil, HSS [Page 105] Internet Draft Conformance Test For SCTP May 2000 "DATA SEGMENTATION" + TEST NUMBER : 8.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3 and 5.9 + TITLE : DATA + SUBTITLE : DATA Segmentation + PURPOSE: To check that in the endpoint B is able to perform data segmentation and transmission + PRE-TEST CONDITION: Arrange the large size data from user part such that size exceeding MTU EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <------- Send data > 4MTU B bit =1,E bit =0 <------------- DATA [TSN=1,Strm=0,seq=1] (First peace of a segmented data) SACK --------------> [TSN ACK=1,Frag=0] B bit =0, E bit =0 <------------- DATA [TSN=2,Strm=0,seq=1] (Middle peace of a segmented data) B bit =0, E bit =0 <------------- DATA [TSN=3,Strm=0,seq=1] | |Repeat Data as per MTU size | | B bit =1, E bit =1 <------------- DATA [TSN=n,Strm=0,seq=1] (Last peace of segmented data) TEST DESCRIPTION: 1. Check that segmentation is performed by the endpoint B as per MTU size 2. Check that the B bit =1 , E bit =0 first peace of segmented data 3. Check that the B bit & E bit is 0 middle peace of a segmented data 4. Check that the E bit =1, B bit =0 last peace of segmented data Sachin-Manoj-Sunil, HSS [Page 106] Internet Draft Conformance Test For SCTP May 2000 "SEGMENTED DATA RECEPTION" + TEST NUMBER : 8.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3 and 5.9 + TITLE : DATA + SUBTITLE : Segmented DATA Reception + PURPOSE: To check that in the endpoint B is able to receive segmented data + PRE-TEST CONDITION: Arrange the segmented data such that endpoint B receive first , middle and end peace of a segmented data EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) DATA -------------------> [TSN=1,Strm=0,seq=1] <------------------ SACK [TSN ACK=1,Frag=0] DATA -------------------> [TSN=2,Strm=0,seq=1] <------------------- SACK DATA -------------------> [TSN=3,Strm=0,seq=1] <------------------- SACK DATA -------------------> [TSN=n,Strm=0,seq=1] (Last peace of segmented data) <------------------ SACK ------------> Total Packet TEST DESCRIPTION: 1 Check that endpoint B is able to receive complete data packet Note: Its not necessary to get SACK in the same sequence. Sachin-Manoj-Sunil, HSS [Page 107] Internet Draft Conformance Test For SCTP May 2000 "CANCEL T3-rtx TIMER" + TEST NUMBER : 8.4 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 5.1, 5.3.2 and 5.3.3 + TITLE : DATA + SUBTITLE : T3-rtx timer cancel + PURPOSE: To check that after receiving SACK timer T3-rtx is canceled + PRE-TEST CONDITION: Arrange the data in Endpoint A such that SACK in response of DATA message. T3 rxt timer is X sec for endpoint B EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <-------- Send <--------------- DATA [TSN=1] (Start T3-rtx timer) | |Time= Y sec ( [TSN ACK=2,Frag=0] (Cancel T3-rtx timer) <-------- Send <--------------- DATA [TSN=2] | |Time= X sec | | <--------------- DATA [TSN=2] TEST DESCRIPTION: 1. Check that whenever a transmission is made to any address, the sender should start t3-rtx timer. 2. Check that after receiving the acknowledgement T3 timer is canceled. Sachin-Manoj-Sunil, HSS [Page 108] Internet Draft Conformance Test For SCTP May 2000 "T3-rtx TIMER EXPIRE" + TEST NUMBER : 8.5 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 5.1 , 5.3.2 and 5.3.3 + TITLE : DATA + SUBTITLE : T3-rtx timer expire + PURPOSE: To check that after expiry of timer T3-rxt, message will be sent again. + PRE-TEST CONDITION: Association is established between endpoint A and B. Arrange the data in Endpoint A such that no SACK in response of DATA message. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <------- Send <-------------- DATA[TSN=1] (Start T3-rtx timer) | |T3-rtx timer expired | <--------------- DATA[TSN=1] (Start T3-rtx timer) | |T3-rtx timer expired | <--------------- DATA[TSN=1] (Start T3-rtx timer) TEST DESCRIPTION: 1. Check that whenever a transmission is made to any address, the sender should start t3-rtx timer. 2. Check that data is sent again after expiry of T3-rtx timer. 3. Check that when data is re transferred again T3 timer is started. Note: Value of T3-rxt timer will be calculated after every retransmission. Sachin-Manoj-Sunil, HSS [Page 109] Internet Draft Conformance Test For SCTP May 2000 "DUPLICATE DATA" + TEST NUMBER : 8.6 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 5.2 + TITLE : DATA + SUBTITLE : Duplicate DATA + PURPOSE: To check that any duplicate data chunk received should be reported in SACK. + PRE-TEST CONDITION: Arrange the data in Endpoint A such that it will send duplicate DATA EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) DATA -----------------> [TSN=2,Strm=0,seq=2] ----------> Data arive <----------------- SACK [TSN ACK=2] DATA -----------------> [TSN=2,Strm=0,seq=2] <----------------- SACK [TSN ACK=2] No of duplicate TSN=1 Duplicate TSN=2 TEST DESCRIPTION: 1. To check that Number of duplicate TSNs field contains the number of duplicate TSNs the endpoint has received 2. To check in SACK that duplicate TSN indicates a TSN that was received in duplicate. Sachin-Manoj-Sunil, HSS [Page 110] Internet Draft Conformance Test For SCTP May 2000 "BUFFER SPACE" + TEST NUMBER : 8.7 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt 5.1 and 5.2.1 + TITLE : DATA + SUBTITLE : Buffer space + PURPOSE : To verify that if its peers rwnd indicates that the peer has no buffer space, then data should not be transmitted + PRE-TEST CONDITIONS : Arrange the data in Endpoint A such that rwnd =0 is sent in SACK in response to DATA message. Data should be in large size so it will be transmitted in segments EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <------- Send <------------- DATA [TSN=1] SACK -------------> [TSN ACK=1,Frag=0 a_rwnd=0 ] <------- Send <------------- DATA [TSN=2] (one data packet in flight) SACK --------------> [ a_rwnd=20 ] <------- Send <------------- DATA [TSN=3] <------- Send <------------- DATA [TSN=4] SACK -------------> TEST DESCRIPTION: 1 To verify that at any given time the sender must not transmit new data if its peers rwnd=o that the peer has no buffer space 2 To verify that the sender can always have one data packet in flight to the receiver Sachin-Manoj-Sunil, HSS [Page 111] Internet Draft Conformance Test For SCTP May 2000 "USER DATA IN rwnd=0" + TEST NUMBER : 8.8 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt 5.1 and 5.2.1 + TITLE : DATA + SUBTITLE : User Data in rwnd=0 + PURPOSE : To verify that if rwnd=0 indicates then endpoint should accept data from user part + PRE-TEST CONDITIONS : Arrange the data in Endpoint A such that rwnd =0 is sent in SACK in response to DATA message. Data should be in large size so it will be transmitted in segments EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <------- Send <------------- DATA [TSN=1] SACK -------------> [TSN ACK=1,Frag=0 a_rwnd=0 ] <------- Send Data cant be transmitted as a_rwnd=0 but it will be accepted from user part <-------- Send SACK -------------> [a_rwnd=20 ] <------------- DATA [TSN=2] <------------- DATA [TSN=3] TEST DESCRIPTION: 1. To verify that endpoint B is accepting data from user part when rwnd=0 is received from endpoint A 2. Verify that after receiving buffer space all outstanding data should be transmitted Sachin-Manoj-Sunil, HSS [Page 112] Internet Draft Conformance Test For SCTP May 2000 "CONGESTION" + TEST NUMBER : 8.9 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt 5.1 and 6.2 + TITLE : DATA + SUBTITLE : Congestion + PURPOSE : To verify that sender should not transmit new data if it has cwnd = Un Ack data size + PRE-TEST CONDITIONS : Arrange the Endpoint A such that It sends SACK with all pending data acknowledge after congestion to Endpoint B EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <-------- Send <--------------- DATA [TSN=1] <-------- Send <--------------- DATA [TSN=2] <-------- Send <--------------- DATA [TSN=3] cwnd=Un Avk Data Size | |No data transfer |because of cwnd | | <------- Send | SACK ---------------> <-------------- DATA [TSN=4] <------- Send <-------------- DATA [TSN=5] TEST DESCRIPTION: 1 To verify that at any given time the sender must not transmit new data if its has cwnd bytes of unacknowledged data 2 To verify that whenever cwnd is greater then zero, the sender is allowed to have cwnd octets of data outstanding on that transport address Sachin-Manoj-Sunil, HSS [Page 113] Internet Draft Conformance Test For SCTP May 2000 "RETRANSMISSION" + TEST NUMBER : 8.10 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt 5.1 and 5.2 + TITLE : DATA + SUBTITLE : Retransmission + PURPOSE: To verify that before sending new data chunks the sender must first transmit any outstanding data chunk, which are marked for retransmission. + PRE-TEST CONDITION: Arrange the segmented data such that endpoint A ignore TSN 3 and sends SACK receive with gap in DATA EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Established) (Established) <-------- Send <--------------- DATA [TSN=1] SACK ----------------> [TSN ACK=1,Frag=0] <-------- Send <--------------- DATA [TSN=2] Don't send SACK <-------- Send <--------------- DATA [TSN=3] <-------- Send <--------------- DATA [TSN=4] SACK (With Gap) ----------------> [TSN ACK=2,Frag=1, Strt=2,End=2] <-------- Send (Remove 2 and 4 from out -queue and strike 3 as "1" missing report ) <---------------- DATA [ TSN=3] <---------------- DATA [ TSN=5] TEST DESCRIPTION: 1. Check that if SACK with fragment report shall be received, properly received data by endpoint A remove form out -queue and strike missing data as missing report . 2. Check that if SACK with fragment report shall be received, before sending new data chunks the sender must first transmit any outstanding data chunk, which are marked for retransmission. Sachin-Manoj-Sunil, HSS [Page 114] Internet Draft Conformance Test For SCTP May 2000 "ORDERED DELIVERY" + TEST NUMBER : 8.11 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt 2.3.12 and 5.6 + TITLE : DATA + SUBTITLE : Ordered Delivery + PURPOSE: To check that if receiver deliver data to the upper layer according to the order of there stream sequence number + PRE-TEST CONDITION: Arrange the data such that endpoint A sends ordered DATA EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Estabished) (Estabished) DATA ----------------> [TSN=1,Seq=3] U bit=0 ---------->No DATA <---------------- SACK DATA -----------------> [TSN=2,Seq=2] <---------------- SACK ---------->No DATA DATA -----------------> [TSN=3,Seq=1] [DATA] Seq1------> Seq2------> Seq3------> TEST DESCRIPTION: 1. check that if receiver detects gap in the received data chunk sequence, and SACK with fragment report shall be sent back immediately. 2. To check that if DATA chunks arriving out of order of there stream sequence number the receiver hold the received DATA chunks from delivery until they are re-ordered . Sachin-Manoj-Sunil, HSS [Page 115] Internet Draft Conformance Test For SCTP May 2000 "UN-ORDERED DELIVERY" + TEST NUMBER : 8.12 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt 2.3.12 and 5.6 + TITLE : DATA + SUBTITLE : Un-Ordered Delivery + PURPOSE: To check that if receiver deliver data to the upper layer according to the order it receives data + PRE-TEST CONDITION: Arrange the segmented data such that endpoint A send un-ordered DATA EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Estabished) (Estabished) DATA ------------------> [TSN=1,Sq=2] <----------------- SACK DATA ------------------> [TSN=2,Sq=X] U bit=1 ---------> Data <------------------ SACK DATA ------------------> [TSN=3,Sq=1] -----------> Seq 1,2 delivered <------------------ SACK TEST DESCRIPTION: 1. To check that if DATA chunks arriving out of order of there stream sequence number the receiver transfer the received DATA chunks to upper layer as they are received . Sachin-Manoj-Sunil, HSS [Page 116] Internet Draft Conformance Test For SCTP May 2000 "NORMAL ACKNOWLEDGE" + TEST NUMBER : 9.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.3 and 5.2.1 + TITLE : Acknowledgement + SUBTITLE : Normal Acknowledge + PURPOSE : To verify that SCTP receiver B acknowledge the SCTP sender A about the reception of each data chunk + PRE-TEST CONDITIONS: Arrange the data such that endpoint A send one TSN and wait for SACK. Also endpoint A waits for long enough to get SACK from endpoint B before sending the next datagram. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Estabished) (Estabished) DATA -------------------> [TSN=1] -----------> Data Arrive <------------------ SACK [TSN ACK=1,Frag=0] DATA -------------------> [TSN=2] ------------> Data Arrive <------------------ SACK TEST DESCRIPTION: 1. Check that TSN ACK value is same as TSN sent by endpoint A 2. Check that endpoint B is sending SACK before T3-rtx timer expires. 3. Endpoint A waits long enough (200ms)for SACK before sending next Data 4. Check that all the messages are received correctly. (No loss of messages.) 5. A SACK chunk can acknowledge the reception of multiple data chunk Sachin-Manoj-Sunil, HSS [Page 117] Internet Draft Conformance Test For SCTP May 2000 "DELAYED ACKNOWLEDGE" + TEST NUMBER : 9.2 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.3 and 5.2.1 + TITLE : Acknowledgement + SUBTITLE : Delayed Acknowledge + PURPOSE : To verify that SCTP receiver B can acknowledge the SCTP sender A about the reception of multiple data chunk + PRE-TEST CONDITIONS: Arrange the Endpoint A such that it sends multiple DATA is chunks before receiving SACK EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Estabished) (Estabished) DATA -------------------> [TSN=1] ------------> Data Arrive DATA -------------------> [TSN=2] ------------> Data Arrive <----------------- SACK [TSN ACK=3,Frag=0] TEST DESCRIPTION: 1. Check that endpoint B is sending SACK before T3-rtx timer expires. 2. Check that SACK chunk can acknowledge the reception of multiple data chunk 3. Check that, before a sender transmits a data packet if any received data chunk have not been acknowledged ( due to delay Ack) the sender should create a SACK and bundle it with outbound data chunk (this test assumes that endpoint shall ack atleast every second datagram). Sachin-Manoj-Sunil, HSS [Page 118] Internet Draft Conformance Test For SCTP May 2000 "CUMULATIVE TSN ACK" + TEST NUMBER : 9.3 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.3.3 and 5.2.1 + TITLE : SACK + SUBTITLE : cumulative TSN ACK + PURPOSE: To check that if receiver detects gap in the received data chunk sequence, and SACK with fragment report shall be sent back immediately. + PRE-TEST CONDITION: Arrange the segmented data such that endpoint B receive gap in DATA EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Estabished) (Estabished) DATA -------------------> [TSN=1] ------------> Data Arrive <------------------ SACK DATA ------------------> [TSN=2] ------------> Data Arrive (Skip TSN 3 ) DATA -------------------> [TSN=4] (TNS 3 lost ,gap detected immediately send ACK) <------------------ SACK [TSN ACK=2,Frag=1, Strt=2,End=2] TEST DESCRIPTION: 1. Check that if receiver detects gap in the received data chunk sequence, and SACK with fragment report shall be sent back immediately. 2. Check that receiver hold or deliver data to ULP as per ordered or un-ordered delivery bit. Sachin-Manoj-Sunil, HSS [Page 119] Internet Draft Conformance Test For SCTP May 2000 "RESERVED CHUNK TYPE" + TEST NUMBER : 10.1 + Reference: SCTP draft-ietf-sigtran-sctp-07.txt Clause 2.2 + TITLE : Miscellaneous Test Case + SUBTITLE: Reserved Chunk type. + PURPOSE: To verify that reserved chunk type received in a datagram is discarded. + PRE-TEST CONDITIONS: Association is not established between endpoint A and B. Arrange the data in endpoint B such that a datagram with reserved chunk type is sent to endpoint A in any state. EXPECTED MESSAGE SEQUENCE : Endpoint A Endpoint B ULP (Closed) (Closed) INIT ------------------> <----------------- INIT_ACK COOKIE -------------------> <------------------ COOKIE_ACK ---------> Communication Up Datagram with ------------------> Reserved Chunk Type Discard the datagram (ID = 0001110 to 11111101) DATA ------------------> <----------------- SACK TEST DESCRIPTION: 1. Attempt to initiate an association from endpoint A to B. In the established state send a datagram with reserved chunk type. Record the messages using a signal emulator. 2. Check A: Datgram with reserved chunk type is discarded. 3. Check B: Association is not disturbed. 4. Repeat the above test case when endpoint B is in other states like Cookie_Wait, Cookie_Sent, Shutdown_Sent and Shutdown_Receive. Sachin-Manoj-Sunil, HSS [Page 120] Internet Draft Conformance Test For SCTP May 2000 7. Acknowledgement Authors are highly greatful to Avijit, Harsh, Sandeep, Randall R. Stewart and Qiaobing Xie for their valuable comments and encouragement. 8. Authors Address Manoj, Sachin, Sunil Mahajan email: smahajan@hss.hns.com Hughes Software Systems Plot#31, Sector 18 Electronic City Gurgaon, Haryana INDIA - 122015 Tel# +91-124-6346666 Fax# +91-124-342810 9. References [1] R. R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. J. Scharzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang, V. Paxson Simple Control Transmission Protocol Sachin-Manoj-Sunil, HSS [Page 121]