Stream Control Transmission Protocol (SCTP) is a message oriented, reliable transport protocol with direct support for multihoming that runs on top of Internet Protocol (IPv4/IPv6).
Like TCP, SCTP provides reliable, connection-oriented data delivery with congestion control, path MTU discovery and message fragmentation. Unlike TCP, SCTP also provides:
The IETF Transport Area Directors (TSV ADs) recognized SCTP as more than just a signaling transport and moved it from SIGTRAN to the Transport Area Working Group (TSVWG). TSVWG continues the standards process for SCTP, moving it toward full standard, and expanding the scope and application of SCTP.
If you are new to SCTP, the following documents are excellent references:
lksctp-tools-1.0.15 has been released.
It can be downloaded via Sourceforge here, or via Git:
git clone git://lksctp.git.sourceforge.net/gitroot/lksctp/lksctp [...] git checkout lksctp-tools-1.0.15
Daniel Borkmann (3):
withsctp: fix quoted command line arguments
sctp_status: fix printstatus output
Release lksctp-tools-1.0.15
Nicolas Dichtel (1):
do not returns an error if AM_SILENT_RULES does not exist
Daniel Borkmann (3):
build: only use AM_CPPFLAGS instead of a mixture of AM_CFLAGS and AM_CPPFLAGS
test_sctp_sendrecvmsg: fix bug in msg_flag passing
Release lksctp-tools-1.0.14
Diego Elio Pettenò (1):
build: fix out-of-tree build of withsctp.
Hangbin Liu (2):
test_1_to_1_threads: fixup pthread hung by giving an array instead of a pointer
test_1_to_1_threads: remove unused variable for t_recv and t_send
Neil Horman (1):
sctp: Add new spinfo state values to enumeration
Sébastien Luttringer (1):
build: Modernize autotools
Daniel Borkmann (22):
autotools: make build with silent rules
test_fragments: increase message size since it succeeds
docs: update current maintainers of lksctp-tools
apps: fix format string warnings due to size_t usage
apps: nagle: remove unused af_family variable
sctp_darn: remove never read peer_prim_len variable
func_tests: drop more af_family occurences
test_1_to_1_sendmsg: remove set-only iov variable with malloced buffers
test_1_to_1_threads: fixup pthread init and exit
test_1_to_1_addrs: remove unused socket, iov and malloced buffer
test_1_to_1_nonblock: remove unused iov and malloced send buffer
test_1_to_1_recv: minor: fix compiler warning
func_tests: remove unused associds all over the place
test_autoclose: remove unneeded variable
nagle_snd: remove variable with assignment-only
apps: peel: no reason to keep unused/assigned-only variables
test_1_to_1_sockopt: fix deprecated SO_RCVBUF/SO_SNDBUF testcase
apps: sctp_darn: fix format string warning on some archs like ppc64
apps, func_tests: adapt cflags for older architectures
sctp_darn: fix __u64 format string issues on ppc64 / x86_64
libsctputil: libtool: do not use -version-info for static, internal util lib
Release lksctp-tools-1.0.13
Fan Du (1):
sctp_xconnect: memory leak when malloc big buffer
lksctp provides the SCTP socket-based API based on the IETF Internet-draft Sockets API Extensions for SCTP. The primary goal of this API design is to provide the consistencies and the flexibilities for developers to either port or develop sockets based applications to take advantage of the SCTP features. By using this API, applications can be written in two networking programming styles: either in the connection-oriented style (TCP-style) or in the connectionless style (UDP-style).
For more information on the features and functions currently supported by lksctp, please refer to the documentation in the Linux kernel resp. in the lksctp-tools package. The lksctp-tools source contains a set of test programs which would also serve as example applications.
The two key architectural metaphores for lksctp are the state machine and the smart pipe. All contributions need to fit sensibly into one or the other metaphore. The core state machine is side-effect-free (pure functional) with a separate and explicit side-effect processing component. The smart pipes accept raw stuff in one end, and ``automagically'' emit cooked pieces out the other end. See the lksctp paper for more details.
Further documents about SCTP can be found in the mentioned RFCs, about lksctp i) within the Linux kernel documentation and ii) within the shipped lksctp-tools tarball.
For the Linux kernel implementation of SCTP and for lksctp-tools, please post technical discussions, bugs or patches to the linux sctp mailing list linux-sctp@vger.kernel.org (subscribe, archive). For lksctp-tools, use ``[lksctp-tools]'' (patches: ``[PATCH lksctp-tools]'') as a subject prefix.
For usage questions only (!), i.e. for user space application developers, use the lksctp-developers@lists.sourceforge.net mailing list (subscribe, archive).
The lksctp-tools project is always looking for community members interested in contributing. For versioning control, we use Git. The patch submission process is similar to the one of the Linux kernel. So please respect the kernel's coding guidelines and patch submission procedure. Send your patches to the linux-sctp@vger.kernel.org mailing list with ``[PATCH lksctp-tools]'' as a subject prefix for further review and inclusion.
git://lksctp.git.sourceforge.net/gitroot/lksctp/lksctp
Copyright 2002 La Monte H.P. Yarroll; Copyright 2002, 2004 IBM Corp.; Copyright 2010, 2013 Red Hat