Time-Sensitive Networking (TSN) Reference Software for Linux.
License
The project is licensed under the BSD 3-Clause License. Refer to LICENSE.txt for more information.
Overview
This project presents a collection of sample applications which aim to demonstrate and educate users on using TSN interface available in Linux mainline.
Sample application to demonstrate the use of the Stream Reservation Protocol (SRP) as described in IEEE 802.1Qat for time-sensitive traffic resource management.
IEEE 802.1Qav Credit Based Shaper (CBS)
LaunchTime feature of Intel® Ethernet Controller I210 with ETF qdisc to ensure TX packets are in correct chronological order.
Derived from Open62541 tutorial_pubsub_publish example
TAPRIO qidsc (Software implementation of IEEE 802.1Qbv Time-Aware Shaper)
LaunchTime feature of Intel® Ethernet Controller I210 with ETF qdisc to ensure TX packets are in correct chronological order.
Compatibility and Dependencies
These applications are developed using the Intel® Ethernet Controller I210 which has a specific LaunchTime feature. Theoretically, any other Ethernet controller with the similar capability (with proper Linux driver support) would be able to run these applications.
These applications should be compiled on the Linux Kernel 4.20 or higher to enable the use of newly-introduced qdiscs:
Apart from that, each application has a slightly different set of dependencies. For example, some require specialized hardware. Please check the individual READMEs for more information.
Documentation
A comprehensive User Guide can be found in the doc folder.
How to contribute
To create and submit a pull request:
Create a GitHub account
Fork iotg_tsn_ref_sw on your site/account
Create a branch from the "development" branch
Push changes to your account, NOT intel/iotg_tsn_ref_sw - this will fail
Create a pull request for your branch
Contact
Submit Github issue to ask question, submit a request or report a bug.