Setting up Real-time Ethernet and TSN With Linux: A 10-step Guide
summary
Step-by-step recipe to get Linux TSN working: enable preempt RT and isolate two CPU cores, configure 4 hardware queues per NIC and map 15 socket priorities → traffic classes → hardware queues with tc and ethtool, reserve one queue for PTP, set VLAN PCP egress mapping, and pin IRQ/ksoftirq threads to isolated CPUs. Measured worst-case scheduling latency is 66 microseconds, PTP sync shows ~10–26 nanoseconds offset, and simple pktgen/PLAT checks confirm the scheduled gate timings.
AI-written summary · about
chapters (19)
- 0:00Real-time Ethernet and TSN intro
- 1:03Peer-to-peer setup goals
- 4:13Real-time Linux base system
- 6:20Measuring real-time latencies
- 6:42Hardware queues with ethtool
- 7:46Socket priorities to traffic classes
- 10:14Traffic classes to hardware queues
- 12:00Interrupt threads for critical queues
- 13:47ETF queueing discipline
- 16:56Time-aware priority shaping
- 22:34VLANs for traffic prioritization
- 23:37VLAN priorities egress mapping
- 24:40Hardware offloading for receiving
- 27:09PTP time synchronization on Linux
- 28:55Real-world tests for evaluation
- 31:24Time sync accuracy verification
- 32:07Schedule compliance with PLAT
- 35:38Scaling multi-device TSN networks
- 36:20Q&A on hardware and switches
related talks
40mTime-Sensitive Networking (TSN) with Mainline Embedded Linux
50mThe Road Towards a Linux TSN Infrastructure
34mDeterministic Networking for Real-Time Systems (Using TSN)
42mUsing the Network as a Reliable Platform for Time-Sensitive Systems
24mTime-Sensitive Networking (TSN) Enabling on StarlingX
55mPractical TSN; using NetChan for distributed PoC
44mReal-Time Linux on Embedded Multicore Processors
47mReal-Time Linux: What Is Next?
