All Projects → sctplab → SCTP_NKE_HighSierra

sctplab / SCTP_NKE_HighSierra

Licence: other
A version of the SCTP NKE running on Mac OS X 10.13 (High Sierra)

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to SCTP NKE HighSierra

lksctp-tools
The Linux SCTP helper library
Stars: ✭ 75 (+400%)
Mutual labels:  sctp
scamper
A toolkit for creating SCTP servers and clients
Stars: ✭ 22 (+46.67%)
Mutual labels:  sctp
node-sctp
SCTP userspace sockets for Node.js
Stars: ✭ 47 (+213.33%)
Mutual labels:  sctp
rawrtc-data-channel
A standalone WebRTC and ORTC data channel implementation.
Stars: ✭ 47 (+213.33%)
Mutual labels:  sctp
packetdrill
packetdrill with UDPLite and SCTP support and bug fixes for FreeBSD
Stars: ✭ 37 (+146.67%)
Mutual labels:  sctp
web-udp
Establish client/server and P2P UDP-like channels in the browser
Stars: ✭ 43 (+186.67%)
Mutual labels:  sctp
sctp
SCTP library for the Go programming language
Stars: ✭ 98 (+553.33%)
Mutual labels:  sctp
werift-webrtc
WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP/SRTP
Stars: ✭ 228 (+1420%)
Mutual labels:  sctp
scamper-chat
An IRC-like chat client and server using SCTP, based on Scamper+Netty
Stars: ✭ 13 (-13.33%)
Mutual labels:  sctp

SCTP NKE for Mac OS X 10.13 (High Sierra)

The sources are based on the SCTP implementation of the FreeBSD kernel modified to work within the Mac OS X kernel infrastructure as a network kernel extension. This allows the dynamic loading and unloading of the module without rebooting the operating system.

Supported Specifications

The FreeBSD kernel stack and the SCTP NKE for Mac OS X supports:

Note about using Unsigned Kernel Extensions

When using Mac OS X 10.13, you can't load unsinged kernel extensions without disabling the System Integrity Protection. See Apple's documentation on how to disable it. I'm currently not providing a signed NKE, since I don't have the necessary certificate.

Installation

Currently there is no installer provided. Therefore the following manual steps are required. You can download a disk image containing all files at SCTP_NKE_HighSierra_02.dmg.

Prerequisites

It is assumed that the comand line tools are installed. This can be done executing

xcode-select --install

Installation of KEXTs

Execute the following commands:

sudo cp -R /Volumes/SCTP_NKE_HighSierra_02/SCTPSupport.kext /Library/Extensions
sudo cp -R /Volumes/SCTP_NKE_HighSierra_02/SCTP.kext /Library/Extensions

The first extension is needed to export additional symbols from the kernel. The second extension contains the SCTP relevant code.

Installation of Support Files

Execute the following commands:

sudo cp /Volumes/SCTP_NKE_HighSierra_02/socket.h /usr/include/sys/
sudo cp /Volumes/SCTP_NKE_HighSierra_02/sctp.h /usr/include/netinet/
sudo cp /Volumes/SCTP_NKE_HighSierra_02/sctp_uio.h /usr/include/netinet/
sudo cp /Volumes/SCTP_NKE_HighSierra_02/libsctp.dylib /usr/lib/

The first command changes an existing file by adding a definition for MSG_NOTIFICATION. The other commands add additional files.

Using the SCTP KEXT

Since the NKE's are not signed, you need the disable the System Integrity Protection as described above.

Loading the SCTP KEXT

You can load the SCTP kext by executing in a shell

sudo kextload /Library/Extensions/SCTP.kext

Unloading the SCTP KEXT

You can unload the SCTP kext by executing in a shell

sudo kextunload /Library/Extensions/SCTP.kext
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].