{"id":30610199,"url":"https://github.com/sctp/lksctp-tools","last_synced_at":"2026-03-01T02:02:50.120Z","repository":{"id":56825572,"uuid":"38979883","full_name":"sctp/lksctp-tools","owner":"sctp","description":"The Linux SCTP helper library","archived":false,"fork":false,"pushed_at":"2024-09-26T20:27:16.000Z","size":1891,"stargazers_count":115,"open_issues_count":15,"forks_count":39,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-12-07T06:39:51.078Z","etag":null,"topics":["linux","sctp"],"latest_commit_sha":null,"homepage":"https://github.com/sctp/lksctp-tools","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sctp.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP","authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-07-12T22:08:48.000Z","updated_at":"2025-12-04T11:40:47.000Z","dependencies_parsed_at":"2025-08-30T04:33:59.690Z","dependency_job_id":null,"html_url":"https://github.com/sctp/lksctp-tools","commit_stats":{"total_commits":297,"total_committers":38,"mean_commits":7.815789473684211,"dds":0.8047138047138047,"last_synced_commit":"c5b4200dbbf106a021a5983155ebdba7ae757048"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/sctp/lksctp-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sctp%2Flksctp-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sctp%2Flksctp-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sctp%2Flksctp-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sctp%2Flksctp-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sctp","download_url":"https://codeload.github.com/sctp/lksctp-tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sctp%2Flksctp-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29958400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T01:47:18.291Z","status":"online","status_checked_at":"2026-03-01T02:00:07.437Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","sctp"],"created_at":"2025-08-30T04:22:42.930Z","updated_at":"2026-03-01T02:02:50.086Z","avatar_url":"https://github.com/sctp.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"(C) Copyright 2007 Hewlett-Packard Development Company, L.P.\n(C) Copyright IBM Corp. 2001, 2003\nCopyright 2001 Motorola, Cisco, Intel, Nokia, La Monte Yarroll.\nCopyright 2002 Nokia, La Monte Yarroll, Intel. \n\nThis is the lksctp-tools package for Linux Kernel SCTP Reference \nImplementation.\n\nThis package is intended to supplement the Linux Kernel SCTP\nReference Implementation now available in the Linux kernel source\ntree in versions  2.5.36 and following.  For more information on LKSCTP\nsee the below section titled \"LKSCTP - Linux Kernel SCTP.\" \n\nlksctp-tools\n____________\n\nThe lksctp-tools package is intended for two audiences.  \n\t1) SCTP application developers\n\t2) LKSCTP project developers\n\nFor SCTP application developers, this package provides the user-level\nC language header files and a library for accessing SCTP specific\napplication programming interfaces not provided by the standard sockets.\n\nFor LKSCTP project developers, this package provides the API\nregression and functional tests.  Developers should also check\nlksctp_tests package that provides low level kernel tests.  These\nare available from git.kernel.org.\n\nFor either role, this project provides sample code, utilities, and\ntests that one may find useful.  \n\n\nLKSCTP - Linux Kernel SCTP \n__________________________\n\nThe Linux Kernel SCTP Reference Implementation is free software; you\ncan redistribute it and/or modify it under the terms of the GNU\nGeneral Public License as published by the Free Software Foundation;\neither version 2, or (at your option) any later version. For more\ninformation on licensing terms, please see the file COPYING in this\ndirectory.\n\nSCTP (Stream Control Transmission Protocol) is a message oriented,\nreliable transport protocol, with congestion control, support for\ntransparent multi-homing, and multiple ordered streams of messages.\nRFC2960 defines the core protocol. The IETF SIGTRAN Working Group\ndeveloped SCTP.  The primary architects are Randy Stewart and Qiaobing\nXie.\n\nThe Kernel Reference is first and foremost an exposition of\nRFC2960 and related documents. You will find that the comments and\nvariable names tie closely back to the RFC and Internet Drafts.\n\nThis work was started by a small team of developers at Motorola.\nThroughout this document, \"we\" refers to that team.  We intend for the\nmeaning of \"we\" to expand to include the whole development community,\nall 27 million programmers on the planet.\n\nThe Kernel Reference has loose origins in the SCTP User Space Reference\nby Randy Stewart and Qiaobing Xie.\n\nMANIFEST\n--------\n.\n|-- bin\n|-- doc\n|-- man\n|-- src\n    |-- apps\n    |-- func_tests\n    |-- include\n    |   `-- netinet\n    |-- lib\n    |-- testlib\n    `-- withsctp\n\nYou may want to check the following files:\n\nCOPYING.lib\tLicensing terms of libsctp\nCOPYING\t\tLicensing terms of other pieces of the package\nROADMAP\t\tA tour around the files in the distribution of SCTP-tools.\nINSTALL       \tHow to install and run this beast.\nChangeLog\tWhat has changed since the last release?\n\nDESIGN GOALS\n------------\n\n- A primary design goal is to reflect RFC 2960 as closely as\npractical.  We have changed many names from the user space reference to\nfollow the draft as closely as possible.  We have also included\nextensive quotes from the draft adjacent to the code which implements\nthem.\n\n- The other primary design goal is to integrate Linux kernel data\nstructures and idioms as much as possible.  The test framework (in\ndirectory test/) provides many of the functions which would otherwise\ncome from the kernel.  The test frame does use libc features, but the\nstate machine code should be libc-free.\n\n- A lesser design goal is to completely describe the actions for each\nstate transition in an sctp_command_t (see sctp_command.h).  This\nmeans that the state functions (sctp_state_fn_t in sctp_sm.h) are NOT\nallowed to modify their endpoint, association, or chunk arguments.\nThis is enforced by const modifiers--please respect the compiler\nwarnings.  All actions must be described in the last argument to the\nstate function.\n\n- A byte order convention for dealing with the SCTP chunk headers: \nall SCTP chunks, regardless if the chunk is to be sent outbound\nto the network or was received inbound from the network, the header portion\nof the chunk is ALWAYS created and retained in the NETWORK BYTE ORDER.\n\n- An error code handling convention is to return negative values internally.  \nThe sk-\u003eerr field holds a positive valued errno values, so will need our \ninternal values negated.   \n\n- We are moving toward an XP development model.  So far we have\nadopted pair-programming, coding-to-test (functional and unit), design\nthrough refactoring, and story-based planning.\n\nIn order to make XP work, it is very important that we have a complete\nset of tests for the code.  We can not safely refactor major parts of\nthe code without a way to find the things we break.  If you decide to\nextend the SCTP Kernel Implementation we ask that you do the following:\n\n\t1) Pick an XP story.  Tell linux-sctp@vger.kernel.org\n\t2) Write a functional test for that XP story.  The functional\n\t   test defines \"DONE\" for the story.\n\t3) Submit the functional test as a Pull Request on GitHub.\n\t4) Write unit tests for any new \"objects\" you define.\n\t5) Implement your feature.\n\t6) Submit the feature and the unit tests as a separate\n\tGitHub Pull Request.\n\t\nLook in src/func_tests and in lksctp-tests package for examples of of tests.\nPlease do not submit code that fails its own tests or any of the unit tests.\nIf it fails a functional test, please document that with the submission.\n\nAnother XP requirement is to code only what is you need to make the\ncurrent test work.  Where this means omitting required features, we\nhave put in prominent BUG comments describing the omitted\nfunctionality.\n\nFEATURES\n--------\nThis implementation uses a fairly compact cookie which is isolated in\nits own substructure of SCTP_association.  We have been moving toward\naggregating data elements which need to travel together to minimize\ncopying of individual elements in favour of more efficient structure\ncopies.\n\nYou will find what we believe to be the smallest possible Internet\nsimulator in the middle of the function test_kernel.c:simulate_internet().\nThe simulator makes a few simplifying assumptions...\n\nMAILING LISTS and WEB SITES\n---------------------------\nhttps://github.com/sctp/lksctp-tools/\n\n\tThis is the lksctp project webpage.  The wiki section contains\n\tmore info about it, including which RFCs it supports.\n\nlinux-sctp@vger.kernel.org\n\t\n\tThis is the discussion list for developers.  Join this list if\t\n\tyou are interested in following the day-to-day activities of\n\tthe SCTP Kernel Reference Implementation development community. \n\tSee subscription directions at:  \n\t\thttp://vger.kernel.org/vger-lists.html#linux-sctp\n\nhttp://www.sctp.org\n\n\tThis is Randy Stewart's SCTP web site.\n\nhttp://sctp.de\n\n\tThis is Michael Tuexen's SCTP web site.  Michael has collected\n\tdozens of documents related to SCTP.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsctp%2Flksctp-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsctp%2Flksctp-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsctp%2Flksctp-tools/lists"}