Linux TSN-Testbench: Validating Converged Networks

  • Post category:MEMBER NEWS
  • Reading time:2 mins read

The Linux TSN-Testbench is a powerful tool developed by Linutronix for validating real-time and non-real-time traffic in converged networks. Hosted by PROFIBUS & PROFINET International (PI), this project supports protocols such as PROFINET and OPC/UA PubSub, and is open to extension with other protocols.

Flexibility and Functionality

The Linux TSN-Testbench offers the flexibility to simulate different communication middleware in a converged network using Time-Sensitive Networking (TSN) with Quality of Service (QoS) mechanisms. Its primary purpose is to simulate a Programmable Logic Controller (PLC), generating both real-time (RT) and non-real-time (non-RT) traffic, performing consistency and latency checks, and even mirroring traffic.

Motivated by the increasing capabilities of the Linux kernel and the open-source ecosystem, the Linux TSN-Testbench aims to address important questions about the real-world performance of TSN mechanisms. How well can PROFINET and other protocols run over TSN on Linux? What achievable jitter, cycle times, throughputs, and latencies can be expected? This tool provides an evaluation platform for manufacturers’ hardware, underlying drivers, and the Linux network stack itself.

The Linux TSN-Testbench is hardware-agnostic, utilizing mainline Linux utilities for both data and control planes. Its architecture enables cyclic Ethernet communication with different traffic classes, ranging from real-time Layer 2 to UDP communication. By leveraging traditional AF_PACKET or modern AF_XDP sockets, it can simulate various traffic types, including PROFINET or OPC/UA PubSub.

Continued Development and Community Contribution

The Linux TSN-Testbench project is continuously evolving, with exciting plans for further development. The roadmap includes support for XDP and Tx Launch Time, configurations for other hardware platforms and network interface cards, a quick start guide, and improved user-friendliness.  Special thanks go to Phoenix Contact for the initial idea and funding, as well as Siemens and Intel Corporation for their support in making this project a reality.

Conclusion

Comprehensive documentation for the Linux TSN-Testbench, including detailed instructions on building, using, and running the tool, is available at https://linutronix.github.io/TSN-Testbench. This project is hosted on GitHub at https://github.com/Linutronix/TSN-Testbench, where users are encouraged to contribute through GitHub Issues and Pull Requests.

Let’s collaborate and unlock the full potential of TSN in Linux together!