
INTERNET-DRAFT                                         Sunil Mahajan         
                                                       Ashok K. Singh
                                                       Kuldeep Kumar
                                                       Sandeep Mahajan
                                               Hughes Software Systems








                                                          Feb 08,2001
expires: SEP 08, 2001                                   



                 Conformance Test Specification for SCTP
                 <draft-hss-conformance-test-sctp-00.txt>

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.





















Sunil, Sandeep,Kuleep,Ashok  Hughes Software Systems      [Page  1]





Internet Draft          Conformance Test For SCTP             Feb 2001   



Abstract

This  document  presents  the  conformance  test specification for SCTP 
prototcol (RFC2960), 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 RFC2960 and any subsequent RFC published by IETF.





































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page  2]




Internet Draft          Conformance Test For SCTP             Feb 2001 

TABLE OF CONTENTS 

1.	INTRODUCTION ----------------------------------------------3
1.1	Purpose  ------------------------------------------------- 3
1.2	Scope    ------------------------------------------------- 3
1.3	Intended Audience ---------------------------------------- 3
1.4	Document Organization -----------------------------------  4
1.5	Terms Used  ---------------------------------------------- 4
2	GENERAL PRINCIPLES OF SCTP TESTS ------------------------- 6
2.1	Presentation of test descriptions -----------------------  6
2.2	Presentation of the test list     ------------------------ 6
2.3	Pre-Test Condition --------------------------------------- 6
2.4	Post Test Condition -------------------------------------- 6
2.5	Consideration  ------------------------------------------  6
3	TEST CONFIGURATION --------------------------------------- 7
4	TEST ENVIRONMENT ----------------------------------------  7
4.1	SCTP validation testing ---------------------------------- 7
4.2	SCTP user simulator -------------------------------------- 7
4.3	Test simulator ------------------------------------------- 7
4.4	Link Monitor --------------------------------------------  8
5     Test List ------------------------------------------------ 8
6	Test Description -----------------------------------------12
7	Acknowledgement -----------------------------------------156
8	Authors Address -----------------------------------------156
9	References ----------------------------------------------156





1. Introduction

1.1 Purpose
This document forms the basis of the testing of the SCTP(Stream Control
Transmission  Protocol). It  is  the  reference  document  for ensuring 
that the  implementation  has  met  the  desired  requirements  and  is 
conforming to the Protocol.

1.2 Scope
The scope of this document is limited to listing the Test Specification
for the Stream Control Transmission Protocol. 

1.3 Intended Audience
This document is intended to be used by implementers and testing person
to verify the conformance of implementation to RFC 2960. Efforts   have
been to make the test cases, explicitly clear and self explanatory. The
flow of messages have been explained with focus on  -ve  test  case  to
very the implementation to maximum possible extent .






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page  3]




Internet Draft          Conformance Test For SCTP              Feb 2001   

1.4 Document Organization
This document is organized as follows:

Chapter 1 Introduction: This chapter gives the overall scope of this 
document and the document organization.

Chapter 2 General Principles of SCTP Tests:This chapter gives present-
ation of the tests and pre-test and post-test conditions for the tests.

Chapter 3 Test configuration: This chapter gives configuration for 
testing the Stream Control Transmission Protocol.

Chapter 4  Test Environment: This chapter gives detail about various 
tools required for testing the Stream Control Transmission Protocol. 

Chapter 5 Test lists : This chapter gives details about the listing of
all the test cases which are covered in detail in chapter 6.

Chapter 6 Test Description : All the tests , listed in chapter 5 , are 
discribed in detail . Standard tamplate has been across the chapter,
giving all the details e.g. cross reference to RFC 2960 , test setup
reference , objective etc. 





1.5 Terms Used

The following terms are used in this document:

SCTP:		Stream Control Transmission Protocol.

SCTP User:  The logical upper-layer application entity, which uses 
the services of SCTP also called the ULP.

SCTP Datagram: The unit of data delivery across the interface between 
SCTP and the underlying Transport Layer (e.g. UDP or IP).

SCTP Host: 	A physical unit within which SCTP is running.

Transport Address: An address which serves as a source or destination 
for the unreliable packet transport service used by SCTP. In IP 
networks, a transport address is defined by the combination of an IP 
address and an SCTP port number.

SCTP endpoint: The logical sender/receiver of SCTP datagrams. On a 
multi-homed host, an SCTP endpoint is represented to its peers as a 
combination of a set of eligible destination transport addresses to  
which SCTP datagrams can be sent and a set of eligible source transport 
addresses from which SCTP datagrams can be received.

Protocol: This refers to the SCTP Stack entity.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page  4]




Internet Draft          Conformance Test For SCTP              Feb 2001   

SCTP Association: Representation of an on going logical communication 
channel between two SCTP end points on two SCTP Hosts. It is a protocol 
relationship between SCTP endpoints, comprising the two SCTP endpoints 
and protocol state information.

Chunk: A unit of information within an SCTP datagram, consisting of a 
chunk header and chunk-specific content.

Transmission Sequence Number (TSN): A TSN is a 32-bit sequence number 
which is assigned to each chunk containing user data to permit the 
receiving SCTP endpoint to acknowledge its receipt and detect duplicate 
deliveries. In case a datagram is lost, TSN number is used to detect 
which datagram has not been acknowledged and hence is retransmitted.

Stream: A uni-directional logical channel established from one to 
another associated SCTP endpoints, within which all user messages are 
delivered in sequence except for those submitted to the un-ordered 
delivery service.

Stream Sequence Number: A 16-bit sequence number used internally by 
SCTP to assure sequenced delivery of the user messages within a given 
stream. One stream sequence number is attached to each user message.

Bundling: This is an optional multiplexing operation provided to the 
SCTP user, whereby more than one user datagram may be carried in the 
same SCTP datagram.

Segmentation: This is another multiplexing operation done by the SCTP, 
whereby a user datagram of size more than the path MTU size is 
segmented into more than one datagrams at the sending end and 
de - segmented (reassembled) at the receiving end transparently.

Transmission Control Block (TCB): An internal data structure created by 
an SCTP host for each of its existing SCTP associations to maintain and 
manage the association. 

Receiver Window: This indicates, in number of octets, the available 
buffer space for incoming packets at the receiver's inbound buffer.

Congestion Window: An SCTP variable that limits the data, in number of 
octets, a sender can send into the network before receiving an 
acknowledgement on a particular destination transport address.

SCTP Stack Entity: The SCTP software to be built according to this 
functional specifications.

System Management: A management entity that does not use the SCTP 
services for transport but performs functions such as initialization 
of the stack or handling of error conditions to name a few.

ULP: The Upper Layer Protocol which is the service user of SCTP. ULP 
will denote the local ULP unless otherwise specified.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page  5]




Internet Draft          Conformance Test For SCTP              Feb 2001   

2 General principles of SCTP tests

These tests aim to verify a given implementation of a protocol in 
accordance with the relevant Recommendation. 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 Recommendation, 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 Administrations 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 
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.

2.5 CONSIDERATIONS 

The test plan covers the functional test to cover all the clause and 
sub clause of IETF Draft for SCTP Ver13 with exceptions as listed below
A) Clause 6.3  : Management  of Retransmission Timer 
B) Clause 7.2  : SCTP Slow -Start and Congestion Avoidance.
C) Clause 7.3  : Path MTU discovery

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page  6]




Internet Draft          Conformance Test For SCTP              Feb 2001   

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
      ____________                             ____________
     |            |                           |            | 
     |End point A |---------------------------|End point B | 
     |____________|       	User Test       |____________|  
		      Fig 1: TEST CONFIGURATION OF SCTP

				
				4 Test Environment
                                              ________________
                                              |               |
                                              |User Simulator | 
				                      |_______________|
                                                      | 
                                                      |
______________   	                              ______|________
|             |				           |               |
|Endpoint A   |--------------------------------|End point B    |
|Simulator    |		                 |     | Under Test    |
|_____________|		                 |     |_______________|    
			                   _____________  
                                     |            |
                                     |Link Monitor| 
				             |____________| 
                           ( Fig 2 )
 
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 


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page  7]




Internet Draft          Conformance Test For SCTP              Feb 2001   

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. Test Simulator may be having this 
functionality.

5	TEST List                                            
  1	Association Setup                                           
	  1.1	Normal Association                                          
	  1.2	T1-Init Timer                                               
	    1.2.1 TI_Init timer for INIT                                            
	    1.2.2 T1-Cookie timer for COOKIE                                        
	  1.3	MAX.INIT.RETRANS                                           
	    1.3.1  MAX.INIT.RETRANS: Failure to receive INIT-ACK         
          1.3.2     MAX.INIT.RETRANS: Failure to receive COOKIE-ACK       
  	  1.4	Failure to receive COOKIE-ECHO Message                
        1.5	Association Re-establishment (different init-tag)     
	    1.5.1 Different Tag Values in different association being
        	    Initiated from endpoint being tested                       
	    1.5.2 Different Tag Values in different association being 
         	    initiated from other endpoint                             
	  1.6	Optional Parameters                                    
	    1.6.1 Optional parameters in the INIT message               
	    1.6.2 Optional parameters in the INIT-ACK message           
	  1.7	 Stream Parameters Mismatch                            
	    1.7.1 Mismatch in the Outbound Stream and Inbound 
        	    Stream parameters in NIT                                  
	    1.7.2 Outbound Stream and Inbound Stream parameters 
                set to zero in INIT                                       
	    1.7.3 Mismatch in the Outbound Stream and Inbound Stream 
                parameters in NIT-ACK                                     
	    1.7.4 Outbound Stream and Inbound Stream parameters equal 
                to zero in INIT-ACK                                     
	  1.8	Unrecognized Parameters parameter in INIT-ACK       
	  1.9	IP address in multiple association                  

	  1.10 No Transport Addresses                              
	    1.10.1 No Transport addresses in INIT messages             
	    1.10.2 Host Name Address in INIT messages                  
	    1.10.3 No Transport addresses in INIT-ACK messages         
	    1.10.4 Host Name Address in INIT-ACK                         
	  1.11 Transport addresses                                   
	    1.11.1 One or more Transport addresses in INIT message       
	    1.11.2 One or more Transport addresses in INIT-ACK messages  
        1.12 Host Name Address Parameter                           
          1.12.1 Unresolvable Host Name Address in INIT messages       


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page  8]




Internet Draft          Conformance Test For SCTP              Feb 2001   

           1.12.2 Unresolvable Host Name Address in INIT-ACK            
	   1.13 Supported Address Field                               
	     1.13.1 Supported Address field in INIT messages              
	     1.13.2 Supported Address Type in INIT messages which the 
                  receiver is incapable of using                        
	   1.14 Init-Tag equal to zero                                
	     1.14.1 Value of Init-tag equal to zero in INIT message       
	     1.14.2	Value of Init-tag equal to zero in INIT-ACK message   

 2 Association Termination                                     
	   2.1 Generation of ABORT                                         
	   2.2 Termination of an association by receiving ABORT with 
		 no error cause                                              
	   2.3 Termination of an association by receiving Terminate 
		 primitive from upper layers                                 
	   2.4 T2-Shutdown timer expires for SHUTDOWN message              
  	   2.5 ASSOCIATION.MAX.RETRANS tries exceeds for SHUTDOWN 
	       message                                                     
	   2.6 Receiving SHUTDOWN-ACK message in response to 
	       SHUTDOWN message                                            
	   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.7.4     Data from upper layer in Shutdown-Ack sent state      
	   2.8	 Data from Peer in Shutdown sent state                      
	   2.9	 Data Chunks are received in Shutdown Receive state         
	   2.10 SHUTDOWN from peer in Shutdown receive state               
	   2.11 T2-Shutdown timer expires for SHUTDOWN-ACK message         
	   2.12 ASSOCIATION.MAX.RETRANS tries exceeds for 
	        SHUTDOWN-ACK message                                       
	   2.13 Receiving SHUTDOWN COMPLETE message in response to 
      	  SHUTDOWN-ACK message                                       

 3 Invalid Message Handling                                    
	   3.1 Invalid INIT Message with message length < length of all 
      	 mandatory parameters                                        
	   3.2 INIT-ACK Message with mandatory parameter missing           
	   3.3 Invalid Verification Tag field in a message                 
	   3.4 Invalid Adler-32 Checksum in SCTP datagram                  
	   3.5 Invalid COOKIE-ECHO message with wrong MD5 signature        
	   3.6 Invalid COOKIE-ECHO message with life time expired          
	   3.7 Invalid ABORT message                                       
	   3.8 Chunk length greater than packet length                     
	   3.9 Invalid SHUTDOWN-ACK message                                
	   3.10 Invalid SHUTDOWN COMPLETE message                          

 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-Ack sent state       


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page  9]




Internet Draft          Conformance Test For SCTP              Feb 2001   

	   4.3 Duplicate INIT-ACK in COOKIE-ECHO Sent state                
	   4.4 Duplicate COOKIE-ACK in established state                   
	   4.5 SHUTDOWN Collision                                          
	   4.6 Duplicate Shutdown Message                                  
	     4.6.1 Duplicate SHUTDOWN message in Cookie Wait state         
	     4.6.2 Duplicate SHUTDOWN message in closed state              
	     4.6.3 Duplicate SHUTDOWN message in Shutdown Receive state    
	     4.6.4 Duplicate SHUTDOWN message in Shutdown Sent state         
	   4.7 Duplicate SHUTDOWN-ACK                                      
	     4.7.1 SHUTDOWN-ACK in Cookie_Wait state                       
	     4.7.2 SHUTDOWN-ACK in Established state                       
	     4.7.3 SHUTDOWN-ACK in SHUTDOWN-ACK Sent state                 
	   4.8 Duplicate COOKIE-ECHO Message                               
	     4.8.1 Duplicate COOKIE-ECHO Message with invalid MAC          
	     4.8.2 Duplicate COOKIE-ECHO Message with valid MAC but 
                 expired life time                                       
	     4.8.3 Duplicate valid COOKIE-ECHO Message when Local and 
		     Peer tags don't match the existing TCB but local and 
		     peer tie tag matches the existing TCB                          
	   4.9 Duplicate SHUTDOWN COMPLETE message in Cookie Wait state   
	   4.10 Duplicate valid COOKIE-ECHO Message in Shutdown Ack 
              sent state when Local and Peer tags don't match the 
              existing TCB but local and peer tie tag matches the 
              existing TCB                                               
	   4.11 DATA packet in Shutdown-Ack Sent state                     

 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 an endpoint is reset on receiving a SACK.              
         5.2 Retrans.Count counter exceeds the Path.Max.Retrans          
	   5.3 Retrans.Count counter is reset on receiving 
	       HEARTBEAT-ACK or SACK.                                      
	   5.4 Retrans.Count counter is not reset on receiving SACK 
	       for an outstanding TSN, which was sent on an alternate 
	       transport address                                           
	   5.5 HEARTBEAT message is sent periodically to an idle 
	       active station                                              
	   5.6 Heartbeat Request primitive                                 
	   5.7 HEARTBEAT message is responded with HEARBEAT-ACK            
	   5.8 HEARTBEAT-ACK message comes from an inactive destination    
	   5.9 OOTB datagram                                               
	     5.9.1 OOTB DATA Packet                                          
	     5.9.2 OOTB ABORT Packet                                         
	     5.9.3 OOTB SHUTDOWN-ACK Packet                                  
	     5.9.4 OOTB SHUTDOWN COMPLETE Packet                             
           5.9.5 OOTB Packet from or to non-unicast address                





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 10]




Internet Draft          Conformance Test For SCTP              Feb 2001   

 6 ERROR                                                       
	   6.1 ERROR message with cause Stale Cookie Error received in 
             Cookie Echoed State                                         
	   6.2 ERROR message with cause Stale Cookie Error received in 
      	 state other than Cookie Echoed State                        
	   6.3 Generation of error cause Invalid Stream Identifier         
	   6.4 Generation of error cause Missing Mandatory parameter       
	   6.5 Generation of error cause Unrecognized Parameters           
	   6.6 Reception of COOKIE-ECHO bundled with error cause 
      	 Unrecognized Parameters                                     

 7 Bundling of DATA chunks with Control Chunks                 
	   7.1 Chunk Multiplexing with INIT message                        
	   7.2 Chunk Multiplexing with INIT-ACK message                    
	   7.3 Chunk Multiplexing with SHUTDOWN COMPLETE Chunk             
	   7.4 COOKIE-ECHO is received bundled with data chunks 
      	 with cookie as first chunk                                  
	   7.5 COOKIE-ACK is received bundled with data chunks with 
       	 COOKIE-ECHO as first chunk                                  
	   7.6 SHUTDOWN is received bundled with SACK                      
	   7.7 SACK is received bundled with DATA chunks                   
	   7.8 SHUTDOWN-ACK is received bundled with DATA                  

 8 DATA                                                        
	   8.1 UN-SEGMENTED DATA                                           
	   8.2 DATA SEGMENTATION                                            
	   8.3 SEGMENTED DATA RECEPTION                                    
	   8.4 CANCEL T3-rtx TIMER                                         
	   8.5 T3-rtx TIMER EXPIRE                                         
	   8.6 DUPLICATE DATA                                              
	   8.7 BUFFER SPACE                                                
	   8.8 USER  DATA IN rwnd=0                                        
	   8.9 CONGESTION                                                   
	   8.10 RETRANSMISSION                                        
	   8.11 ORDERED DELIVERY                                      
	   8.12 UN-ORDERED DELIVERY                                   
	   8.13 Reception of SACK from Alternate address              
	   8.14 DATA Chunk with no user data                          
	   8.15 SACK containing Cumulative TSN less than the
	        Cumulative TSN Ack point                                   
	   8.16 TSN missing in SACK which was previously acknowledged 
      	  by SACK in Gap Ack block                                   












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 11]




Internet Draft          Conformance Test For SCTP              Feb 2001   






 9 Acknowledgement                                             
	   9.1 NORMAL ACKNOWLEDGE                                          
	   9.2 DELAYED ACKNOWLEDGE                                         
	   9.3 CUMULATIVE TSN ACK                                          
 10 Miscellaneous Test Case                                     
	   10.1 CHUNK TYPE Encoding                                   
	   10.2 Parameter Type Encoding                               
 11 Retransmission Timer                                        
 	   11.1 RTO is incremented if T3-rxt expires for DATA chunk
              (Single IP address)                                        
	   11.2 RTO is incremented if T3-rxt expires for DATA chunk
	        (Multiple IP addresses)                                     
	   11.3 When DATA is retransmitted to an alternate address 
      	  then RTO value corresponding to that address is used       



































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 12]




Internet Draft          Conformance Test For SCTP              Feb 2001   


6 Test Description
   1.1 Normal Association

TEST NUMBER : 1.1

Reference: SCTP RFC 2960     Clause 5.1 and 5.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-ECHO
                                                                                           
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 DATA messages are received correctly. (No loss of 
   messages.)

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 13]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.2 T1-Init Timer
     1.2.1 T1-Init timer for INIT

TEST NUMBER : 1.2.1

Reference: SCTP RFC 2960     Clause 5.1.6 and 4
(Note 2)

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

 Note Init-Tag value   <----------------     INIT                         
 Don't send                                  Start T1-Init timer      
INIT-ACK message                                |                                 
								|
                                                |  T1-INIT timer
                                                |  Expires  
     								|
         							|
Note Init-Tag value    <-----------------     INIT                       
                                              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. 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







Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 14]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     1.2.2 T1-Cookie timer for COOKIE

TEST NUMBER : 1.2.2

Reference: SCTP RFC 2960     Clause 5.1.6 and 4 
(Note 3)

TITLE :  Association Startup

SUBTITLE : T1-Cookie timer for COOKIE-ECHO

PURPOSE: To check that if T1-Cookie timer expires then COOKIE-ECHO 
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-ECHO message.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                      Endpoint B              ULP
(Closed)                         (Closed)                              
                                                   <----- Associate
            <----------------    INIT          

INIT-ACK    ----------------->
            <----------------    COOKIE-ECHO

Don't send                            Start T1-Init timer      
COOKIE-ACK message                          |                                         
                                            |
                                            |   T1-Cookie timer expires  								|
                                            |
         						  |
            <----------------    	  COOKIE-ECHO                       
                                      Restart T1-Cookie 
                                      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-ECHO message is sent again after expiry of 
   T1-Cookie timer.
3. Check B: Was the message sequence as above




Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 15]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.3    MAX.INIT.RETRANS
     1.3.1 MAX.INIT.RETRANS: Failure to receive INIT-ACK

TEST NUMBER : 1.3.1

Reference: SCTP RFC 2960     Clause 4 (Note 2) 
and 5.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 the process to make  the  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 INT. RETRANS
                                           Counter exceeds.
                                          Communications Lost ------->
                                                    <------- Associate

          <------------------              INIT
INIT-ACK  ------------------>
          <------------------              COOKIE-ECHO
COOKIE-ACK ------------------>
                                           Communication Up ------->
           ------------------>
DATA       ------------------>
           <------------------             SACK



Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 16]




Internet Draft          Conformance Test For SCTP              Feb 2001   
                                                                                                   
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.


     1.3.2 MAX.INIT.RETRANS: Failure to receive COOKIE-ACK
                                                                      

TEST NUMBER : 1.3.2

Reference: SCTP RFC 2960     Clause 4 (Note 3) and 5.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.























Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 17]




Internet Draft          Conformance Test For SCTP              Feb 2001   

EXPECTED MESSAGE SEQUENCE :  
            
Endpoint A                        Endpoint B                     ULP
(Closed)                        (Closed)
                                                     <------ Associate
                <------------------   INIT
INIT-ACK        ------------------>           
                <------------------  COOKIE-ECHO                         
Don't Send COOKIE-ACK                   |                    
                                        | T1-Cookie timer
						    |
                <------------------  COOKIE -ECHO                      
 Don't Send COOKIE-ACK                  |	
                                        | T1-Cookie timer
  						    |
                <------------------  COOKIE-ECHO
                                        .
                                        . Retransmit x 
                                        .  times                                                                               
                                    MAX.INIT.RETRANS
                                    Counter exceeds.        
                                    Communication Lost  -------->         
								<---------    Associate                                                                                                                                                                 
                <------------------    INIT
INIT-ACK        ------------------>
                <------------------  COOKIE-ECHO
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-ECHO 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.














Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 18]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.4 Failure to receive COOKIE-ECHO Message

TEST NUMBER : 1.4

Reference: SCTP RFC 2960     Clause 5.1 B (Note)

TITLE :  Association Startup

SUBTITLE : Failure to receive COOKIE-ECHO Message

PURPOSE: To verify that endpoint remains in closed state if COOKIE-ECHO 
message is not received and resources are not allocated for that.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in Endpoint A, such that COOKIE-ECHO 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. It is necessary to check that resources are not allocated
after sending INIT-ACK messages.We are trying to make the nth 
association.

EXPECTED MESSAGE SEQUENCE :
Endpoint A                         Endpoint B                  ULP
(Closed)                            (Closed)   

INIT       ------------------>
           <------------------    INIT_ACK (With Cookie)
                                  Cookie message is 
                                  not received. 
                                                 <---------  Associate
           <------------------         INIT
 
INIT_ACK   ------------------>                  
           ------------------>   COOKIE-ECHO

COOKIE-ACK ------------------>
                                Communication Up --------->
DATA       ------------------>
           <------------------       SACK
 
TEST DESCRIPTION:

1. Attempt to make an association from endpoint A to endpoint B. 
   Don't send COOKIE-ECHO 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.





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 19]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.5 Association Re-establishment (different init-tag)
     1.5.1 Different Tag Values in different association being initiated 
from endpoint being tested

TEST NUMBER : 1.5.1

Reference: SCTP RFC 2960     Clause 5.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-ECHO                       
                                                                                           
COOKIE_ACK             ------------------> Communication Up -------> 
                                                   <------    Send                                                                                                                                                                                                                                         
                       <------------------  DATA                   
SACK                    ------------------>                                                                                                                      
DATA                    ------------------> Data Arrive ----------->
                       <------------------- SACK                                                                                                               

SHUTDOWN                ------------------->                                                 

                        <------------------- SHUTDOWN ACK
                                             Communication Lost----->
                                        <-----------     Associate
Note Init-Tag value     <------------------- INIT
INIT-ACK                ------------------->            







Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 20]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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.












































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 21]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.5.2 Different Tag Values in different association being initiated
  from other endpoint

TEST NUMBER : 1.5.2

Reference: SCTP RFC 2960     Clause 5.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                ------------------>

Note Init-Tag Value  <------------------ INIT-ACK
                                                                                                 
 COOKIE-ECHO         ------------------>                                                                                                          

                     <------------------ COOKIE-ACK
                                         Communication Up --------->
                                          <---------------- Send                                                                                                                                                                                 
                     <------------------   DATA
                                                                                               
SACK                 ------------------->
                                                                                                                      
DATA                 -------------------> Data Arrive  ----------> 
                     <------------------     SACK                                                                                                               

SHUTDOWN             ------------------->                                                       

                     <------------------  SHUTDOWN ACK
                                    Communication Lost ---------->
                                                                                                                                                       
INIT                 ------------------->
                     <-------------------  INIT-ACK
Note Init-Tag value





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 22]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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.











































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 23]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.6 Optional Parameters 
     1.6.1 Optional parameters in the INIT message

TEST NUMBER : 1.6.1

Reference: SCTP RFC 2960     Clause 3.3.2

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-ECHO     ------------------>

                <------------------    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-ECHO preservative, supported address type).
   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.











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 24]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.6.2 Optional parameters in the INIT-ACK message

TEST NUMBER : 1.6.2

Reference: SCTP RFC 2960     Clause 3.3.3

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-ECHO 
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-ECHO message is 
   sent. 
3. Check B: Association is established between endpoint A and B.
4. Repeat the above test case if COOKIE is not the first parameter
   after the mandatory parameter in the INIT-ACK message but is after
   the optional parameter or in between the optional parameter.INIT-ACK 
   should be accepted in this case. 




Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 25]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.7 Stream Parameters Mismatch
     1.7.1 Mismatch in the Outbound Stream and Inbound Stream parameters 
in INIT 

TEST NUMBER : 1.7.1

Reference: SCTP RFC 2960      Clause 5.1.1

TITLE :  Stream parameter mismatch

SUBTITLE: Mismatch in the Outbound Stream and Inbound Stream parameters
in INIT.

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

EXPECTED MESSAGE SEQUENCE :
Endpoint A                           Endpoint B           ULP
(Closed)                              (Closed)
   
INIT              ----------------> OS of B is Z > Y
(OS = X, MIS = Y)                                                                                                                     

 Note value of OS <---------------- INIT_ACK  (Note)
                                    (OS = Y, MIS = X) 
COOKIE-ECHO       ---------------->
                                    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.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 26]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.7.2 Outbound Stream and Inbound Stream parameters set to zero in 
INIT 

TEST NUMBER : 1.7.2

Reference: SCTP RFC 2960      Clause 3.3.2

TITLE :  Stream parameter mismatch

SUBTITLE: Outbound Stream and Inbound Stream parameters set to zero in 
INIT

PURPOSE: To verify that if OS or MIS are found zero in the received 
INIT message then ABORT message is sent for that INIT and endpoint 
remains in the closed state.

PRE-TEST CONDITIONS: Association is not established between endpoint 
A and B. Arrange data in endpoint A such that INIT message with OS or 
MIS equal to 0 is sent from endpoint A.

EXPECTED MESSAGE SEQUENCE :
Endpoint A                           Endpoint B             ULP
(Closed)                              Closed)

   
    INIT            ---------------->                                                                                
(OS = 0, MIS = Y)                                                                                                                     

                    <----------------   ABORT

TEST DESCRIPTION:

1. Attempt to initiate an association from endpoint A to B. Send INIT 
   message with OS equal to zero and MIS any value.
2. Check A: ABORT message is received at the endpoint A with cause 
   "Invalid Mandatory Parameter". 
3. Repeat the above test case if value of MIS is zero and OS is having 
   any value in INIT message.
4. Repeat the above test case if value of MIS and OS are zero.















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 27]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.7.3 Mismatch in the Outbound Stream and Inbound Stream parameters 
in INIT-ACK

TEST NUMBER : 1.7.3

Reference: SCTP RFC 2960      Clause 5.1.1

TITLE :  Stream parameter mismatch

SUBTITLE: Mismatch in the Outbound Stream and Inbound Stream parameters 
in 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<Z.

EXPECTED MESSAGE SEQUENCE :
Endpoint A                          Endpoint B                ULP
(Closed)                             (Closed)
                                                  <------- Associate     
                   <---------------    INIT                                                                                  
                                     (OS = Z, MIS = Y)                                                                                                                     

INIT_ACK           ---------------->                                                                        
(OS = Y, MIS = X) 

                   <----------------  COOKIE-ECHO (Note)
                                                                                              
COOKIE-ACK         ---------------->
                                       Communication Up ------->
                                                   <------- Send
                   <----------------  DATA           (Stream id = x-1)
                                                                                             
SACK                ---------------->
                                                  <-------- Send
                                                       (Stream id = x)
                                       Send Failure -------->
                                                                                               
                                                                                               
 OS = Outbound Stream
 MIS = Maximal Inbound Stream







Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 28]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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








































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 29]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.7.4 Outbound Stream and Inbound Stream parameters equal to zero 
in INIT-ACK

TEST NUMBER : 1.7.4

Reference: SCTP RFC 2960      Clause 3.3.3

TITLE :  Stream parameter mismatch

SUBTITLE: Outbound Stream and Inbound Stream parameters equal to zero 
in INIT-ACK

PURPOSE: To verify that if OS or MIS are found zero in the received 
INIT-ACK message then ABORT message is sent for that INIT-ACK and 
endpoint remains in the closed state.

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 OS or MIS equal 
to zero.

EXPECTED MESSAGE SEQUENCE :
Endpoint A                          Endpoint B             ULP
(Closed)                            (Closed)
                                                    <-------Associate     
               <----------------     INIT                                                                                  
                                   (OS = Z, MIS = Y)                                                                                                                     

INIT_ACK       ---------------->                                                                               
(OS = 0, MIS = Z) 

               <----------------     ABORT
                                  Communication Down ------->

TEST DESCRIPTION:

1. Attempt to initiate an association from endpoint B to A. Send INIT-
   ACK message with OS equal to zero and MIS equal to Z.
2. Check A: ABORT message is received at the endpoint A.
3. Repeat the above test case if value of MIS is zero and OS is having 
   value Y. Response should be same.
4. Repeat the above test case if value of both MIS and OS is zero. 
   Response should be same.











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 30]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.8 Unrecognized Parameters parameter in INIT-ACK

TEST NUMBER : 1.8

Reference: SCTP RFC 2960     Clause 3.3.3.1

TITLE :  Association Startup

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 and MSB two bits in the parameter type equal 
to 11 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                                                                                                                       
Note  Unrecognized    <----------------  INIT_ACK
Parameters field                         (Unrecognised parameters 
                                         inunrecognised Parameters 
                                         field )

COOKIE-ECHO           ----------------> 

                      <----------------  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. The most significant two 
   bits in parameter type is 11.
   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, Unrecognised Parameters field is 
   filled with undefined parameter received in INIT.
4. Check C: Association is established between endpoint A and B.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 31]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.9 IP address in multiple association

TEST NUMBER : 1.9

Reference: SCTP RFC 2960     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 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-ECHO            ---------------->                                                                                                                                                                                                                        

                       <----------------  COOKIE-ACK 
                                          Communication up ------>

INIT                   ---------------->
(IP address = x, z
 Port = a)                             
                       <----------------  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.



Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 32]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     1.10 No Transport Addresses

     1.10.1 No Transport addresses in INIT messages

TEST NUMBER : 1.10.1

Reference: SCTP RFC 2960  Clause 5.1.2 A

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






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 33]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.10.2 Host Name Address in INIT messages.

TEST NUMBER : 1.10.2

Reference: SCTP RFC 2960  Clause 5.1.2 B

TITLE :  Association Startup

SUBTITLE: Host Name address in INIT messages.

PURPOSE:To check the action of the system when INIT message is received 
containing Host Name address with no other IP address.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that Host Name address is
sent to Endpoint B with no other IP address in INIT message. Also Host
Name address sent by endpoint A is resolvable at Endpoint B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                     Endpoint B          ULP
(Closed)                                       (Closed)
    
INIT                     ---------------->
(Host Name Address)                                                                                                                     
                         <-----------------     INIT_ACK 
COOKIE-ECHO              ------------------>

                         <------------------   COOKIE-ACK
                                              Communication Up ------->

DATA                     ------------------>

                          <------------------   SACK
TEST DESCRIPTION:

1. Attempt to make an association from endpoint A to B. Send INIT 
   message containing Host Name address with no other IP address 
   parameter. 
   Record the message sequence using a signal emulator.
2. Check A: INIT-ACK is sent at one of the IP address resolved from 
   the Host Name address received in INIT message. 
3. Check B: Other messages from endpoint B are sent at one of the IP 
   address resolved from the Host Name address received in INIT 
   message. 
4. Check C: Association is established between endpoint A and B.
5. Repeat the above test case if other IP address such as IPv4 and IPv6 
   addresses is also present in the INIT message along with Host Name 
   address parameter. Receiver of INIT i.e. Endpoint B should ignore 
   IPv4 and IPv6 addresses if present along with Host Name address and 
   continue to establish association with the addresses obtained by 
   resolving Host Name address parameter.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 34]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     1.10.3 No Transport addresses in INIT-ACK messages

TEST NUMBER : 1.10.3

Reference: SCTP RFC 2960  Clause 5.1.2 A

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 in the optional IP address field.

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 optional IP address field.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                               Endpoint B           ULP
(Closed)                                 (Closed)
        
                                                    <------- Associate
                      <-----------------   INIT

INIT-ACK              ----------------->                                                                                                      
(No Optional IP Address)                                                                                                                     
                      <----------------- COOKIE-ECHO 

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-ECHO 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-ACK is received.
4. Check C: Association is established between endpoint A and B.






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 35]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.10.4 Host Name Address in INIT-ACK

TEST NUMBER : 1.10.4

Reference: SCTP RFC 2960  Clause 5.1.2 B

TITLE :  Association Startup

SUBTITLE: Host Name Address in INIT-ACK message without any other IP 
address.

PURPOSE: To check the action of the system when INIT-ACK message is 
received containing Host Name Address with no other IP address.

PRE-TEST CONDITIONS: Association is not established between endpoint 
A and B.Arrange the data in endpoint A such that Host Name Address with
no other IP address is sent in INIT-ACK message.Also Endpoint B is able 
to resolve the Host Name Address sent by Endpoint A to a list of IP 
addresses.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                              Endpoint B         ULP
(Closed)                                 (Closed)
                                           <---------  Associate
                   <-----------------      INIT

INIT-ACK           ----------------->                                                                                                    
(Host Name Address)                                                                                                                     
                   <-----------------   COOKIE-ECHO 

COOKIE-ACK          ----------------->  Communication Up --------->

DATA                ----------------->

                    <-----------------   SACK

TEST DESCRIPTION:

1. Attempt to make an association from endpoint B to A. Send INIT-ACK 
   message containing Host Name Address with no other IP address. 
   Record the message sequence using a signal emulator.
2. Check A: COOKIE-ECHO is sent at one of the IP address resolved from
   the Host Name Address present in INIT-ACK. 
3. Check B: Other messages from endpoint B are sent at the IP address 
   resolved from the Host Name Address present in INIT-ACK. 
4. Check C: Association is established between endpoint A and B.
5. Repeat the above test case if other IP address such as IPv4 and IPv6 
   addresses is also present in the INIT-ACK message along with Host 
   Name address parameter. Receiver of INIT-ACK i.e. Endpoint B should
   ignore IPv4 and IPv6 addresses if present along with Host Name 
   address and continue to establish association with the addresses 
   obtained by resolving Host Name address parameter.
Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 36]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     1.11 Transport addresses
     1.11.1 One or more Transport addresses in INIT message

TEST NUMBER : 1.11.1

Reference: SCTP RFC 2960     Clause 5.1.2 B

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 plus the IP 
address from where INIT comes 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-ECHO                -----------------> 
                           <----------------   COOKIE-ACK
                                             Communication Up  ------>
DATA (IP = x Port = a)     -------------------->                                 
                           <----------------      SACK
DATA (IP = y Port = a)     ----------------->
                            <-----------------     SACK                                                                      
DATA (IP = z Port = a)     ----------------->
                            <----------------      SACK   
TEST DESCRIPTION:

1. Attempt to make an association from endpoint A to endpoint B. Send 
   INIT message containing one or more IPv4 addresses. 
2. Check A: INIT message is accepted.
3. Check B: INIT-ACK is sent at the transport addresses from where INIT 
   message was received. 
4. Check C: Other messages from endpoint B are sent at the IP addresses 
   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.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 37]




Internet Draft          Conformance Test For SCTP              Feb 2001   




     1.11.2 One or more Transport addresses in INIT-ACK messages

TEST NUMBER : 1.11.2

Reference: SCTP RFC 2960     Clause 5.1.2 B

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 plus the 
address from where the INIT-ACK comes 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-ECHO 
COOKIE-ACK               ----------------->
                                          Communication Up ---------->
DATA (IP = x Port = a)   ----------------->

                         <-----------------      SACK
DATA (IP = y Port = a)   ------------------>
                         <------------------     SACK
DATA (IP = z Port = a)   ------------------>
                         <------------------     SACK                                                                                                  












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 38]




Internet Draft          Conformance Test For SCTP              Feb 2001   

                                                               

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-ECHO is sent at one of the transport addresses 
   received in INIT-ACK plus the address from where INIT-ACK was 
   received. 
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.



































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 39]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.12 Host Name Address Parameter
     1.12.1 Unresolvable Host Name Address in INIT messages

TEST NUMBER : 1.12.1

Reference: SCTP RFC 2960  Clause 5.1.2 C

TITLE :  Association Startup

SUBTITLE: Unresolvable Host Name address in INIT messages.

PURPOSE:To check the action of the system when INIT message is received 
containing Unresolvable Host Name address with no other IP address.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that Host Name address is 
sent to Endpoint B with no other IP address in INIT message. Also Host 
Name address sent by endpoint A is not resolvable at Endpoint B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                     Endpoint B          ULP
(Closed)                                       (Closed)
    
INIT                  ----------------->
(Host Name Address) 
                                                                                                                    
                      <-----------------    ABORT (with error 
                                            Unresolvable Address) 



TEST DESCRIPTION:

1. Attempt to make an association from endpoint A to B. Send INIT 
   message containing Host Name address with no other IP address 
   parameter. Record the message sequence using a signal emulator.
2. Check A: ABORT is sent at the IP address from where INIT message is 
   received with error cause Unresolvable Address. 
3. Repeat the above test case if other IP address such as Ipv4 and IPv6 
   addresses is also present in the INIT message along with Host Name 
   address parameter. Response will be same.











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 40]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.12.2 Unresolvable Host Name Address in INIT-ACK

TEST NUMBER : 1.12.2

Reference: SCTP RFC 2960  Clause 5.1.2 C

TITLE :  Association Startup

SUBTITLE:Unresolvable Host Name Address in INIT-ACK message without any 
other IP address.

PURPOSE: To check the action of the system when INIT-ACK message is 
received containing Unresolvable Host Name Address with no other IP 
address.

PRE-TEST CONDITIONS:Association is not established between endpoint A 
and B.Arrange the data in endpoint A such that Host Name Address with 
no other IP address is sent in INIT-ACK message.Also Endpoint B is not
able to resolve the Host Name Address sent by Endpoint A.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B                  ULP
(Closed)                               (Closed)
                                                  <--------- Associate
                  <---------------        INIT

INIT-ACK          --------------->                                                                                                    
(Unresolvable Host Name Address)
                                                                                                                     
                  <---------------       ABORT (with error 
                                        Unresolvable Address)



TEST DESCRIPTION:

1. Attempt to make an association from endpoint B to A. Send INIT-ACK 
   message containing Host Name Address with no other IP address. 
   Record the message sequence using a signal emulator.
2. Check A: ABORT is sent at the IP address from where INIT-ACK is 
   received. 
3. Repeat the above test case if other IP address such as IPv4 and IPv6 
   addresses is also present in the INIT-ACK message along with Host 
   Name address parameter. Response will be same.

Note: After sending ABORT, Endpoint B may send INIT message again to 
establish the association.





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 41]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.13 Supported Address Field 
     1.13.1 Supported Address field in INIT messages

TEST NUMBER : 1.13.1

Reference: SCTP RFC 2960  Clause 5.1.2 Note

TITLE :  Association Startup

SUBTITLE: Supported address field in INIT messages.

PURPOSE:To check the action of the system when INIT message is received 
containing Supported address field.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that Supported Address field 
is sent in INIT. Also the endpoint B is capable of using the address 
type mentioned in Supported Address filed 

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                Endpoint B         ULP
(Closed)                                  (Closed)
    
INIT                   --------------->                                                                                                      
(With Supported Address Field)  
                                                                                                                   
                       <---------------   INIT_ACK 
COOKIE-ECHO            ---------------->
                           
                       <----------------  COOKIE-ACK 
                                          Communication Up -------->
DATA                   ---------------->

                       <----------------   SACK
 

TEST DESCRIPTION:

1. Attempt to make an association from endpoint A to B. Send INIT 
   message containing Supported Address field. 
   Record the message sequence using a signal emulator.
2. Check A: INIT-ACK is sent with the address of the type contained in 
   the Supported address field in the received INIT. 
3. Check B: Association is established between endpoint A and B.
4. Repeat the above test cases for the Supported address filed
   containing only IPv4 Address type, only IPv6 Address type and both
   address types.





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 42]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.13.2 Supported Address Type in INIT messages which the receiver is 
incapable of using

TEST NUMBER : 1.13.2

Reference: SCTP RFC 2960  Clause 5.1.2 Note

TITLE :  Association Startup

SUBTITLE: Supported Address Type in INIT messages which the receiver is 
incapable of using

PURPOSE:To check the action of the system when INIT message is received 
containing Supported Address Type which the receiver is incapable of 
using.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that Supported address type 
field is sent to Endpoint B in INIT message. Also receiver i.e.endpoint 
B is not capable of using supported address type.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                Endpoint B           ULP
(Closed)                                  (Closed)
    
INIT                   ---------------->                                                                                                    
(Supported Address Type) 
                                                                                                                    
                       <-----------------  INIT-ACK
 

 

TEST DESCRIPTION:

1. Attempt to make an association from endpoint A to B. Send INIT 
   message containing Supported Address type parameter. Record the 
   message sequence using a signal emulator.
2. Check A: INIT-ack is sent at one of the IP address contained in 
   INIT message. 
3. Check B: the optional parameter in INIT-ACK is coded by  copying the
   parameter from the original INIT message i.e. variable filled up in 
   Supported Address Type of INIT.









Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 43]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.14 Init-Tag equal to zero
     1.14.1 Value of Init-tag equal to zero in INIT message

TEST NUMBER : 1.14.1

Reference: SCTP RFC 2960  Clause 3.3.2

TITLE :  Association Startup

SUBTITLE: Value of Init-tag equal to zero in INIT message

PURPOSE:To check the action of the system when INIT message is received
containing Init-Tag equal to zero.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that Init-tag field equal to 
zero is sent to Endpoint B in INIT message. 

EXPECTED MESSAGE SEQUENCE :

Endpoint A                               Endpoint B            ULP
(Closed)                                  (Closed)
    
INIT                 --------------->                                                                                             
(Init_Tag = 0)                                                                                                                     
                     <---------------     ABORT 

 

TEST DESCRIPTION:

1. Attempt to make an association from endpoint A to B.Send INIT 
   message containing Init-Tag equal to zero. 
2. Check A: ABORT is sent with error cause Invalid mandatory parameter. 
3. Repeat the above test case if a_rwnd parameter is zero in the INIT 
   message and Init-Tag is non zero. Response should be same.
4. Repeat the above test case if verification tag is not zero in the
   INIT message and other parameters are valid.Response should be same. 















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 44]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     1.14.2 Value of Init-tag equal to zero in INIT-ACK message

TEST NUMBER : 1.14.2

Reference: SCTP RFC 2960  Clause 3.3.3

TITLE :  Association Startup

SUBTITLE: Value of Init-tag equal to zero in INIT-ACK message

PURPOSE: To check the action of the system when INIT-ACK message is 
received containing Init-Tag equal to zero in response to INIT message.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that Init-tag field equal to 
zero is sent to Endpoint B in INIT-ACK message. 

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B             ULP
(Closed)                               (Closed)

                                               <----------Associate     
                  <---------------       INIT                                                                                  

INIT-ACK          --------------->                                                                                           
(Init-Tag = 0) 
                                                                                                                                                                                        

TEST DESCRIPTION:

1. Attempt to make an association from endpoint B to A. Send INIT-ACK 
   message containing Init-Tag equal to zero. 
2. Check A: INIT-ACK will be discarded and ABORT will not be sent to 
   endpoint B. 
3. Repeat the above test case if a_rwnd parameter is zero in the INIT-
   ACK message and Init-Tag is non zero. Response should be same.
















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 45]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     2 Association Termination
     2.1 Generation of ABORT

TEST NUMBER : 2.1

Reference: SCTP RFC 2960     Clause 9.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)
          
Association is removed  <----------------- ABORT
                                           (With error cause)

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















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 46]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     2.2 Termination of an association by receiving ABORT with no error 
      cause.

TEST NUMBER : 2.2

Reference: SCTP RFC 2960      Clause 9.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.
2. ABORT message is sent either with Peer's V-tag or Local V-tag with 
   T-bit set.
3. Check A: No Acknowledgement is sent for the ABORT message and 
   association is removed.
4. Check B: ULP are reported of the association closure.
5. Repeat the above test case with verification tag value equal to the 
   sender's Init-Tag.
6. Repeat the above test cases when ABORT message is sent with one or 
   more error causes.











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 47]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     2.3 Termination of an association by receiving Terminate primitive 
      from upper layers

TEST NUMBER : 2.3

Reference: SCTP RFC 2960     Clause 9.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

Don't send SACK       <---------------    DATA 
                                                   <---------    Send
                      <---------------    DATA
Don't send SACK                                 <---------  Terminate  

                      <---------------    DATA        
                      <---------------    DATA  (retransmission)

SACK                  ---------------->
(for all outstanding 
data at B)

                      <---------------   SHUTDOWN    
SHUTDOWN ACK           --------------->  
                      <---------------   SHUTDOWN COMPLETE                  











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 48]




Internet Draft          Conformance Test For SCTP              Feb 2001   

                                                                                                                     
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.
2. Check A: SHUTDOWN message is sent to endpoint A.
3. Check B: SHUTDOWN is sent only when any data queued up at B has been 
   sent to A and acknowledged by A.
4. Check C: Value of Cumulative TSN Ack in SHUTDOWN message. It should 
   be equal to the Initial TSN received in INIT or INIT-ACK message.
5. Send one or two data message from endpoint A to endpoint B before 
   sending SACK. SACK will be received at endpoint A.Now check the 
   value of Cumulative TSN field in SHUTDOWN message.It should be equal 
   to the last TSN acked.

Note: There may be one or more DATA and SACK till all the data at the 
endpoint A is not acknowledged.



































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 49]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     2.4 T2-Shutdown timer expires for SHUTDOWN message

TEST NUMBER : 2.4

Reference: SCTP RFC 2960     Clause 9.2

TITLE :  Termination

SUBTITLE: T2-Shutdown timer expires for SHUTDOWN message.

PURPOSE: To check that  T2-Shutdown timer is started and  after its
         expiry, 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.
2. Check A: After expiry of T2-Shutdown timer, SHUTDOWN message is sent 
   again.
3. Repeat the test case if endpoint A is multihomed. In this case
   Shutdown message will be retransmitted to the alternate address.












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 50]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     2.5 ASSOCIATION.MAX.RETRANS tries exceeds for SHUTDOWN message

TEST NUMBER : 2.5

Reference: SCTP RFC 2960     Clause 9.2

TITLE :  Termination

SUBTITLE : ASSOCIATION.MAX.RETRANS tries exceeds for SHUTDOWN message

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

Note: Value of the T2-Shutdown timer will increase after every 
      retransmission.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 51]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     2.6 Receiving SHUTDOWN-ACK message in response to SHUTDOWN message

TEST NUMBER : 2.6

Reference: SCTP RFC 2960     Clause 8.5.1 (c)

TITLE :  Termination

SUBTITLE:Receiving SHUTDOWN-ACK message in response to SHUTDOWN 
	   message.

PURPOSE: To check that SHUTDOWN-ACK message is accepted in Shutdown 
Sent state, SHUTDOWN COMPLETE message is sent 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 is sent in 
response to SHUTDOWN message.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                            Endpoint B              ULP
(Established)                         (Established)
   
                  <-----------------  SHUTDOWN                                                                                                   

SHUTDOWN-ACK      ----------------->  Remove the association
                                     
                  <-----------------  SHUTDOWN COMPLTE  
                                       Communication down -------->
                                                                                                                     
TEST DESCRIPTION:

1. Try to terminate association between endpoint A and B by sending 
   SHUTDOWN message from endpoint B.  Send SHUTDOWN-ACK message. 
2. Check A: SHUTDOWN COMPLETE message is received at endpoint A.
3. Check B: Association is removed and endpoint B enters closed state.

















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 52]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     2.7 Data From Upper Layers
     2.7.1 Data from upper layer in Shutdown sent state

TEST NUMBER : 2.7.1

Reference: SCTP RFC 2960     Clause 9.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 is 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.











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 53]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     2.7.2 Data from upper layer in Shutdown receive state

TEST NUMBER : 2.7.2

Reference: SCTP RFC 2960     Clause 9.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 
SHOTDOWN COMPLETE   ----------------->                           

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 acknow
   ledging 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.
5. Send Terminate primitive from ULP while in Shutdown-Receive state. 
   SHUTDOWN will not be sent.





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 54]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     2.7.3 Data from upper layer in Shutdown pending state

TEST NUMBER : 2.7.3

Reference: SCTP RFC 2960     Clause 9.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     ----------------->
                <-----------------    SHUTDOWN COMPLETE
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.









Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 55]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     2.7.4 Data from upper layer in Shutdown-Ack sent state

TEST NUMBER : 2.7.4

Reference: SCTP RFC 2960     Clause 9.2

TITLE :  Termination

SUBTITLE: Data from upper layer in Shutdown-Ack sent state 

PURPOSE:To verify that data received for transmissions from upper layer 
in Shutdown-Ack 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-Ack sent state.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                 Endpoint B            ULP
(Established)                             (Established)                                       
                                                                                            
SHUTDOWN          ----------------->                                                                                          
                                                                                          
                  <----------------        SHUTDOWN-ACK
                                                        <------- Send                                                                      
                                           Send Failure -------->

SHUTDOWN COMPLETE ----------------->
                                          Communication Down ------->  

TEST DESCRIPTION:

1. Attempt to terminate an association from endpoint A to endpoint B by 
   sending SHUTDOWN. SHUTDOWN-ACK will be received at endpoint A. Now 
   send Send primitive from ULP to SCTP to send DATA to endpoint A.
2. Check A: Send failure is returned. 
3. Check B: Current state is not disturbed.















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 56]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     2.8 Data from Peer in Shutdown sent state

TEST NUMBER : 2.8

Reference: SCTP RFC 2960     Clause 9.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 :

Wndpoint A                                Endpoint B            ULP
(Established)                            (Established)
                                            
                                                    <---------Terminate

                    <----------------     SHUTDOWN                         
                                         (Start T2-Shutdown timer)                                                                                                               
DATA                ---------------->

                    <----------------    SACK + SHUTDOWN                                                                               
                                         (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.

Note:SACK may not be bundled with SHUTDOWN in this case but they may go 
separately.





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 57]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     2.9 Data Chunks are received in Shutdown Receive state

TEST NUMBER : 2.9

Reference: SCTP RFC 2960     Clause 9.2

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
SHUTDOWN COMPLETE  ----------------->
                                        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.






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 58]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     2.10 SHUTDOWN from peer in Shutdown receive state

TEST NUMBER : 2.10

Reference: SCTP RFC 2960     Clause 9.2

TITLE :  Termination

SUBTITLE: SHUTDOWN message from peer in Shutdown receive state 

PURPOSE: To verify that SHUTDOWN message received for peer in Shutdown 
receive state is discarded.

PRE-TEST CONDITIONS:Association is established between endpoint A and B 
Arrange the data in endpoint A such that it sends SHUTDOWN message to 
endpoint A.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                Endpoint B                ULP
(Established)                            (Established) 
									   <-------- send

                   <----------------        DATA                                                                                                                                                  
Don't send SACK
SHUTDOWN           ---------------->                                                                                                 
                                         Shutdown receive state
                   <----------------        DATA

SHUTDOWN           ---------------->      
                                         Discard the message
SACK               ---------------->       
                   <----------------      SHUTDOWN-ACK                        

TEST DESCRIPTION:

1. Attempt to terminate an association from endpoint A to endpoint B by 
   sending SHUTDOWN. Send one more SHUTDOWN message to endpoint B from 
   A before receiving SHUTDOWN-ACK message.
2. Check A: SHUTDOWN message is discarded.
3. Check B: Current state is not disturbed.












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 59]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     2.11 T2-Shutdown timer expires for SHUTDOWN-ACK message

TEST NUMBER : 2.11

Reference: SCTP RFC 2960     Clause 9.2

TITLE :  Termination

SUBTITLE: T2-Shutdown timer expires for SHUTDOWN-ACK message.

PURPOSE: To check that after expiry of T2-Shutdown timer, SHUTDOWN-ACK 
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 COMPLETE is sent 
in response to SHUTDOWN-ACK. 

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                Endpoint B            ULP
(Established)                            (Established)         

SHUTDOWN         ---------------->  
                                                                             
                 <----------------       SHUTDOWN-ACK 

                                             | T2 Shutdown         
                                             | Timer    
                                             | 
                 <----------------       SHUTDOWN-ACK             
                                                                          
TEST DESCRIPTION:

1. Try to terminate an association between endpoint A and endpoint B by 
   sending SHUTDOWN message from endpoint A. SHUTDOWN-ACK will be sent 
   from the endpoint A. 
   Don't send SHUTDOWN COMPLETE message from endpoint A.
2. Check A: After expiry of T2-Shutdown timer, SHUTDOWN-ACK message is 
   received again at endpoint A.
3. Repeat the test case if endpoint A is multihomed. In this case 
   SHUTDOWN-ACK message will be retransmitted to the alternate address.












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 60]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     2.12 ASSOCIATION.MAX.RETRANS tries exceeds for SHUTDOWN-ACK message

TEST NUMBER : 2.12

Reference: SCTP RFC 2960     Clause 9.2

TITLE :  Termination

SUBTITLE :ASSOCIATION.MAX.RETRANS tries exceeds for SHUTDOWN-ACK 
message

PURPOSE: To verify that if SHUTDOWN-ACK 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-ACK,
no SHUTDOWN COMPLETE message is sent. Let the ASSOCIATION.MAX.RETRANS 
is x.

EXPECTED MESSAGE SEQUENCE :
Endpoint A                               Endpoint B               ULP
(Established)                           (Established)

SHUTDOWN       ---------------->                                                                                                                                            
               <---------------          SHUTDOWN-ACK                         
                                            |                                                                                       
                                            |   T2-Shutdown timer
                                            | 
                               
               <----------------         SHUTDOWN-ACK                      
                                            |                        
                                            |   T2-Shutdown timer
                                            | 
               <----------------         SHUTDOWN-ACK
                                           . Retransmit 
                                           . SHUTDOWN-ACK  
                                           .  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 A. SHUTDOWN-ACK comes from endpoint B 
   Don't send SHUTDOWN COMPLETE message from endpoint A.
2. Check B: SHUTDOWN-ACK will be retransmitted after T2-Shutdown timer. 
   Again don't send SHUTDOWN COMPLETE message from endpoint A.
3. Check A: If SHUTDOWN-ACK message is transmitted for 
   ASSOCIATION.MAX.RETRANS times without getting an SHUTDOWN COMPLETE, 
   association is closed and upper layers are reported of this.
Note: Value of the T2-Shutdown timer will increase after every 
retransmission.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 61]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     2.13 Receiving SHUTDOWN COMPLETE message in response to SHUTDOWN-ACK 
message

TEST NUMBER : 2.13

Reference: SCTP RFC 2960     Clause 9.2

TITLE :  Termination

SUBTITLE:Receiving SHUTDOWN COMPLETE message in response to SHUTDOWN-
ACK message.

PURPOSE:To check that SHUTDOWN COMPLETE message is accepted in Shutdown 
Ack 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 COMPLETE is sent in 
response to SHUTDOWN-ACK message.


EXPECTED MESSAGE SEQUENCE :

Endpoint A                          Endpoint B                  ULP
(Established)                      (Established)
   
SHUTDOWN        ---------------->                                                                                                                                                                                          
                <---------------    SHUTDOWN-ACK
  
SHUTDOWN COMPLETE ----------------> Remove the association
                                    
                                   Communication down ------>
                                                                                                                     

TEST DESCRIPTION:

1. Try to terminate association between endpoint A and B by sending 
   SHUTDOWN message from endpoint A.  SHUTDOWN-ACK message will be 
   received at endpoint A. 
   Send SHUTDOWN COMPLETE message from endpoint A.
2. Check A: SHUTDOWN COMPLETE message is received at endpoint A.
3. Check B: Association is removed and endpoint B enters closed state.
4. Repeat the above test case if T bit in SHUTDOWN COMPLETE message is 
   set to 1 and verification tag is equal to that of peer.











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 62]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     3 Invalid Message Handling
     3.1Invalid INIT Message with message length < length of all mandatory 
parameters

TEST NUMBER : 3.1

Reference: SCTP RFC 2960     Clause 5.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








Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 63]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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.
   Repeat the above test with value of a_rwnd NULL in INIT message. It 
   will be responded with ABORT.





































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 64]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     3.2 INIT-ACK Message with mandatory parameter missing

TEST NUMBER : 3.2

Reference: SCTP RFC 2960     Clause 5.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.

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

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 65]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     3.3 Invalid Verification Tag field in a message

TEST NUMBER : 3.3

Reference: SCTP RFC 2960     Clause 8.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-ECHO 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-ECHO             ---------------->  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    













Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 66]




Internet Draft          Conformance Test For SCTP              Feb 2001   


c)                                                                                                                                                                                         
                                                   <-------- Associate

                        <----------------  INIT

INIT-ACK                ----------------->                                                  
                        <----------------    COOKIE-ECHO
COOKIE-ACK              ----------------->   Discard the message
(With verification tag different             T1-Init timerfrom expires
received in INIT-ACK)                           

                         <-----------------  COOKIE-ECHO   

For the following cases it is assumed that association exists between 
endpoint A and B.

Endpoint A                                      Endpoint B
(Established)                                  (Established)

d)
DATA                     ---------------->   Discard the message
(With verification tag different             SACK is not sent
from received in INIT-ACK)


e)
       
                                                  <--------- Send
 
                         <------------------ DATA
SACK                     ------------------>   |Discard the message
(With verification tag different               |T3-rxt timer
from received in INIT-ACK)                     |expires 
     
                         <------------------ DATA 

f)

HEARTBEAT                ----------------> Discard the message
(With verification tag different           HEARTBEAT-ACK is not sent 
from received in INIT-ACK)

g)
                                                <--------- Request 
              Heartbeat
                        <-----------------  HEARTBEAT
HEARTBEAT-ACK            -----------------> Discard the message  
(With verification tag different            Retrans.Count counter is 
from received in INIT-ACK)                  not reset   
                                                                                                   



Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 67]




Internet Draft          Conformance Test For SCTP              Feb 2001   


TEST DESCRIPTION:

1. Attempt to initiate an association from endpoint A to B. Send 
   COOKIE-ECHO 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-ECHO 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.








































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 68]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     3.4 Invalid Adler-32 Checksum in SCTP datagram

TEST NUMBER : 3.4

Reference: SCTP RFC 2960     Clause 6.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 checksm)

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-ECHO        ---------------->     Discard the message
(Wrong Adler-32 Checksum)

d)                                           <------- Associate     
                   <----------------     INIT
INIT-ACK           ---------------->   COOKIE-ECHO(Start T1-Init timer)
COOKIE-ACK         ---------------->     Discard the message
(Wrong Adler-32 Checksum)                T1-Init timer expires   
                   <----------------     COOKIE-ECHO   
e)
INIT               ----------------->
                   <----------------     INIT-ACK
COOKIE-ECHO        ----------------->                                                                       
                   <----------------      COOKIE-ACK 
DATA               ----------------->     Discard the DATA 
(Wrong Adler-32 Checksum)                 SACK is not sent          




Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 69]




Internet Draft          Conformance Test For SCTP              Feb 2001   


f)
INIT                ----------------->
                    <----------------    INIT-ACK
COOKIE-ECHO         ----------------->                                                                     
                    <-----------------   COOKIE-ACK 
                                                       <-------- Send 
                    <-----------------    DATA                                                                            
 SACK                                     T3-rxt timer  
(Wrong Adler-32 Checksum)  -----------------> Discard SACK  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 Request 
                   <-----------------    HEARTBEAT

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
j)
                                                  <--------- Terminate
                    <-----------------    SHUTDOWN
SHUTDOWN-ACK        ------------------>   Discard the message
(Wrong Adler-32 Checksum)
                                          T2-Shutdown timer expires 
 
                    <------------------                   
                                          SHUTDOWN  

k)

ABORT                ------------------>  Discard ABORT
(Wrong Adler-32 Checksum)                         <---------- Send
                     <-----------------    DATA    




Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 70]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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-ECHO, 
   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.







































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 71]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     3.5 Invalid COOKIE-ECHO message with wrong MD5 signature

TEST NUMBER : 3.5

Reference: SCTP RFC 2960     Clause 5.1.5 (1)&(2)

TITLE :  Invalid Message Handling

SUBTITLE: Invalid COOKIE-ECHO message.

PURPOSE: To check the action of the system on reception of invalid 
COOKIE-ECHO message.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that COOKIE-ECHO 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-ECHO    ------------------>   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-ECHO 
   message containing different MD5 signature from the one received in 
   INIT-ACK. 
   Record the message sequence using a signal emulator.
2. Check A: COOKIE-ECHO message is discarded 
3. Check B: Association remains in closed state. 
4. Check C: COOKIE-ACK will not be sent from endpoint B.














Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 72]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     3.6 Invalid COOKIE-ECHO message with life time expired

TEST NUMBER : 3.6

Reference: SCTP RFC 2960     Clause 5.1.5 (3)

TITLE :  Invalid Message Handling

SUBTITLE: Invalid COOKIE-ECHO message

PURPOSE: To check the action of the system on reception of invalid 
COOKIE-ECHO message.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that COOKIE-ECHO message is 
sent after life time of the received cookie in INIT-ACK message has 
expired. Also let the life time of COOKIE-ECHO sent by B is x sec.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                           Endpoint B
(Closed)                              (Closed)

INIT           ----------------->
                                                                                               
                                                                                                                    
Time > x sec   <-----------------    INIT_ACK 
                                  (With Cookie having life time x sec.)

COOKIE-ECHO    ----------------->    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-ECHO message after the life time received in INIT-ACK has 
   expired. 
   Record the message sequence using a signal emulator.
2. Check A: COOKIE-ECHO 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. 







Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 73]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     3.7 Invalid ABORT message

TEST NUMBER : 3.7

Reference: SCTP RFC 2960     Clause 8.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.

2. Check A: ABORT message is discarded and no actions are taken.

















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 74]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     3.8 Chunk length greater than packet length

TEST NUMBER : 3.8

Reference: SCTP RFC 2960     

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-ECHO, COOKIE-ACK, SHUTDOWN, SHUTDOWN-ACK, HEARTBEAT, 
   HEARTBEAT-ACK, ABORT, DATA and ERROR.
















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 75]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     3.9 Invalid SHUTDOWN-ACK message

TEST NUMBER : 3.9

Reference: SCTP RFC 2960       8.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 verification tag)
DATA             ----------------->
                             
                 <-----------------     SACK
                                                                                                                         


TEST DESCRIPTION:

1. Try to send SHUTDOWN-ACK message from endpoint B with verification 
   tag neither its own nor of its peer while the other end is in
   Shutdown Sent state.
2. Check A: SHUTDOWN-ACK message is ignored.
3. Check B: Current state of endpoint B is not disturbed. 













Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 76]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     3.10 Invalid SHUTDOWN COMPLETE message

TEST NUMBER : 3.10

Reference: SCTP RFC 2960       8.5.1  (c)

TITLE :  Invalid Message Handling

SUBTITLE: Invalid SHUTDOWN COMPLETE message 

PURPOSE: To check the action of the system on reception of invalid 
SHUTDOWN COMPLETE message.

PRE-TEST CONDITIONS:Association is established between endpoint A and B 
Arrange the data in endpoint A such that SHUTDOWN COMPLETE message with 
invalid verification tag is sent to endpoint B in Shutdown Ack Sent
state.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                              Endpoint B              ULP
(Established)                          (Established)
   SHUTDOWN          ---------------->                                                                                                                                           

                     <----------------    SHUTDOWN-ACK                                                                                                                                        
                                                                                                                        
 SHUTDOWN COMPLETE   ---------------->         Ignore the message
(Invalid verification tag)

  SHUTDOWN COMPLETE  ---------------->                                                                                                          
                                         Communication Down  -------->                            


TEST DESCRIPTION:

1. Try to send SHUTDOWN COMPLETE message from endpoint B with 
   verification tag neither its own tag nor of its peer while the other 
   end is in Shutdown Ack Sent state.
2. Check A: SHUTDOWN COMPLETE message is ignored.
3. Check B: Current state of endpoint B is not disturbed. 
4. Repeat the above test case if verification tag in the SHUTDOWN
   COMPLETE message matches the peer verification tag but T bit is not 
   set to 1.Response should be same.










Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 77]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4 Duplicate Message
     4.1 INIT Collision

TEST NUMBER : 4.1

Reference: SCTP RFC 2960     Clause 5.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
         
                                       T1-Init timer expires
                   <-----------------       INIT


                                                                                          
TEST DESCRIPTION:

1. Attempt to make an association between endpoint B and A by sending 
   associate primitive from ULP. INIT will be sent to endpoint A. Send 
   INIT message in response to INIT.
2. Check A: INIT-ACK message is received 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 
   message).
4. Check C: 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.
5. Repeat the above test case if INIT is sent by endpoint A after 
   receiving COOKIE-ECHO from the other end.  In this case Tie Tag 
   filed of Cookie parameter in INIT-ACK message should be populated 
   with tag information of endpoint A and B.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 78]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     4.2 Duplicate INIT Message
     4.2.1 Duplicate INIT Message in Established state

TEST NUMBER : 4.2.1

Reference: SCTP RFC 2960     Clause 5.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. Also source IP address and destination IP 
address are same as in the established association.

EXPECTED MESSAGE SEQUENCE :

Endpoint A (Established)                     Endpoint B (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.
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 not equal to the Init 
   Tag in the existing association and it is a new value generated 
   randomly.
5. Check D: Cookie, sent in the INIT-ACK message,is the newly generated 
   Cookie with the information in the duplicate INIT message with local 
   tie tag and peer tie tag equal to current verification tag and peer 
   verification tag
6. Check :Other parameters in the INIT-ACK are copied from the existing 
   association like number of OS, a_rwnd.
7. Check F:After sending INIT-ACK message,no other action is taken i.e. 
   existing association is not disturbed.
8. Repeat the above test case if INIT message is sent to endpoint B
   after receiving SHUTDOWN message from endpoint B. response should be
   same.
9. Repeat the above test case if INIT message is sent to endpoint B in 
   Shutdown pending state and Shutdown receive state.Response should be 
   same.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 79]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     4.2.2 Duplicate INIT message in Shutdown-Ack sent state

TEST NUMBER : 4.2.2

Reference: SCTP RFC 2960  Clause 9.2

TITLE : Duplicate Message 

SUBTITLE : Duplicate INIT message in Shutdown-Ack sent state

PURPOSE: To check the action of the system on reception of duplicate 
INIT message in Shutdown-Ack Sent state

PRE-TEST CONDITIONS:Association is established between endpoint A and B 
Arrange the data in Endpoint A such that after receiving SHUTDOWN-ACK 
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)
                                
   SHUTDOWN         ----------------->
                    <----------------       SHUTDOWN-ACK                         
                                        (Start T2-Shutdown timer)                                                                              
INIT                ----------------->

                                         Discard INIT message
                    <----------------     SHUTDOWN-ACK                                                                               
                                        (Restart T2-Shutdown Timer)

Don't send SHUTDOWN COMPLETE                 |
                                             |
                                             |  x sec.
                                             |   
                    <-----------------  SHUTDOWN-ACK

TEST DESCRIPTION:

1. Try to terminate the association between endpoint A and B by sending 
   SHUTDOWN message from endpoint A. After Receiving SHUTDOWN-ACK 
   message, send INIT message with same transport addresses with which 
   association is established from the endpoint A.
2. Check A: INIT message is discarded and SHUTDOWN-ACK message is 
   transmitted again.
3. Check B: T2-Shutdown Timer is restarted after sending SHUTDOWN-ACK 
   again. 






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 80]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.3 Duplicate INIT-ACK in COOKIE-ECHO Sent state

TEST NUMBER : 4.3

Reference: SCTP RFC 2960      Clause 5.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-ECHO message.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B               ULP
(Closed)                                (Closed)     <--------Associate

                 <----------------       INIT                         
INIT-ACK         ----------------->
 
                 <-----------------    COOKIE-ECHO                       
                                                                                           
 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-ECHO message.
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. Repeat the above test case when INIT-ACK is received in other states 
   like Closed, Established, Shutdown Sent, Shutdown pending, Shutdown-
   Ack sent and Shutdown Receive. In all the cases INIT-ACK should be
   ignored.






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 81]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     4.4 Duplicate COOKIE-ACK in established state

TEST NUMBER : 4.4

Reference: SCTP RFC 2960       Clause  5.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-ECHO                       
                                                                                           
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.
2. Check A:COOKIE-ACK message received in Established state is 
   discarded without affecting current association.
3. Check B: Current association is not disturbed.
4. Repeat the above test case for other states like Closed, Cookie_Wait 
   ,Shutdown pending, Shutdown sent, Shutdown receive and Shutdown-Ack 
   sent state. COOKIE-ACK will be discarded in all cases.
5. Repeat these test cases with ERROR message with cause Stale Cookie 
   Error instead of COOKIE-ACK message. This will also be discarded.






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 82]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.5 SHUTDOWN Collision

TEST NUMBER : 4.5

Reference: SCTP RFC 2960  Clause 9.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                                                                               
                                   (Restart T2-Shutdown Timer)
                                                                                                                 
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 restarted.


















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 83]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.6 Duplicate Shutdown Message
     4.6.1 Duplicate SHUTDOWN message in Cookie Wait state

TEST NUMBER : 4.6.1

Reference: SCTP RFC 2960     Clause 9.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          ----------------->                                                                   
                                     Discard SHUTDOWN message
                                                                       
                                     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 discarded. 
3. Check B: After expiry of T1-Init timer INIT message is transmitted 
   again.
4. Repeat the above test case when SHUTDOWN is received in other states 
   like Cookie Echoed state. Response will be the same as in the above 
   case.








Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 84]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.6.2 Duplicate SHUTDOWN message in closed state

TEST NUMBER : 4.6.2

Reference: SCTP RFC 2960      Clause 9.2

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         ---------------->                                                                                                                                  
                                                                                                                      
                 <----------------              ABORT                                 

                                                                                                                         


TEST DESCRIPTION:

1. Try to send SHUTDOWN message from one endpoint while the other end 
   is in closed state.
2. Check A: SHUTDOWN message is responded by ABORT message.
3. Check B: Verification tag field in ABORT message is set to 
   verification tag received in SHUTDOWN message. 

















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 85]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.6.3 Duplicate SHUTDOWN message in Shutdown Receive state

TEST NUMBER : 4.6.3

Reference: SCTP RFC 2960  Clause 9.2  

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 the SHUTDOWN

SACK           ----------------->
                                                                                                                         
               <-----------------  SHUTDOWN-ACK
                                  Communication Lost ---------->

TEST DESCRIPTION:

1. Try to terminate the association between endpoint A and B by sending 
   SHUTDOWN 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.











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 86]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.6.4 Duplicate SHUTDOWN message in Shutdown Sent state

TEST NUMBER : 4.6.4

Reference: SCTP RFC 2960  Clause 9.2  

TITLE :  Duplicate Message 

SUBTITLE : Duplicate SHUTDOWN message in Shutdown Sent state

PURPOSE: To check the action of the system on reception of duplicate 
SHUTDOWN message in Shutdown sent state.

PRE-TEST CONDITIONS:Association is established between endpoint A and 
B. Arrange the data in endpoint B such that terminate primitive is 
received from ULP to terminate the association. Arrange data in 
endpoint A such that SHUTDOWN message is sent to endpoint B.


EXPECTED MESSAGE SEQUENCE :

Endpoint A                            Endpoint B                   ULP
(Established)                       (Established)
                                                  <-------- Terminate

                 <----------------   SHUTDOWN
SHUTDOWN         ---------------->                                                                                                                    
                                                                                                             
                 <----------------   SHUTDOWN-ACK
                                   T2-Shutdown timer is restarted
                                           |
                                           |
                                           | T2-Shutdown timer expires
                                           |
                                           |                                                                                        
                 <-----------------  SHUTDOWN-ACK
                                                                                                

TEST DESCRIPTION:

1. Try to terminate the association between endpoint A and B by sending 
   terminate primitive from ULP. While endpoint B is in Shutdown sent 
   state, send SHUTDOWN message from endpoint A.
2. Check A: SHUTDOWN-ACK message is sent in response to the SHUTDOWN 
   message.
3. Check B: T2-Shutdown timer is restarted.







Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 87]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.7 Duplicate SHUTDOWN-ACK
     4.7.1 SHUTDOWN-ACK in Cookie_Wait state

TEST NUMBER : 4.7.1

Reference: SCTP RFC 2960      Clause 8.5.1 (e)

TITLE :  Duplicate Message

SUBTITLE: SHUTDOWN-ACK in Cookie_Wait state.

PURPOSE: To check the action of the system on reception of duplicate 
SHUTDOWN-CK 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   ----------------->
               <----------------   SHUTDOWN COMPLETE
                                                                                                                         
INIT-ACK       ------------------>
               <-----------------    COOKIE-ECHO
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.
2. Check A: SHUTDOWN COMPLETE message is received with the verification
   tag equal to the verification tag received in SHUTDOWN-ACK message 
   and T bit set to 1. 
3. Check B: Current state of endpoint A is not disturbed.
4. Repeat the above test case if endpoint B is in Cookie Echoed state. 
   Response should be same.






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 88]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.7.2 SHUTDOWN-ACK in Established state

TEST NUMBER : 4.7.2

Reference: SCTP RFC 2960      Clause 8.5.1 (e)

TITLE :  Duplicate Message

SUBTITLE: SHUTDOWN-ACK in Established state.

PURPOSE: To check the action of the system on reception of duplicate 
SHUTDOWN-ACK message in Established state.

PRE-TEST CONDITIONS: Association is established between endpoint A and 
B. Arranged the data in Endpoint A such that SHUTDOWN-ACK message is 
sent to endpoint B with correct verification tag.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                          Endpoint B              ULP
(Established)                      (Established)
                                                                                                                                                       
SHUTDOWN-ACK    ---------------> Discard the message
                <---------------   DATA
                                                                                                                        
SACK            ---------------->

TEST DESCRIPTION:

1. Try to send SHUTDOWN-ACK message with correct verification tag from 
   one endpoint while the other end is in stablished state.
2. Check A: The message is discarded as theend point has send SHUTDOWN 
   and as such not expecting SHUTDOWN-ACK.




















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 89]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.7.3 SHUTDOWN-ACK in SHUTDOWN-ACK Sent state

TEST NUMBER : 4.7.3

Reference: SCTP RFC 2960      Clause 9.2

TITLE :  Duplicate Message

SUBTITLE: SHUTDOWN-ACK in SHUTDOWN-ACK Sent state.

PURPOSE: To check the action of the system on reception of duplicate 
SHUTDOWN-ACK message.

PRE-TEST CONDITIONS: Association is established between endpoint A and 
B. Arranged the data in Endpoint A such that SHUTDOWN message is sent
to endpoint B. Also SHUTDOWN-ACK message is sent to endpoint B after 
receiving SHUTDOWN-ACK message.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                      Endpoint B      
(Established)                                   (Established)
   

SHUTDOWN         ----------------->                                                                                                                                        
                                                                                                                        
                 <-----------------             SHUTDOWN-ACK                                 

SHUTDOWN-ACK     ----------------->
                 <-----------------            SHUTDOWN COMPLETE
                                  Communication Down   --------->                     
                                                                                                                         


TEST DESCRIPTION:

1. Send SHUTDOWN message from endpoint A to B to terminate the 
   association. SHUTDOWN-ACK will be received. Send SHUTDOWN-ACK 
   message on receiving SHUTDOWN-ACK message.
2. Check A: SHUTDOWN COMPLETE message is received. 
3. Check B: Association move to the closed state and communication down 
   indication is given to ULP.











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 90]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.8 Duplicate COOKIE-ECHO Message
     4.8.1 Duplicate COOKIE-ECHO Message with invalid MAC

TEST NUMBER : 4.8.1

Reference: SCTP RFC 2960     Clause 5.2.4

TITLE :  Duplicate COOKIE-ECHO Message

SUBTITLE : Duplicate COOKIE-ECHO Message with invalid MAC.

PURPOSE: To check the action of the system on reception of duplicate 
COOKIE-ECHO with invalid MAC in established state.

PRE-TEST CONDITIONS: Association is established between endpoint A and 
B. Arrange the data in endpoint A such that COOKIE-ECHO message with 
invalid MAC is sent to B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                 Endpoint B
(Established)                             (Established)

 COOKIE-ECHO          --------------->  Discard the COOKIE-ECHO 
  (Invalid MAC) 

 DATA                 ---------------->                                   

                      <----------------     SACK

 
TEST DESCRIPTION:

1. Try to send a message with invalid MAC in the Established state from 
   endpoint A to B.
2. Check A: COOKIE-ECHO message is discarded.
3. Check B: Existing association is not disturbed.
















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 91]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.8.2 Duplicate COOKIE-ECHO Message with valid MAC but expired life 
        time.

TEST NUMBER : 4.8.2

Reference: SCTP RFC 2960     Clause 5.2.4

TITLE :  Duplicate COOKIE-ECHO Message

SUBTITLE : Duplicate COOKIE-ECHO Message with valid MAC but expired 
life time .

PURPOSE: To check the action of the system on reception of duplicate 
COOKIE-ECHO with expired life time.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Let the life time of COOKIE-ECHO sent by B is x sec. Arrange the 
data in endpoint A such that COOKIE-ECHO message with expired lifetime 
is sent to B after establishing an association with a valid MAC and 
verification tags in the cookie don't match current association's 
verification tags.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B                 ULP
(Established)                          (Established)

INIT                 ----------------->
                     <-----------------   INIT-ACK    
                                       (Cookie life time = x sec.)

COOKIE-ECHO          ---------------->                                                                         
                                        COOKIE-ACK
                                         Communication Up ---------->

COOKIE-ECHO          ----------------->
(send after x 
sec of receiving 
INIT-ACK)                      
                     <-----------------  ERROR  
DATA                 ----------------->
                     <-----------------   SACK

TEST DESCRIPTION:

1. Try to send a COOKIE-ECHO message with expired life time in the 
   Established state from endpoint A to B.
2. Check A: COOKIE-ECHO message is discarded and ERROR message with
   "Stale cookie error" is received at endpoint A.
3. Check B: Existing association is not disturbed.



Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 92]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.8.3 Duplicate valid COOKIE-ECHO Message when Local and Peer tags 
don't match the existing TCB but local and peer tie tag matches the 
existing TCB.

TEST NUMBER : 4.8.3

Reference: SCTP RFC 2960     Clause 5.2.4

TITLE :  Duplicate COOKIE-ECHO Message

SUBTITLE : Duplicate valid COOKIE-ECHO Message when Local and Peer tags 
don't match the existing TCB but local and peer tie tag matches the 
existing TCB 

PURPOSE: To check the action of the system on reception of duplicate 
valid COOKIE-ECHO.

PRE-TEST CONDITIONS: Association is established between endpoint A and 
B.Arrange the data in endpoint A such that valid COOKIE-ECHO message in 
which local and peer tag don't match the existing association but local 
and peer tie tags matches the TCB of existing association is sent to B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                            Endpoint B               ULP       
(Established)                        (Established)

 COOKIE-ECHO      --------------->                                                                                                   
 (valid)                                                                                         

                  <---------------     COOKIE-ACK
                                                     Restart -------->
DATA              ---------------->
                  <----------------    SACK

TEST DESCRIPTION:

1. Try to send a valid COOKIE-ECHO message in the Established state 
   from endpoint A to B.
2. Check A: COOKIE-ACK message is sent in response to COOKIE-ECHO
   message.
3. Check B: Restart indication is given to the ULP.
4. Check C: Association is established.

Note: Valid COOKIE-ECHO means that it is having correct MAC and 
verification tags matches the tags in the current association.







Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 93]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.9 Duplicate SHUTDOWN COMPLETE message in Cookie Wait state

TEST NUMBER : 4.9

Reference: SCTP RFC 2960     Clause 9.2

TITLE :  Duplicate Message

SUBTITLE : Duplicate SHUTDOWN COMPLETE message in Cookie Wait state

PURPOSE: To check the action of the system on reception of duplicate 
SHUTDOWN COMPLETE message.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint A such that SHUTDOWN COMPLETE 
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 COMPLETE   ----------------->                                                                 
                                        Discard the message
                                                                                   
                                        T1-Init timer expires
                    <-----------------      INIT


TEST DESCRIPTION:

1. Try to create an association between endpoint A and B by sending 
   INIT message.Send SHUTDOWN COMPLETE message from the other endpoint.
2. Check A: SHUTDOWN COMPLETE message is ignored. 
3. Check B: After expiry of T1-Init timer INIT message is transmitted 
   again.
4. Repeat the above test case when SHUTDOWN COMPLETE is received in 
   other states like Cookie Echoed, established, Cookie wait, Shutdown 
   pending, Shutdown receive and Shutdown sent state. Response will be
   the same as in the above case.








Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 94]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.10 Duplicate valid COOKIE-ECHO Message in Shutdown Ack sent state
when Local and Peer tags don't match the existing TCB but local and 
peer tie tag matches the existing TCB.

TEST NUMBER : 4.10

Reference: SCTP RFC 2960     Clause 5.2.4

TITLE :  Duplicate COOKIE-ECHO Message

SUBTITLE : Duplicate valid COOKIE-ECHO Message in Shutdown Ack sent
state when Local and Peer tags don't match the existing TCB but local
and peer tie tag matches the existing TCB 

PURPOSE: To check the action of the system on reception of duplicate
valid COOKIE-ECHO.

PRE-TEST CONDITIONS: Association is established between endpoint A and
B.Arrange the data in endpoint A such that valid COOKIE-ECHO message in 
which local and peer tag don't match the existing association but local 
and peer tie tags matches the TCB of existing association is sent to B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B               ULP       
(Established)                         (Established)

SHUTDOWN       ----------------->                                                                                                     
                                                                                          

               <-----------------      SHUTDOWN-ACK

COOKIE-ECHO    ----------------->
               <-----------------      SHUTDOWN-ACK
  
               <------------------       ERROR
                                                                                                            

TEST DESCRIPTION:

1. Try to send a valid COOKIE-ECHO message in the Shutdown Ack sent 
   state from endpoint A to B.
2. Check A: COOKIE-ACK message is discarded and SHUTDOWN-ACK message 
   is sent again.
3. Check B: ERROR message is also sent to endpoint A with error cause 
   "Cookie received while shutting down".
4. Check C: Current state is not disturbed.

Note: Valid COOKIE-ECHO means that it is having correct MAC and 
verification tags matches the tags in the current association.



Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 95]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     4.11 DATA packet in Shutdown-Ack Sent state

TEST NUMBER : 4.11

Reference: SCTP RFC 2960     Clause 6

TITLE :  Duplicate Message

SUBTITLE : DATA packet in Shutdown-Ack Sent state

PURPOSE: To check the action of the system on reception of duplicate 
data packet in Shutdown-Ack sent state.

PRE-TEST CONDITIONS:Association is established between endpoint A and 
B.Arrange the data in endpoint A such that Shutdown message is sent to 
endpoint B. Also DATA message is sent from endpoint A to B.


EXPECTED MESSAGE SEQUENCE :

Endpoint A                            Endpoint B               ULP       
(Established)                       (Established)

SHUTDOWN         ----------------->                                                                                                   
                                                                                          

                 <-----------------     SHUTDOWN-ACK
                 ----------------->
DATA
                                     Data is discarded
  
                                                                                                 
                                                                                                            

TEST DESCRIPTION:

1. Try to send a valid DATA message in the Shutdown Ack sent state from 
   endpoint A to B.
2. Check A: DATA message is discarded.
3. Check C: Current state is not disturbed.
4. Repeat the above test case for DATA in other states like Shutdown 
   receive, Cookie Wait and Cookie Echoed.
5. Repeat the above test case for SACK in place of DATA chunk in states 
   Shutdown-Ack sent, Cookie Wait and Shutdown sent state.









Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 96]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     5 Fault Handling
          1 Association.Max.Retrans Counter
     5.1.1 Total number of consecutive retransmission exceeds 
Association.Max.Retrans

TEST NUMBER : 5.1.1

Reference: SCTP RFC 2960     Clause 8.1

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 = Note)
Don't send SACK                            |  Increment P.
                                           |  T3-rxt expires                      
                     <-----------------     DATA  (IP = Note)
                                                     Increment P 
                                                                                                                                                             
                                            Retrans.Count exceeds                             
                                            Path.Max.Retrans               
                                                                                             
                                           DATA (IP = Note) Increment P
Don't send SACK      <-----------------       T3-rxt expires       
                                           DATA (IP = Note) Increment P
Don't send SACK      <-----------------
                                                 P has exceeded X.
                                              Association is closed
                                           Communication Lost ------->  





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 97]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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: The Data may be retransmitted to the same IP address or to an 
alternate IP address. In each retransmission the counter Retrans.Count 
corresponding to each IP address to which DATA is retransmitted will be
incremented. 

Note1: Value of T3-rxt timer will be calculated after every
retransmission.

































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 98]




Internet Draft          Conformance Test For SCTP              Feb 2001   

        5.1.2 The counter counting total number of retransmission to an
endpoint is reset on receiving a SACK.

TEST NUMBER : 5.1.2

Reference: SCTP RFC 2960     Clause 8.1

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

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 99]




Internet Draft          Conformance Test For SCTP              Feb 2001   

 
TEST DESCRIPTION:

1. From an endpoint in established state,send DATA to another endpoint.
   Dont send the SACK from another endpoint and let the T3-rxt timer 
   expires Retrans.Count counter will be incremented.  DATA will be 
   retransmitted and counter counting total number of retransmission to 
   same IP address will be incremented. Now 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.
3. Check B: PATH. MAX. RETRANS counter is also reset.
4. Repeat the above test case if endpoint A is multihomed.

Note: Value of T3-rxt timer will be calculated after every 
retransmission.






































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems      [Page 100]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     5.2 Retrans.Count counter exceeds the Path.Max.Retrans

TEST NUMBER : 5.2

Reference: SCTP RFC 2960     Clause 8.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)                                                                                                  
                                                                     
                                                |
                                                | T3-rxt expires 
                                             Increment Retrans.Count
                     <----------------- DATA  (IP = Note, Port = a)                                                                              
                                               |
                                               |    T3-rxt expires                       
                                               |Increment Retrans.Count
                                        Retrans Count exceeds 
                                        Path Max.Retrans
                                        IP address x is marked inactive                                                            
                                        Network Status Change ------->
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. 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 to  alternate transport address if one
   is available.However this is implementation specific.

Note: The Data may be retransmitted to the same IP address or to an 
alternate IP address. In each retransmission the counter Retrans.Count 
corresponding to each IP address to which DATA is retransmitted will be 
incremented. 
Note1: Value of T3-rxt timer will be calculated after every
retransmission.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 101]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     5.3 Retrans.Count counter is reset on receiving HEARTBEAT-ACK or
      SACK.

TEST NUMBER : 5.3

Reference: SCTP RFC 2960     Clause 8.2

TITLE :  Fault Handling

SUBTITLE: Retrans.Count counter is reset on receiving HEARTBEAT-ACK or 
SACK.

PURPOSE: To check that 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)                                                                          
                                    |
                                    | T3-rxt expires 
                                    | Increment Retrans.Count
              <-----------------     DATA (IP =Note, Port = a) 
                                    |
                                    |       T3-rxt expires
                                    |      Increment Retrans.Count
SACK          ----------------->
                                      Retrans.Count counter is reset  
              <---------------------- Send
              <-----------------      DATA(IP =y, Port = a)
                                            T3-rxt timer expires
              <-----------------      DATA(IP =Note, Port = a)
                                          . T3-Rxt timer expires

                                         DATA is retransmitted x times
                                      IP address y is marked inactive
                                        Network Status change ------->






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 102]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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. 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: The Data may be retransmitted to the same IP address 
   or to an alternate IP address. In each retransmission the counter
   Retrans.Count corresponding to each IP address to which DATA is
   retransmitted will be incremented. 

Note1: Value of T3-rxt timer will be calculated after every
retransmission.



































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 103]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     5.4 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 RFC 2960     Clause 8.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 Add = x Port = c)  (IP add = x)                                                                                  
                                    |
                                    | T3-rxt expires 
                                      Increment Retrans.Count
             <-----------------   DATA (IP Add = x Port = c)
                                                                                                                                                                      
                                       T3-rxt expires    
             <-----------------   DATA (IP Add = Note Port = c)
                                    . Retransmit "a" times   
                                      Path.Max.Retrans for x exceeds

                                     Network Status change ----------->
             <-----------------   DATA (IP add = y Port = c)  
                                     (retransmission)
SACK         ----------------->
                                   Retrans.Count counter  is not reset  
                                                    <--------   Send
                                                          (IP add = x)
             <-----------------   DATA (IP add = y Port = c) 
                               





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 104]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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

Note: The Data may be retransmitted to the same IP address or to an 
alternate IP address. In each retransmission the counter Retrans.Count 
corresponding to each IP address to which DATA is retransmitted will be 
incremented. 

Note1: This case is implementation specific.



Note2: Value of T3-rxt timer will be calculated after every 
retransmission.































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 105]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     5.5 HEARTBEAT message is sent periodically to an idle active station



TEST NUMBER : 5.5

Reference: SCTP RFC 2960     Clause 8.3

TITLE :  Fault Handling

SUBTITLE: HEARTBEAT message 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 ------->
             <-----------------   HEARTBEAT(IP = y, Port = c)
                                    Retrans.Count Counter is not
                                    incremented as it has reached
                                     the maximum value x      
                                          
                                   






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 106]




Internet Draft          Conformance Test For SCTP              Feb 2001   


TEST DESCRIPTION:

1. From an endpoint in established state, do not send any message to 
   another endpoint within the current Heartbeat period. 
2. Check A: HEARTBEAT message is sent from one endpoint to its peer. 
3. Check B: Retrans.Count counter is incremented.
4. Check C: If DATA message is sent in between sending HEARTBEAT from 
   endpoint B to A then heartbeat interval is started from the time
   when DATA message was sent.
5. Check D: Heartbeat interval is equal to the RTO for that destination 
   plus the HB interval set by the SCTP user.
6. Repeat the above test case when the endpoint A has been marked 
   inactive.
7. Repeat the above test case if endpoint A is multihomed and all are 
   idle. Only one HEARTBEAT message to on destination should be sent in 
   one HB interval.





































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 107]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     5.6 Heartbeat Request primitive

TEST NUMBER : 5.6

Reference: SCTP RFC 2960     Clause 8.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.















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 108]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     5.7 HEARTBEAT message is responded with HEARBEAT-ACK
TEST NUMBER : 5.7

Reference: SCTP RFC 2960     Clause 8.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.
















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 109]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     5.8 HEARTBEAT-ACK message comes from an inactive destination

TEST NUMBER : 5.8

Reference: SCTP RFC 2960 Clause 8.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 thatHEARTBEAT-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 = Note, 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

            <-----------------  HEARTBEAT (IP = y, Port = c)  (IP = y)
HEARTBEAT-ACK   -----------------> IP address is marked active
                                   Network Status Change ----->                
                <----------------- DATA              <-------- Send








Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 110]




Internet Draft          Conformance Test For SCTP              Feb 2001   


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: The Data may be retransmitted to the same IP address or to an 
alternate IP address. In each retransmission the counter Retrans.Count 
corresponding to each IP address to which DATA is retransmitted will be 
incremented. 

Note1: Value of T3-rxt timer will be calculated after every 
retransmission.





































Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 111]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     5.9 OOTB datagram
     5.9.1 OOTB DATA Packet

TEST NUMBER : 5.9.1

Reference: SCTP RFC 2960     Clause 8.4

TITLE :  Fault Handling

SUBTITLE: Valid DATA packet comes from an address with which endpoint
has no association. (OOTB datagram)

PURPOSE: To check that a data packet, 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-ECHO
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.
6. Check E: T-Bit in the ABORT chunk is set to 1.
7. Repeat the above test case for SHUTDOWN, INIT-ACK and SACK chunk. 
   Response should be same.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 112]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     5.9.2 OOTB ABORT Packet

TEST NUMBER : 5.9.2

Reference: SCTP RFC 2960     Clause 8.4

TITLE :  Fault Handling

SUBTITLE: Valid ABORT chunk comes from an address with which endpoint 
has no association. (OOTB datagram)

PURPOSE: To check that ABORT, received from a destination address 
corresponding to which there is no association, is silently discarded.

PRE-TEST CONDITION: No association exists between endpoint A and B. 
Arrange the data in endpoint A such that ABORT is sent to endpoint B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                          Endpoint B                 ULP
                                     (Closed)          

ABORT           ---------------->     Passes Adler-32 checksum

                                                                                                                    
                                      Discard the ABORT chunk   
                                                                                                   
                                                                                                 
                                                  <-------   Associate         
                <-----------------    INIT
INIT-ACK        ------------------>
                <------------------   COOKIE-ECHO
COOKIE-ACK      ------------------>
                                                    <-------   Send
                <------------------   DATA
                                                    

TEST DESCRIPTION:

1. From endpoint A, send valid ABORT message to endpoint B, when there
   is no association between them. 
2. Check A: ABORT message will be silently discarded.
3. Check C: State of endpoint B is not disturbed.
4. Repeat the test case with T bit set to 0 and 1.








Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 113]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     5.9.3 OOTB SHUTDOWN-ACK Packet

TEST NUMBER : 5.9.3

Reference: SCTP RFC 2960     Clause 8.4

TITLE :  Fault Handling

SUBTITLE: Valid SHUTDOWN-ACK packet comes from an address with which 
endpoint has no association. (OOTB datagram)

PURPOSE: To check that a SHUTDOWN-ACK packet, received from a 
destination address corresponding to which there is no association,
is responded with SHUTDOWN-COMPLETE message.

PRE-TEST CONDITION: No association exists between endpoint A and B.
Arrange the data in endpoint A such that SHUTDOWN-ACK is sent to 
endpoint B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B               ULP
                                       (Closed)          

SHUTDOWN-ACK       ---------------->  Passes Adler-32 checksum

                                                                                                                     
                                                                                                               
                   <----------------  SHUTDOWN COMPLETE
                                      Discard the DATA
                                                <--------- Associate         
                   <----------------  INIT
INIT-ACK           ---------------->
                                      COOKIE-ECHO
COOKIE-ACK         ---------------->
                                                    <---------- end
                   <----------------  DATA
                                                    

TEST DESCRIPTION:

1. From endpoint A, send valid SHUTDOWN-ACK message to endpoint B, when 
   there is no association between them. 
2. Check A: SHUTDOWN COMPLETE message will be sent.
3. Check B: Verification tag in the SHUTDOWN COMPLETE message will be 
   set equal 
to the verification tag in the received SHUTDOWN-ACK message. 
4. Check C: T bit in the chunk flags is set to 1.
5. Check D: State of endpoint B is not disturbed.




Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 114]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     5.9.4 OOTB SHUTDOWN COMPLETE Packet

TEST NUMBER : 5.9.4

Reference: SCTP RFC 2960     Clause 8.4

TITLE :  Fault Handling

SUBTITLE: Valid SHUTDOWN COMPLETE packet comes from an address with 
which endpoint has no association. (OOTB datagram)

PURPOSE: To check that a SHUTDOWN COMPLETE packet, received from a 
destination address corresponding to which there is no association, is 
silently discarded.


PRE-TEST CONDITION: No association exists between endpoint A and B. 
Arrange the data in endpoint A such that SHUTDOWN COMPLETE is sent 
to endpoint B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                            Endpoint B               ULP
                                      (Closed)          

SHUTDOWN COMPLETE   ---------------->  Passes Adler-32 checksum

                                                                                                                     
                                                                                                               
                                       Discard SHUTDOWN COMPLETE
                                                                                                  
                                                  <--------- Associate         
                    <----------------  INIT
INIT-ACK            ----------------->
                    <----------------- COOKIE-ECHO
COOKIE-ACK          ----------------->
                                                  <---------  Send
                    <------------------ DATA
                                                    

TEST DESCRIPTION:

1. From endpoint A, send valid SHUTDOWN COMPLETE message to endpoint B,
   when there is no association between them. 
2. Check A: SHUTDOWN COMPLETE message will be discarded.
3. Check B: State of endpoint B is not disturbed.
4. Repeat the test case with T bit set to 0 and 1.
5. Repeat the test case if instead of SHUTDOWN COMPLETE message, 
   "stale cookie" ERROR is received. Response should be same.
6. Repeat the test case if instead of SHUTDOWN COMPLETE message, 
   COOKIE ACK message is received. Response should be same.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 115]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     5.9.5 OOTB Packet from or to non-unicast address

TEST NUMBER : 5.9.5

Reference: SCTP RFC 2960     Clause 8.4

TITLE :  Fault Handling

SUBTITLE:Valid packet comes from non-unicast address with which
endpoint has no association. (OOTB datagram)

PURPOSE: To check that a valid packet, received from a non-unicast 
address or destined to non-unicast address is silently discarded.

PRE-TEST CONDITION: No association exists between endpoint A and B. 
Arrange the data in endpoint A such that COOKIE ECHO is sent to
endpoint B with non unicast source address.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                          Endpoint B              ULP
                                    (Closed)          

COOKIE ECHO    ---------------->  Passes Adler-32 checksum

                                  Discard COOKIE ECHO

                                                <--------- Associate         
               <----------------  INIT
INIT-ACK       ---------------->
               <----------------  COOKIE-ECHO
COOKIE-ACK     ---------------->
                                                <--------- Send
               <----------------  DATA
                                                    

TEST DESCRIPTION:

1. From endpoint A, send valid COOKIE ECHO message with non-unicast 
   source address to endpoint B, when there is no association between
   them. 
2. Check A: COOKIE-ECHO message will be discarded.
3. Check B: State of endpoint B is not disturbed.
4. Repeat the above with other messages with non unicast source
   address.
5. Repeat the above test case for non unicast destination transport
   address.





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 116]




Internet Draft          Conformance Test For SCTP              Feb 2001   


6 ERROR
6.1 ERROR message with cause Stale Cookie Error received in Cookie
Echoed State

TEST NUMBER : 6.1

Reference: SCTP RFC 2960     Clause 5.2.6

TITLE :  ERROR

SUBTITLE:ERROR message with cause Stale Cookie Error received in Cookie 
Echoed State.

PURPOSE: To verify that ERROR message, with cause Stale Cookie Error, 
received in Cookie Echoed 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)    <---------  Send

                <----------------        INIT                         
INIT-ACK        ----------------->

                <-----------------       COOKIE-ECHO                       
                                                                                           
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.
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




Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 117]




Internet Draft          Conformance Test For SCTP              Feb 2001   


6.2 ERROR message with cause Stale Cookie Error received in state
other than Cookie Echoed State

TEST NUMBER : 6.2

Reference: SCTP RFC 2960     Clause 5.2.6

TITLE :  ERROR

SUBTITLE: ERROR message with cause Stale Cookie Error received in state
other than Cookie Echoed State.

PURPOSE: To verify that ERROR message, with cause Stale Cookie Error, 
received in a state other than Cookie Echoed 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-ECHO message.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                         Endpoint B                ULP
(Closed)                           (Closed)       <------- Associate

               <----------------     INIT                         
INIT_ACK       ---------------->

               <----------------   COOKIE-ECHO                       
                                                                                           
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.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 118]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     6.3 Generation of error cause Invalid Stream Identifier

TEST NUMBER : 6.3

Reference: SCTP RFC 2960     Clause 3.3.10.1

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.













Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 119]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     6.4 Generation of error cause Missing Mandatory parameter

TEST NUMBER : 6.4

Reference: SCTP RFC 2960     Clause 3.3.10.2

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














Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 120]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     6.5 Generation of error cause Unrecognized Parameters

TEST NUMBER : 6.5

Reference: SCTP RFC 2960     Clause 3.3.10.8

TITLE :  ERROR

SUBTITLE: Generation of different error causes

PURPOSE: To verify that if a INIT-ACK is sent with a TLV parameter not 
recognized by the receiver then ERROR message with cause Unrecognized 
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 with IPv6 address. Also endpoint B is not able to recognize 
IPv6 addresses.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B           ULP
(Closed)                                (Closed)
                               <----------------------    Associate
               <----------------         INIT
 
                                                                                                                     
INIT-ACK       ---------------->                                                                       
(With IPv6 address )         
               <----------------       ERROR (cause = Unrecognized 
                                                       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.












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 121]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     6.6 Reception of COOKIE-ECHO bundled with error cause Unrecognized 
Parameters

TEST NUMBER : 6.6

Reference: SCTP RFC 2960     Clause 3.3109

TITLE :  ERROR

SUBTITLE: Reception of COOKIE-ECHO bundled with error cause
Unrecognized Parameters

PURPOSE: To verify that if a COOKIE-ECHO message bundled with ERROR
message (cause unrecognized parameter) is sent then endpoint continues
to establish association.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B.Arrange the data in endpoint A such that COOKIE-ECHO bundled with 
ERROR (cause = Unrecognized Parameter) is sent to endpoint B. 

EXPECTED MESSAGE SEQUENCE :

Endpoint A                            Endpoint B              ULP
(Closed)                              (Closed)
                                                                                                                                                          
 INIT            ---------------->                                                                                
 
                                                                                                                     
                 <----------------     INIT-ACK
         
COOKIE-ECHO 
(Bundled with     ---------------->
    ERROR )
                  <----------------    COOKIE-ACK     
                                              Association Up ------>                                
 DATA             ----------------->

                  <-----------------   SACK

TEST DESCRIPTION:

1. Attempt to initiate an association from endpoint A to B. Send 
   COOKIE-ECHO bundled with ERROR having cause Unrecognized Parameter 
   from endpoint A.
   Record the messages using a signal emulator.
2. Check A: COOKIE-ACK message is sent to endpoint A.
3. Check B: Association is established between endpoint A and B.






Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 122]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     7 Bundling of DATA chunks with Control Chunks
     7.1 Chunk Multiplexing with INIT message

TEST NUMBER : 7.1

Reference: SCTP RFC 2960     Clause 6.10

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-ECHO      ---------------->
                                     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 packet.
2. Check A: Whole packet will be discarded and no action will be taken.
3. Check C: Endpoint B remains in the closed state.
4. Repeat the above test case if other chunks are bundled with INIT. 
   Response should be same. INIT may be the first or last chunk in the
   packet.








Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 123]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     7.2 Chunk Multiplexing with INIT-ACK message

TEST NUMBER : 7.2

Reference: SCTP RFC 2960     Clause 6.10

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  
 INIT-ACK (data      ---------------->   Discard INIT-ACK     
Chunks  Multiplexed)                          |   T1-Init
                                              |   Timer expires
                     <----------------   INIT  
   
INIT-ACK             ---------------->
                     <----------------  COOKIE-ECHO
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 packet.
   Record the messages using a signal emulator.
2. Check A: Packet will be discarded and no action will be taken.
3. Check C: Current State of endpoint B is not disturbed.
4. Repeat the above test case if other chunks are also bundled with 
   INIT-ACK. Response should be same.
5. Repeat the above test case if INIT-ACK is not the first chunk in the
   packet. Response will be the same.





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 124]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     7.3 Chunk Multiplexing with SHUTDOWN COMPLETE Chunk

TEST NUMBER : 7.3

Reference: SCTP RFC 2960  Clause 6.10

TITLE: Bundling of DATA chunks with control chunks 

SUBTITLE: Chunk Multiplexing with SHUTDOWN COMPLETE Chunk.

PURPOSE: To verify that any data chunks multiplexed with SHUTDOWN 
COMPLETE 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 COMPLETE chunk.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B              ULP
(Closed)                               (Closed)   

INIT              ---------------->                                                                                                                                                                                                       

                  <----------------    INIT_ACK
                                                                                                                     
COOKIE-ECHO       ---------------->                   
                                                                                           
                  <----------------    COOKIE_ACK
                                       Communication up -------->
                                                                                                                                                          
      SHUTDOWN    ---------------->
                  <----------------    SHUTDOWN ACK
                                                                                            
  SHUTDOWN COMPLETE  ---------------->                                                           
( Bundled with DATA chunk)
                     <----------------  ABORT                          

TEST DESCRIPTION:

1. Attempt to terminate an association between endpoint A and B by 
   sending SHUTDOWN message from endpoint A. SHUTDOWN-ACK messages will
   be received. Send SHUTDOWN COMPLETE chunk bundled with data chunks 
   in response to SHUTDOWN-ACK Chunk.  SHUTDOWN COMPLETE chunk should 
   be first chunk in the packet.
2. Check A: SHUTDOWN COMPLETE message will be discarded in this case
   and endpoint B will remain in Shutdown-ack sent state.
3. Repeat the above test case if DATA is the first chunk. DATA would 
   have been discarded and association enter closed state. ABORT would 
   not be received in that case.
4. Repeat the above test case if SHUTDOWN COMPLETE is bundled with 
   control chunks.SHUTDOWN COMPLETE will be discarded in this case
   and endpoint B will remain in Shutdown-Ack sent state.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 125]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     7.4 COOKIE-ECHO is received bundled with data chunks with cookie as 
first chunk

TEST NUMBER : 7.4

Reference: SCTP RFC 2960     Clause 5.1.5(6) &  6.10

TITLE : Bundling of DATA chunks with control chunks 

SUBTITLE: COOKIE-ECHO is received bundled with data chunks with 
COOKIE-ECHO as first chunk

PURPOSE: To verify that COOKIE-ECHO received bundled with data chunks 
with COOKIE-ECHO 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-ECHO message with COOKIE-ECHO as the first chunk.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                              Endpoint B              ULP
(Closed)                                (Closed)
    INIT            ---------------->                                                                                                    

                    <----------------  INIT-ACK


COOKIE-ECHO         ----------------->
(bundled with data chunks)             COOKIE-ECHO 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-ECHO message bundled with data chunks with 
   COOKIE-ECHO as the first chunk.
2. Check A: COOKIE-ECHO is accepted and COOKIE-ACK is sent. 
   Check B : SACK is sent for the DATA chunk , bundled with COOKIE-ECHO
   and received at A.
3. Repeat the above test case if DATA is the first chunk in the bundled
   packet. Whole packet should be discarded in this case.
4. Repeat the above test case if control chunks are bundled with 
   COOKIE-ECHO. In this case also whole packet should be discarded.



Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 126]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     7.5 COOKIE-ACK is received bundled with data chunks 

TEST NUMBER : 7.5

Reference: SCTP RFC 2960     Clause 5.1.5 (5) & 6.10

TITLE : Bundling of DATA chunks with control chunks 

SUBTITLE: COOKIE-ACK is received bundled with data chunks with 
COOKIE-ACK 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-ECHO

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.
2. Check A: COOKIE-ACK is accepted and association is established. 
3. Repeat the above test case if DATA is the first chunk in the bundle.
   In this case whole chunk should be discarded.
4. Repeat the above test case if SACK is bundled with COOKIE-ACK with 
   COOKIE-ACK as the first chunk. Response should be same.
5. Repeat the above test case if SACK is bundled with COOKIE-ACK with 
   COOKIE-ACK as the last chunk. Whole packet will be discarded in this
   case.
6. Repeat the above test case if control chunks are bundled with 
   COOKIE-ECHO. In this case also whole packet should be discarded.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 127]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     7.6 SHUTDOWN is received bundled with SACK

TEST NUMBER : 7.6

Reference: SCTP RFC 2960     Clause 6.10 & 9.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

                                                                                            

TEST DESCRIPTION:

1. Attempt to terminate an association from endpoint A to endpoint B.
   Now send  SHUTDOWN message bundled with SACK with SACK as the last
   chunk.
2. Check A: SHUTDOWN is accepted and endpoint B enters Shutdown Receive
   state. 
3. Repeat the above test case with SACK as the first chunk in the
   bundled datagram. Response should be same.
4. Repeat the above test case if DATA is bundled with SHUTDOWN chunk as 
   the first or last chunk.Whole packet will be discarded in this case.















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 128]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     7.7 SACK is received bundled with DATA chunks

TEST NUMBER : 7.7

Reference: SCTP RFC 2960     Clause 9.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 ---------> Data
                                                                                                                              
                    <----------------   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 the DATA 
   received in SACK. 
3. Repeat the above test case if SACK is the last chunk in the bundle.
   The SACK is dropped.












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 129]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     7.8 SHUTDOWN-ACK is received bundled with DATA

TEST NUMBER : 7.8

Reference: SCTP RFC 2960     Clause 9.2

TITLE : Bundling 

SUBTITLE:  SHUTDOWN ACK is received bundled with DATA

PURPOSE: To verify that SHUTDOWN ACK received bundled with DATA is 
discarded.

PRE-TEST CONDITIONS: Association is established between endpoint A and 
B.Arrange the data in endpoint A such that DATA is bundled with 
SHUTDOWN-ACK message.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                                Endpoint B                ULP
(Established)                            (Established)    
                                                 <--------- Terminate
                    <----------------      SHUTDOWN 


SHUTDOWN-ACK        ---------------->
(Bundled with DATA)                       Discard the packet
                                                                                       

TEST DESCRIPTION:

1. Attempt to terminate an association from endpoint B by sending 
   terminate primitive from ULP. Now send  SHUTDOWN-ACK message bundled 
   with DATA with DATA as the last chunk.
2. Check A: Whole Packet is discarded.
3. Check B: State of endpoint B is not disturbed. 
4. Repeat the above test case with DATA as the first chunk in the 
   bundled datagram. Response should be same.
5. Repeat the above test case if control chunks is bundled with 
   SHUTDOWN-ACK chunk as the first or last chunk. The control chunks
   a valid chunk at B.
   











Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 130]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     8 DATA
     8.1 UN-SEGMENTED DATA

TEST NUMBER : 8.1

Reference: SCTP RFC 2960     Clause 3.3 and 6.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

                <---------------   DATA                
B Bit =1                       [TSN=1,Strm=0,seq=1]  <----- Send
E Bit = 1                                         Data<=data <= MTU           
MTU

TEST DESCRIPTION:

1. Check that the B bit is 1 for message received at endpoint A a 
   un-segmented data
2. Check that the E bit is 1 for message received at endpoint A a 
   un-segmented data





















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 131]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.2 DATA SEGMENTATION

TEST NUMBER : 8.2

Reference: SCTP RFC 2960     Clause 3.3 and 6.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
                      
B bit =1, E bit =0  <--------------- 
                                 DATA [TSN=1,Strm=0,seq=1]<-------                                               
                       (First  peace of a segmented data )  Send   
                                                            data>4
          SACK                                                                                                                              
 MTU                ---------------->                                                       
 [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
                                  |                                                                            
                                  |
                    <---------------- DATA [TSN=n,Strm=0,seq=1] 
 B bit =1, E bit =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.







Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 132]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.3 SEGMENTED DATA RECEPTION

TEST NUMBER : 8.3

Reference: SCTP RFC 2960     Clause 3.3 and 6.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

 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.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 133]




Internet Draft          Conformance Test For SCTP              Feb 2001   




     8.4 CANCEL T3-rtx TIMER

TEST NUMBER : 8.4

Reference: SCTP RFC 2960     Clause 6.1 , 6.3.2 and 
6.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

                <----------------        DATA   [TSN=1]   <------ Send
                                     (Start T3-rtx timer)                                  
                                           |                                
                                           | Time= Y sec (<X)
                                           |                                                     
     SACK       ---------------->
[TSN ACK=2,Frag=0]                   (Cancel T3-rtx timer) 
 
             <----------------       DATA   [TSN=2]   <------ Send                                  
                                           |                                                             
                                           | 
                                           |
                                           |     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.










Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 134]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.5 T3-rtx TIMER EXPIRE

TEST NUMBER : 8.5

Reference: SCTP RFC 2960     Clause 6.1 , 6.3.2 and
6.3.3

TITLE : DATA 

SUBTITLE : T3-rtx timer expire

PURPOSE: To check that after expiry of timer T3-rtx 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
                                              
                <----------------     DATA[TSN=1]        <----- Send           
                                  (Start T3-rtx timer)        
                                        |                                                                                                         
                                        | T3-rtx timer expired
                                        |
                                                                                                                   
                <----------------     DATA[TSN=1]
                                  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.




Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 135]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.6 DUPLICATE DATA

TEST NUMBER : 8.6

Reference: SCTP RFC 2960     Clause 6.2

TITLE : DATA 

SUBTITLE : Duplicate DATA 

PURPOSE: To check that any duplicate data chunk received should be 
reported in SACK and number of duplicate TSN count should be reset
once reported in SACK.

PRE-TEST CONDITION:Association is established between endpoint A and B.
Arrange the data in Endpoint A such that it will send duplicate DATA to 
endpoint B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                         Endpoint B                 ULP

 DATA             ---------------->                        
 [TSN=x]                                             Data  ------->
 

                  <----------------     SACK
                                     [TSN ACK=x]
DATA              ----------------->      
[TSN=x]                                                                                                                                              

DATA              <----------------    SACK 
[TSN=x]                              [TSN ACK=x]
                                     No of  duplicate TSN=2
                                     Duplicate TSN=x
                                     Duplicate TSN=x   

DATA              ----------------->
[TSN = x]
                  <----------------     SACK
                                    [TSN Ack=x]
                                    No. of duplicate TSN=1   
                                    Duplicate TSN=x
TEST DESCRIPTION:

1. Send DATA chunk from endpoint A to B with TSN x. SACK will be 
   received with Cum TSN x. Again send two DATA chunks with same TSN.
2. Check A: Number of duplicate TSNs field is 2 and TSN x is reported 
   duplicate two  times.
3. Again Send DATA with same TSN from endpoint B to A.
4. Check B: SACK should be received immediately on receiving duplicate 
   TSN with number of duplicate TSN 1 and duplicate TSN x.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 136]




Internet Draft          Conformance Test For SCTP              Feb 2001   






     8.7 BUFFER SPACE

TEST NUMBER : 8.7

Reference: SCTP RFC 29605.1 and 6.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

                                                    <-------- 
                  <---------------- DATA [TSN=1]        Send              
SACK
[TSN ACK=1,Frag=0 ---------------->
 a_rwnd=0 ]   
                                                  <-----
                                                       Send
                  <---------------- DATA [TSN=2]
                                (one data packet in flight)

                          Data Send Failure          <----- 
                                                       Send
SACK              ---------------->
[a_rwnd=20]
                  <----------------  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 

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 137]




Internet Draft          Conformance Test For SCTP              Feb 2001   





     8.8 USER  DATA IN rwnd=0

TEST NUMBER : 8.8

Reference: SCTP RFC 29605.1 and 6.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
                                                         <------
                   <-----------------  DATA [TSN=1]             Send                                                                                                     
                                                                                                         
  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 

                                       DATA  [TSN=2 ]
                                     /                                  
                                    /                    <------
                                   /                           Send   
                                  /      / DATA  [TSN=3 ]   
                                 /      /                                
 SACK             --------------/-->   /
                               /      /
[a_rwnd=20 ] <----------------/      /
                                    / 
                  <----------------/


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 

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 138]




Internet Draft          Conformance Test For SCTP              Feb 2001   




     8.9 CONGESTION

TEST NUMBER : 8.9

Reference: SCTP RFC 29606.1 and 7.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

            <-----------------  DATA [TSN=1]         |  <---------                                                                      
                                                     |        Send
                                                     |    
           <-----------------  DATA [TSN=2]          |  <---------
                                                     |        Send                                                                          
            <----------------- DATA [TSN=3]          |  <---------    
                              Cwnd=Un Ack Data size  |        Send
                        |  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.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 139]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     8.10 RETRANSMISSION

TEST NUMBER : 8.10

Reference: SCTP RFC 29606.1 and 6.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
                                                          <--------                                                                                     
                  <-----------------   DATA  [TSN=1]             Send                                                                               
                                                                                                                                  
SACK              ----------------->
 [TSN ACK=1,Frag=0]
 
                  <-----------------   DATA [TSN=2]              Send
 
                                                                                                                                                                                                                                    
 (Don't send Ack) <-----------------   DATA [TSN=3]       <--------                                                                                                     
                                                                 Send

                                                          <--------                                                                                                                     
                  <-----------------   DATA [TSN=4]              Send                              

SACK  (With Gap)  ----------------->
 [TSN ACK=2,Frag=1,
    Strt=2,End=2]
                                   Rtx expires for DATA[TSN=3]
                  <-----------------   DATA [TSN=3] 
 SACK[TSN ACK =3,Frag=0]
                                                                                               
                  <-----------------   DATA [TSN=5]
                                                       <-------- Send
TEST DESCRIPTION:

1. Check that if SACK with fragment report shall be received,the data 
   at endpoint A not removed form the queue. 
2. Check that rtx expires for DATA[TSN=3].It is retransmitted .The data 
   Chunk with TSN=1 to 4 are removed from the pending Queue after 
   recieving the SACK for TSN=3.
3. Verify that before sending the new data chunks the sender must first
   transmit any any data chunks, which are marked for retransmission.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 140]




Internet Draft          Conformance Test For SCTP              Feb 2001   

                                                                  

     8.11 ORDERED DELIVERY

TEST NUMBER : 8.11

Reference: SCTP RFC 2960     Clause 6.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

 DATA  [TSN=1,Seq=3]  ----------------->  U bit=0      |                                                                                                                              
                                                       | No DATA                                                                                     
                                               ----------------                                                                     
                                                       |
                                                       |                                                            
 DATA  [TSN=2,Seq=2]  ----------------->               |                 
                                               ------------------                                                                                  
                      <-----------------  SACK         |    No  DATA
                                                       |                                                                                                                                                     
                                                       |  | 
DATA  [TSN=3,Seq=1]   ----------------->         DATA  |  |    Seq 1
                                                ----------|    Seq 2
                                                               Seq 3                                                 
                                                         
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 .










Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 141]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.12 UN-ORDERED DELIVERY

TEST NUMBER : 8.12

Reference: SCTP RFC 2960      6.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

 DATA [TSN=1,Sq=2]    ----------------->                                                                                                    
                                                  --------->Seq 2
                    <-----------------   SACK             Delivered


 
 DATA   [TSN=2,Sq=X]  ----------------->   
 U bit=1 Data

                      <-----------------   SACK 


DATA   [TSN=3,Sq=1]   ----------------->           --------> Seq 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 .









Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 142]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.13 Reception of SACK from Alternate address

TEST NUMBER : 8.13

Reference: SCTP RFC 2960     6.6

TITLE : DATA 

SUBTITLE : Reception of SACK from Alternate address 

PURPOSE: To check that if data is sent to a multihomed endpoint on one
address and SACK comes from the alternate address in that host then it 
is accepted

PRE-TEST CONDITION: Endpoint A is multihomed with two addresses X and 
Y and association is established between endpoint A and B. Arrange data 
in Endpoint B such that ULP sends data send primitive to endpoint A on 
address X. Arrange data in endpoint B such that SACK is sent from 
address Y to endpoint A.


EXPECTED MESSAGE SEQUENCE :

Endpoint A                                   Endpoint B           ULP
(Established)                               (Established)
                                          <--------------------  Send
                   ----------------->        DATA (IP add X)
  
SACK(From Add Y)   ----------------->   
                                     Data should not be retransmitted
 



TEST DESCRIPTION:

1. Send DATA message from endpoint B to endpoint A on address X by 
   sending data primitive from ULP. Send SACK from endpoint A from 
   address Y.
2. Check A:SACK should be accepted and DATA should not be 
   retransmitted.












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 143]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.14 DATA Chunk with no user data

TEST NUMBER : 8.14

Reference: SCTP RFC 2960     Clause 6.2

TITLE : DATA 

SUBTITLE : DATA chunk with no user data 

PURPOSE: To check that if DATA chunk with no user data is received then
ABORT is sent.

PRE-TEST CONDITION:Association is established between endpoint A and B. 
Arrange data in endpoint A such that DATA chunk with no user data is 
sent to endpoint B.


EXPECTED MESSAGE SEQUENCE :

Endpoint A                           Endpoint B            ULP

 DATA           ----------------->   

                <-----------------    ABORT 
                                      Communication Down  --------->

                                      

 

TEST DESCRIPTION:

1. Send DATA chunk from endpoint A to B with no user data i.e. length
   should be 16.
2. Check A: ABORT should be received at endpoint A.
3. Check B: Error cause in ABORT is set to "No User Data".
















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 144]



Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.15 SACK containing Cumulative TSN less than the Cumulative TSN Ack 
point.

TEST NUMBER : 8.15

Reference: SCTP RFC 2960     Clause 6.2.1

TITLE : DATA 

SUBTITLE: SACK containing Cumulative TSN less than the Cumulative TSN 
Ack point.

PURPOSE: To check that if a SACK containing Cumulative TSN field less 
than the current Cumulative TSN Ack point, then that SACK is discarded.

PRE-TEST CONDITION:Association is established between endpoint A and B.
Arrange data in endpoint A such that SACK chunk with cumulative TSN 
less than the cumulative TSN ack point of endpoint B is sent to
endpoint B.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                          Endpoint B                ULP
                                              <------------- Send
                 <-----------------   DATA [ TSN = x]       
  
 SACK[CTSN = x]  ----------------->         <-------------  Send

                 <-----------------   DATA [TSN = x+1]                                                                                                  

SACK[CTSN = x]   ------------------>                   
                                      SACK is dropped
 

TEST DESCRIPTION:

1. Send "send" primitive from ULP at endpoint B. DATA chunk will be
   received at endpoint A. Sned SACK from endpoint B with cumulative 
   TSN which has already been acknowledged.
2. Check A: SACK will be dropped and endpoint B will not update any of 
   its parameter based on this SACK.












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 145]



Internet Draft          Conformance Test For SCTP              Feb 2001   


     8.16 TSN missing in SACK which was previously acknowledged by SACK in 
Gap Ack block

TEST NUMBER : 8.16

Reference: SCTP RFC 29606.2.1

TITLE : DATA 

SUBTITLE : TSN missing in SACK which was previously acknowledged by 
SACK in Gap Ack block. 

PURPOSE: To verify that if SACK is missing a TSN that was previously
acked via a Gap Ack Block, then that data chunk is retransmitted and
T3-rxt timer is started for that destination address. 

PRE-TEST CONDITION: Association is established between endpoint A and
B.Arrange data in endpoint A such that SACk is sent to endpoint B on 
reception of DATA with Gap ACK block acknowledging data.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                               Endpoint B             ULP

                                               <-------------   Send
                  <-----------------     DATA  [TSN=1]   
							  <-------------  Send
                  <-----------------     DATA  [TSN=2]  
                                               <-------------   Send
                  <-----------------     DATA  [TSN=3]
SACK[CTSN=1,       ----------------->
Gap Start=2, end=2]                             <-------------  Send
                   <-----------------    DATA [TSN=4]
SACK[CTSN=2,       ----------------->
Gap Start =2 end =3]                            <-------------- Send 
                   <-----------------    DATA [TSN=5]
SACK[CTSN=1,       ----------------->
Gap Start=2, end=4]                             <-------------  Send
                   <-----------------    DATA [TSN=6]
SACK[CTSN=2,       ----------------->
Gap Start =2 end =5]        
                   <-----------------  Retransmit  
                                       DATA [TSN=2]
SACK[TSN=2]        ------------------>

TEST DESCRIPTION:

1. Send "send" primitive from ULP to send DATA message from endpoint B
   to A. Send two or three DATA messages. Send SACK from endpoint A 
   acknowledging TSN 1 and 3. Send one more data from endpoint B to A.
   Send SACK this time acknowledging upto 2 and not three.
2. Check A: DATA with TSN 2 should be retransmitted.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 146]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     9 Acknowledgement
     9.1 NORMAL ACKNOWLEDGE

TEST NUMBER : 9.1

Reference: SCTP RFC 2960     Clause 3.3.3 and 6.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


EXPECTED MESSAGE SEQUENCE :

Endpoint A                           Endpoint B               ULP

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. Check that all the messages are received correctly. (No loss of 
   messages.)
4. A SACK chunk can acknowledge the reception of multiple data chunk 












Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 147]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     9.2 DELAYED ACKNOWLEDGE

TEST NUMBER : 9.2

Reference: SCTP RFC 2960     Clause   6.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

DATA  [TSN=1]    ----------------->                        --------->                     


DATA  [TSN=2]    ----------------->                        --------->                                                                                          

     
 
 

  
                 <-----------------           SACK 
                                         [TSN ACK=2,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).









Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 148]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     9.3 CUMULATIVE TSN ACK

TEST NUMBER : 9.3

Reference: SCTP RFC 2960 Clause  6.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

 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.




Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 149]




Internet Draft          Conformance Test For SCTP              Feb 2001   


     10 Miscellaneous Test Case
     10.1 CHUNK TYPE Encoding

TEST NUMBER : 10.1

Reference: SCTP RFC 2960     Clause 3.2

TITLE : Miscellaneous Test Case

SUBTITLE: Chunk type encoding.

PURPOSE: To verify that if a chunk type is not recognized by the 
receiver then the highest order 2 bits decide the action that must
be taken.

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 bundled with DATA chunk in 
any state and higher two bytes are set to 11.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                              Endpoint B         ULP
(Closed)                                 (Closed)

INIT            ----------------->                                                                                                                         

                <-----------------      INIT_ACK
                                                                                                                    
COOKIE-ECHO     ------------------>                      
                                                                                           
                <------------------     COOKIE_ACK
                                      Communication Up -------->        

Chunk type 20 + DATA    ------------------>                                                                 
                <------------------     ERROR 
                <------------------     SACK                                                                 
DATA            ------------------->                        

                <------------------     SACK













Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 150]




Internet Draft          Conformance Test For SCTP              Feb 2001   


TEST DESCRIPTION:

1. Attempt to initiate an association from endpoint A to B. In the 
   established state send a datagram with reserved chunk type bundled 
   with DATA. Highest order two bits have been set to 11 in the 
   reserved chunk type.
2. Check A: Datgram with reserved chunk type is discarded and SACK is 
   sent for the DATA chunk.
3. Check B: ERROR is also received at endpoint A with cause 
   "Unrecognized Chunk type".
4. Check B: Association is not disturbed.
5. Repeat the above test case if highest order two bits are 00. In this 
   case, neither ERROR nor SACK will be received at endpoint A and 
   whole datagram will be discarded.
6. Repeat the above test case if highest order two bits are 01. In this
   case, SACK will not be received at endpoint A but ERROR with cause 
   "Unrecognized Chunk Type" will be received at endpoint A and whole 
   datagram will be discarded.
7. Repeat the above test case if highest order two bits are 10. In this 
   case, ERROR will not be received at endpoint A but SACK will be 
   received at endpoint A.
8. Repeat the above test case for reserved chunk type in other state 
   like Cookie Wait, Cookie Echoed, Shutdown Sent, Shutdown received,
   Shutdown pending and Shutdown-Ack sent. In each state bundle the 
   appropriate chunk type with reserved chunk type i.e. chunk type 
   which is allowed in each state.



























Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 151]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     10.2 Parameter Type Encoding

TEST NUMBER : 10.2

Reference: SCTP RFC 2960     Clause 3.2

TITLE : Miscellaneous Test Case

SUBTITLE: Parameter type encoding.

PURPOSE: To verify that if a parameter type is not recognized by the 
receiver then the highest order 2 bits decide the action that must be
taken.

PRE-TEST CONDITIONS: Association is not established between endpoint A 
and B. Arrange the data in endpoint B such that INIT message with 
optional parameter which is not defined for INIT is sent from endpoint
A to B. The highest order two bits of parameter type is 11.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B               ULP
(Closed)                                (Closed)
INIT          ------------------>                                                                                                                                     

              <------------------  INIT-ACK(with Unrecognized 
                                             Parameter type)   
COOKIE-ECHO   ------------------->                                  
                                                                                           
              <-------------------  COOKIE_ACK
                                        Communication Up ----------->                      

TEST DESCRIPTION:

1. Attempt to initiate an association from endpoint A to B. Send INIT
   message with one optional parameter which is not defined in INIT.The
   highest order two bits in that parameter should be 11.
2. Check A: That parameter is skipped and INIT-ACK is received at 
   endpoint A.
3. Check B: Unrecognized parameter type in INIT-ACK contains the 
   parameter which was not recognized at endpoint B.
4. Repeat the above test case if highest order two bits are 00. In this
   case INIT chunk will be discarded.
5. Repeat the above test case if highest order two bits are 01. In this
   case, INIT will be discarded but ERROR with cause "Unrecognized 
   Parameter Type" will be received at endpoint A.
6. Repeat the above test case if highest order two bits are 10. In this
   case, INIT-ACK will be received at endpoint A without unrecognized 
   parameter type. 
7. Repeat the above test case for undefined parameter type in INIT-ACK
   message. Response will be same.



Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 152]




Internet Draft          Conformance Test For SCTP              Feb 2001   



     11 Retransmission Timer
     11.1 RTO is incremented if T3-rxt expires for DATA chunk(Single IP 
address)

TEST NUMBER : 11.1

Reference: SCTP RFC 2960     Clause 6.3.3

TITLE : Retransmission Timer

SUBTITLE: RTO is incremented if T3-rxt expires for a DATA chunk

PURPOSE: To verify that if T3-rxt expires on a destination address then 
value of RTO is increased for that address.

PRE-TEST CONDITIONS:Association is established between endpoint A and 
B.Arrange the data in endpoint A such that SACK is not sent for the 
data received from endpoint B.


EXPECTED MESSAGE SEQUENCE :

Endpoint A                             Endpoint B              ULP
(Established)                         (Established)
                                           <-----------------Send
                    <------------------  DATA
   Don't send SACK                         |                                                                  
                                           |  T3-rxt timer expires      
                                           |
 
                    <------------------  DATA  
Don't send SACK                            |
                                           |
                                           |  T3-rxt timer expires
                                           |


                    <------------------  DATA


TEST DESCRIPTION:

1. Attempt to send DATA from endpoint B to A. Don't send SACK from A.
   Let the timer T3-rxt expire.   DATA will be retransmitted. Note the
   timer. Don't send SACK for the retransmitted DATA. T3-rxt will be 
   expired again and again DATA will be retransmitted. 
   Record the messages using a signal emulator.
2. Check A: Value of the second T3-rxt is greater than the first. 

Note:Exact calculation of RTO is not tested here. Only it is tested 
that it is being incremented.

Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 153]




Internet Draft          Conformance Test For SCTP              Feb 2001   

     11.2 RTO is incremented if T3-rxt expires for DATA chunk(Multiple IP 
addresses)

TEST NUMBER : 11.2

Reference: SCTP RFC 2960     Clause 6.3.3

TITLE : Retransmission Timer

SUBTITLE: RTO is incremented if T3-rxt expires for a DATA chunk

PURPOSE: To verify that if T3-rxt expires on a destination address then 
value of RTO is increased for that address.

PRE-TEST CONDITIONS: Association is established between endpoint A 
(With IP addresses x and y and Port z) and B. Arrange the data  in 
endpoint A such that SACK is not sent for the data received.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                               Endpoint B            ULP
(Established)                           (Established)
                                                     <-------- Send
                   <------------------   DATA (IP = x)
Don't send SACK                              |   
                                             | T3-rxt timer expires                                                 
                   <------------------   DATA (IP = y)
Don't send SACK                              |
                                             | T3-rxt timer expires
                                             |
                   <------------------   DATA (IP = x)
Don't send SACK                              | 
                                             |  T3-rxt timer expires
                                             |
                   <------------------   DATA (IP = y)
TEST DESCRIPTION:
1. Attempt to send DATA from endpoint B to A. Don't send SACK from A.
   Let the timer T3-rxt expire.  DATA will be retransmitted on an 
   alternate address. Don't send SACK for it also. Now DATA will again 
   be retransmitted on IP address on which it was initially sent. Don't 
   send SACK for it and let T3- rxt expire. Note the timer value.Record 
   the messages using a signal emulator.
2. Check A: Value of the second T3-rxt is greater than the first for IP
   address x. 

Note: Endpoint B may be having association with more than two IP 
addresses. Each time data will be retransmitted on an alternate address
and when DATA has been retransmitted on all addresses then again it 
will be retransmitted on the IP address on which it was initially sent.

Note1: Exact calculation of RTO is not tested here. Only it is tested 
that it is being incremented.


Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 154]


Internet Draft          Conformance Test For SCTP              Feb 2001   




     11.3 When DATA is retransmitted to an alternate address then RTO 
value corresponding to that address is used.

TEST NUMBER : 11.3

Reference: SCTP RFC 2960     Clause 6.3.3

TITLE : Retransmission Timer

SUBTITLE: When DATA is retransmitted to an alternate address then RTO 
value corresponding to that address is used.

PURPOSE: To verify that if DATA is retransmitted on an alternate 
address hen RTO value of that address is used and not that of the
previous address.
 
PRE-TEST CONDITIONS: Association is established between endpoint A 
(With IP addresses x and y and Port z) and B. Arrange the data in 
endpoint A such that SACK is not sent for the data received. Before
sending the DATA note the T3-rxt value corresponding to both IP 
addresses.

EXPECTED MESSAGE SEQUENCE :

Endpoint A                              Endpoint B              ULP
(Established)                          (Established)
                                           <-------------------Send
                    <------------------ DATA (IP = x)
   Don't send SACK                          |
                                            |  T3-rxt timer expires                                                 
                    <------------------ DATA (IP = y)
   Don't send SACK                          |
                                            |   T3-rxt timer expires
                                            |
                    <------------------ DATA (IP = x)

TEST DESCRIPTION:

1. Attempt to send DATA from endpoint B to A. Don't send SACK from A.
   Let the timer T3-rxt Expire. Note this value. DATA will be 
   retransmitted on an alternate address. Don't send SACK for it Also.
   Let T3-rxt expire. 
   Note the timer value again.
   Record the messagesusing a signal emulator.
2. Check A: Value of the second T3-rxt is that corresponding to the IP 
   address Y.





Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 155]




Internet Draft          Conformance Test For SCTP              Feb 2001   




7. Acknowledgement

Authors are highly greatful to Sunil , Harsh and all  the  members  of 
VoIP-Stacks group members at  Hughes  Software  Systems . Authors  are
thankful to all the members of SIGTRAN mailing  list  who have floated
their comments on the drafts of SCTP , making it more transparent  for
better understanding.

8. Authors Address

Sunil, Sandeep,Kuleep,Ashok  
email:  hsssigtran@hss.hns.com
		                        
                             

Hughes Software Systems
Plot#31, Sector 18
Electronic City 
Gurgaon, Haryana
INDIA - 122015

Tel# +91-124-6346666 , 6455 5555
Fax# +91-124- 634 6530

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   RFC 2960






















Sunil, Sandeep,Kuleep,Ashok  , Hughes Software Systems       [Page 156]

