Compaq TPU Compaq SCTP V1.0 Release Notes August 2001 Product Version V1.0 Operating System Version Tru64 UNIX V5.1A Protocols SCTP August 31, 2001 The information in this document is subject to change without notice and should not be construed as a commitment by Compaq Computer Corporation or its affiliated companies. Compaq Computer Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may be used and copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by Compaq Computer Corporation or its affiliated companies. Restricted Rights: Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013. Copyright 2001 Compaq Computer Corporation Trademarks: COMPAQ, the Compaq logo, the Digital logo, AlphaServer, AlphaStation, DECnet and IN7 Registered in U.S. Patent and Trademark Office. TRU64 UNIX, OpenVMS, and TeMIP are trademarks of Compaq Computer Corporation. Microsoft, Windows NT, and Visual C++ are registered trademarks of Microsoft Corporation. INTEL and Pentium are registered trademarks of Intel Corporation. Pentium Pro is a trademark of Intel Corporation. Other product names mentioned herein may be the trademarks of their respective companies. Contents Chapter 1 Installation requirements 1-1 1.1 Hardware 1-1 1.2 Software 1-1 1.3 Licensing 1-1 Chapter 2 Key features 2-1 2.1 Multi-homing (local and remote) 2-1 2.2 Multi-streaming 2-1 2.3 Multiple access 2-1 2.4 SCTP stack monitor 2-1 2.5 Data and Message Fragmentation 2-1 2.6 Path MTU Discovery 2-1 2.7 Flow Control and Retransmission 2-2 2.8 Heartbeat 2-2 2.9 Bundling and Unbundling 2-2 2.10 Adler-32 checksum 2-2 2.11 MD5 encoding key 2-2 2.12 IP Addressing 2-2 2.13 User Documentation in pdf format with search facility 2-2 Chapter 3 Known problems and restrictions 3-1 3.1 (10E-188) Two SCTP applications cannot be bound to the same port on different IP addresses 3-1 3.2 (10E-190) sctp_status structure is not compliant with IETF document draft-stewart-sctpsocket-sigtran-02.txt 3-1 3.3 (10E-195) A getsockopt call with SCTP_ALLPATHS option set returns an array of sockaddr instead of an array of sockaddr_storage 3-1 3.4 (10E-202) The SCTP_NODELAY option is not implemented 3-2 3.5 (10E-203) The SCTP_NOTRUC option is not implemented 3-2 3.6 (10E-212) Daemon sctpd fails to detect that an SCTP application has been killed 3-2 3.7 (10E-244) The maximum number of SHUTDOWN-ACK chunk retransmissions is not compliant 3-2 3.8 (10E-255) SACK chunks are not limited by the current path MTU 3-2 3.9 (10E-258) DATA chunks are not constrained by the association MTU 3-2 3.10 (10A-265) HEARTBEAT chunk is sent 60 seconds after traffic stops, instead of 30 seconds 3-3 3.11 (10E-271) Incorrect log message displayed if the lmgrd process is not started 3-3 3.12 Kill lmgrd process only works intermittently 3-3 3.13 (10E-283) FATAL message displayed in user.log file when an application is killed 3-3 3.14 (10E-288) Shutdown retries are not transmitted to an alternative address 3-4 3.15 (10E-289) The DUPLI_NB field in a SACK chunk is incorrectly set 3-4 Chapter 4 User documentation 4-1 4.1 Errata 4-1 4.2 Changes 4-1 Chapter 5 Key issues 5-1 Introduction These Release Notes contain: * Details of the hardware, software and licensing requirements * The list of new features implemented in the new release of Compaq SCTP with reference to the document that describes the feature * Details of known problems and restrictions * Special issues, if any. Compaq SCTP documents * SCTP Technical Description * SCTP Installation and User's Guide * SCTP Application Development Guide Chapter 1 Installation requirements 1.1 Hardware A minimum Compaq SCTP V1.0 configuration requires at least one system that is based on an AlphaServer. See the Software Product Description (SPD) for details of the system memory requirements. 1.2 Software The Compaq SCTP V1.0 implementation requires: * Tru64 UNIX V5.1A 1.3 Licensing The licensing procedure is based on License Key and managed by FLEXlm. Chapter 2 Key features The following features have been implemented in Compaq SCTP V1.0. 2.1 Multi-homing (local and remote) Compaq SCTP supports Multi-homing, which allows a single SCTP endpoint to support multiple IP addresses through the binding of multiple names to a socket. This feature significantly increases the chances of a session surviving in case of network failure. A "bind multiple names" function allows single SCTP endpoints to support multiple IP addresses and multi-homing. See Chapter 3 in the SCTP Technical Description for details. 2.2 Multi-streaming Compaq SCTP supports multi-streaming, which allows data to be partitioned into multiple streams that have the property of being delivered and sequenced independently. This means that message loss in any of the streams will only affect delivery within that stream, and not in other streams. See Chapter 3 in the SCTP Technical Description for details. 2.3 Multiple access More than one application can access the SCTP services on a single Compaq Server. See Chapter 1 in the SCTP Technical Description for details. 2.4 SCTP stack monitor The Compaq SCTP stack provides a means to monitor the behavior of an application that is using the Compaq SCTP API. See Chapter 1 in the SCTP Technical Description for details. 2.5 Data and Message Fragmentation Compaq SCTP fragments large user messages to ensure that packets passed to the lower layer satisfy the path MTU. See Chapter 2 in the SCTP Technical Description for details. 2.6 Path MTU Discovery Compaq SCTP calculates MTU estimates that take into account destination addresses, retransmission of IP datagrams and IP message fragmentation. See Chapter 2 in the SCTP Technical Description for details. 2.7 Flow Control and Retransmission Compaq SCTP uses an end-to-end flow and congestion control mechanism to define Receiver and Congestion Windows. See Chapter 2 in the SCTP Technical Description for details. 2.8 Heartbeat Compaq SCTP uses a Heartbeat manager to continuously monitor the active/inactive status of all transmission paths in an association. See Chapter 3 in the SCTP Technical Description for details. 2.9 Bundling and Unbundling Bundling allows a sender to bundle more than one user message into a packet, which is then disassembled by the receiver. See Chapter 3 in the SCTP Technical Description for details. 2.10 Adler-32 checksum The Adler-32 check sum mechanism is supported. See Chapter 3 in the SCTP Technical Description for details. 2.11 MD5 encoding key The MD5 encoding key mechanism is supported. See Chapter 3 in the SCTP Technical Description for details. 2.12 IP Addressing Only IPv4 addresses are supported. See Chapter 3 in the SCTP Technical Description for details. 2.13 User Documentation in pdf format with search facility All the Compaq SCTP documents in pdf format are bookmarked and linked to facilitate browsing. A "Search Compaq SCTP documents" button on the first page of every document allows you to search for a character string throughout the entire collection. To use this facility you must install Adobe Acrobat Reader version 4.05 (included in the pdf document package). Other versions "with search" are available for different operating systems (including UNIX and NT) and can be downloaded free of charge from the Adobe Acrobat site: http://www.adobe.com/products/acrobat/alternate.html#405wSearch Chapter 3 Known problems and restrictions The following problems and known to exist on Compaq SCTP V1.0. 3.1 (10E-188) Two SCTP applications cannot be bound to the same port on different IP addresses Description On the same (multi-homed) machine, it is not possible to start: * An application bound to port 'x' on IP address 'y' * And an application bound to port 'x' on IP address 'z'. The second application fails on the sctp_bind call, which returns EADDRINUSE - 'the specified address is already in use'. Workaround There is no current solution to this problem. 3.2 (10E-190) sctp_status structure is not compliant with IETF document draft-stewart-sctpsocket-sigtran-02.txt Description The sctp_status structure defined in header file sctp_api.h (used by a getsocket call with the SCTP_STATUS option set) is not compliant with IETF specification draft-stewart-sctpsocket-sigtran-02.txt. This is because the Compaq SCTP V1.0 sctp_status structure definition contains an additional field to contain the primary address of the association (sstat_address), which is not defined in the draft specification. Workaround There is no current solution to this problem. 3.3 (10E-195) A getsockopt call with SCTP_ALLPATHS option set returns an array of sockaddr instead of an array of sockaddr_storage Description A getsockopt call with the SCTP_ALLPATHS option set returns an array of sockaddr and not an array of sockaddr_storage as specified in the draft-stewart-sctpsocket-sigtran-02.txt draft. Workaround There is no current solution to this problem. 3.4 (10E-202) The SCTP_NODELAY option is not implemented Description It is not possible to set the SCTP_NODELAY option on a socket using a setsockopt call. Workaround There is no current solution to this problem. 3.5 (10E-203) The SCTP_NOTRUC option is not implemented Description It is not possible to set the SCTP_NOTRUC option on a socket, using a setsockopt call. Workaround There is no current solution to this problem. 3.6 (10E-212) Daemon sctpd fails to detect that an SCTP application has been killed Description When an application is killed, the sctpd router process can intermittently fail to detect that the application is no longer available. As a result , no ABORT chunk is sent and the peer application status remains unchanged in the ESTABLISHED state for short time. Workaround There is no current solution to this problem. 3.7 (10E-244) The maximum number of SHUTDOWN-ACK chunk retransmissions is not compliant Description At shutdown the Compaq SCTP stack transmits a SHUTDOWN-ACK chunk and expects a SHUTDOWN-COMPLETE in response. If a SHUTDOWN-COMPLETE chunk is not received, the SHUTDOWN-ACK chunk is retransmitted for a maximum of nine times (default value), instead of ten as specified in RFC 2960. Workaround There is no current solution to this problem. 3.8 (10E-255) SACK chunks are not limited by the current path MTU Description The Compaq SCTP stack sends, on an unreliable network, SACK chunks with a length that may exceed current path MTU (with the DF bit set). Whereas, RFC 2960 specifies that a SACK chunk length must not exceed the current path MTU. Workaround There is no current solution to this problem. 3.9 (10E-258) DATA chunks are not constrained by the association MTU Description When an association is multi-homed, the Compaq SCTP stack sends messages according to the current path MTU and not the association MTU (which could be lower). Workaround There is no current solution to this problem. 3.10 (10A-265) HEARTBEAT chunk is sent 60 seconds after traffic stops, instead of 30 seconds Description When traffic is first stopped on a specific path, inside an association, a HEARTBEAT chunk is sent 60 seconds after the traffic is stopped, instead of 30 seconds. Subsequent HEARTBEAT chunks are correctly sent at 30 seconds intervals. Workaround There is no current solution to this problem. 3.11 (10E-271) Incorrect log message displayed if the lmgrd process is not started Description When the sctpd daemon process starts, it tries to get the number of SCTP_TRU64 licenses corresponding to the number of CPUs detected on the machine. If the Flexlm lmgrd process is not running at that time, the sctpd daemon stops and logs a message in the user.log file. However, the message content is not explicit, for example: Jul 26 14:32:46 sieste sctp [73088]: E692_router.c Workaround The message cannot be changed. When restarting the sctpd daemon ensure that the lmgrd process is running correctly. 3.12 Kill lmgrd process only works intermittently Description Use of the stop command: # /usr/var/sctp/licenses/bin/sctplicenses.sh stop can sometimes fail to perform a shutdown of the Flexlm License Manager because the lmgrd process cannot be killed. Workaround Identify the lmgrd process and manually enter the correct kill comand. 3.13 (10E-283) FATAL message displayed in user.log file when an application is killed Description When an SCTP application that is connected to sctpd is interrupted or stopped by a SIGINT signal (a ctrl-C, for example), the following trace will appear in the user.log: Aug 20 16:13:50 bronco sctp [329556]: SCTP FATAL sctp_ip_interface.c:136: Surveillance mechanism error Although the message has a FATAL severity level it can be ignored. Workaround There is no current solution to this problem. 3.14 (10E-288) Shutdown retries are not transmitted to an alternative address Description This problem only occurs on multi-homed associations. When an application stops an SCTP association the following occurs: * The Compaq SCTP stack sends a SHUTDOWN chunk to the remote application. * If the remote stack does not reply with a SHUTDOWN-ACK chunk, the Compaq SCTP stack sends a SHUTDOWN chunk. * The SHUTDOWN chunk is sent to the same remote address used for the previous SHUTDOWN chunk, instead of an alternative IP address, as stated in RFC 2960. Workaround There is no current solution to this problem. 3.15 (10E-289) The DUPLI_NB field in a SACK chunk is incorretly set Description Under specific conditions the last SACK transmitted by the Compaq SCTP stack is not compliant with RFC 2960. These conditions are as follows: * A remote stack sends a DATA chunk with TSN=X. * The Compaq SCTP stack correctly acknowledges this message with a SACK chunk. * The remote stack sends an SCTP message with two DATA chunks bundled with the same TSN=X, which is invalid. * The Compaq SCTP stack replies with a SACK chunk with the DUPLI_NB field value equal to 1 instead of 2. Workaround There is no current solution to this problem. Chapter 4 User documentation 4.1 Errata There are, at present, no corrections for errors or mistakes in the User Documentation. 4.2 Changes There are, at present, no changes for the User Documentation. Chapter 5 Key issues There are, at present, no key issues. iv i iii v Installation requirements 1-1 2-2 Key features Key features 2-2 Key features 2-1 3-2 Known problems and restrictions Known problems and restrictions 3-1 Known problems and restrictions 3-1 User documentation 4-1 Key issues 5-1