- Notifications
You must be signed in to change notification settings - Fork39
The Linux SCTP helper library
License
GPL-2.0, LGPL-2.1 licenses found
Licenses found
GPL-2.0
COPYINGLGPL-2.1
COPYING.libNotificationsYou must be signed in to change notification settings
sctp/lksctp-tools
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
(C) Copyright 2007 Hewlett-Packard Development Company, L.P.(C) Copyright IBM Corp. 2001, 2003Copyright 2001 Motorola, Cisco, Intel, Nokia, La Monte Yarroll.Copyright 2002 Nokia, La Monte Yarroll, Intel. This is the lksctp-tools package for Linux Kernel SCTP Reference Implementation.This package is intended to supplement the Linux Kernel SCTPReference Implementation now available in the Linux kernel sourcetree in versions 2.5.36 and following. For more information on LKSCTPsee the below section titled "LKSCTP - Linux Kernel SCTP." lksctp-tools____________The lksctp-tools package is intended for two audiences. 1) SCTP application developers2) LKSCTP project developersFor SCTP application developers, this package provides the user-levelC language header files and a library for accessing SCTP specificapplication programming interfaces not provided by the standard sockets.For LKSCTP project developers, this package provides the APIregression and functional tests. Developers should also checklksctp_tests package that provides low level kernel tests. Theseare available from git.kernel.org.For either role, this project provides sample code, utilities, andtests that one may find useful. LKSCTP - Linux Kernel SCTP __________________________The Linux Kernel SCTP Reference Implementation is free software; youcan redistribute it and/or modify it under the terms of the GNUGeneral Public License as published by the Free Software Foundation;either version 2, or (at your option) any later version. For moreinformation on licensing terms, please see the file COPYING in thisdirectory.SCTP (Stream Control Transmission Protocol) is a message oriented,reliable transport protocol, with congestion control, support fortransparent multi-homing, and multiple ordered streams of messages.RFC2960 defines the core protocol. The IETF SIGTRAN Working Groupdeveloped SCTP. The primary architects are Randy Stewart and QiaobingXie.The Kernel Reference is first and foremost an exposition ofRFC2960 and related documents. You will find that the comments andvariable names tie closely back to the RFC and Internet Drafts.This work was started by a small team of developers at Motorola.Throughout this document, "we" refers to that team. We intend for themeaning of "we" to expand to include the whole development community,all 27 million programmers on the planet.The Kernel Reference has loose origins in the SCTP User Space Referenceby Randy Stewart and Qiaobing Xie.MANIFEST--------.|-- bin|-- doc|-- man|-- src |-- apps |-- func_tests |-- include | `-- netinet |-- lib |-- testlib `-- withsctpYou may want to check the following files:COPYING.libLicensing terms of libsctpCOPYINGLicensing terms of other pieces of the packageROADMAPA tour around the files in the distribution of SCTP-tools.INSTALL How to install and run this beast.ChangeLogWhat has changed since the last release?DESIGN GOALS------------- A primary design goal is to reflect RFC 2960 as closely aspractical. We have changed many names from the user space reference tofollow the draft as closely as possible. We have also includedextensive quotes from the draft adjacent to the code which implementsthem.- The other primary design goal is to integrate Linux kernel datastructures and idioms as much as possible. The test framework (indirectory test/) provides many of the functions which would otherwisecome from the kernel. The test frame does use libc features, but thestate machine code should be libc-free.- A lesser design goal is to completely describe the actions for eachstate transition in an sctp_command_t (see sctp_command.h). Thismeans that the state functions (sctp_state_fn_t in sctp_sm.h) are NOTallowed to modify their endpoint, association, or chunk arguments.This is enforced by const modifiers--please respect the compilerwarnings. All actions must be described in the last argument to thestate function.- A byte order convention for dealing with the SCTP chunk headers: all SCTP chunks, regardless if the chunk is to be sent outboundto the network or was received inbound from the network, the header portionof the chunk is ALWAYS created and retained in the NETWORK BYTE ORDER.- An error code handling convention is to return negative values internally. The sk->err field holds a positive valued errno values, so will need our internal values negated. - We are moving toward an XP development model. So far we haveadopted pair-programming, coding-to-test (functional and unit), designthrough refactoring, and story-based planning.In order to make XP work, it is very important that we have a completeset of tests for the code. We can not safely refactor major parts ofthe code without a way to find the things we break. If you decide toextend the SCTP Kernel Implementation we ask that you do the following:1) Pick an XP story. Tell linux-sctp@vger.kernel.org2) Write a functional test for that XP story. The functional test defines "DONE" for the story.3) Submit the functional test as a Pull Request on GitHub.4) Write unit tests for any new "objects" you define.5) Implement your feature.6) Submit the feature and the unit tests as a separateGitHub Pull Request.Look in src/func_tests and in lksctp-tests package for examples of of tests.Please do not submit code that fails its own tests or any of the unit tests.If it fails a functional test, please document that with the submission.Another XP requirement is to code only what is you need to make thecurrent test work. Where this means omitting required features, wehave put in prominent BUG comments describing the omittedfunctionality.FEATURES--------This implementation uses a fairly compact cookie which is isolated inits own substructure of SCTP_association. We have been moving towardaggregating data elements which need to travel together to minimizecopying of individual elements in favour of more efficient structurecopies.You will find what we believe to be the smallest possible Internetsimulator in the middle of the function test_kernel.c:simulate_internet().The simulator makes a few simplifying assumptions...MAILING LISTS and WEB SITES---------------------------https://github.com/sctp/lksctp-tools/This is the lksctp project webpage. The wiki section containsmore info about it, including which RFCs it supports.linux-sctp@vger.kernel.orgThis is the discussion list for developers. Join this list ifyou are interested in following the day-to-day activities ofthe SCTP Kernel Reference Implementation development community. See subscription directions at:http://vger.kernel.org/vger-lists.html#linux-sctphttp://www.sctp.orgThis is Randy Stewart's SCTP web site.http://sctp.deThis is Michael Tuexen's SCTP web site. Michael has collecteddozens of documents related to SCTP.
About
The Linux SCTP helper library
Topics
Resources
License
GPL-2.0, LGPL-2.1 licenses found
Licenses found
GPL-2.0
COPYINGLGPL-2.1
COPYING.libUh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.