# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Intel White Paper Ethernet Time-Sensitive Networking on Linux for 3rd Gen Intel Xeon Processor Scalable Family, Codename Ice Lake-D

Summary

A detailed technical guide on implementing Time-Sensitive Networking (TSN) over Ethernet on Linux for Intel Xeon Scalable Processors. This manual provides system integrators and developers with comprehensive instructions covering prerequisites, IEEE 802.1AS synchronization, queue management using cgroups, and advanced benchmarking procedures. It walks through setup verification steps, including utilizing iperf3 and Wireshark to validate critical TSN functions like Qbv (Queued Bandwidth Virtualization), ensuring professional deployment of low-latency, deterministic networking solutions.

📄 Preview 📖 Table of Contents Contents PAGE OF 21

Page 1 Text Content

Ethernet Time-Sensitive Networking on Linux* for 3rd Gen Intel® Xeon® Processor Scalable Family, Codename Ice Lake-D 1700/2700 White Paper Revision 1.0 August 2022

Intel Confidential

Document Number: 739015

Page Summary Contents For Intel White Paper Ethernet Time-Sensitive Networking on Linux for 3rd Gen Intel Xeon Processor Scalable Family, Codename Ice Lake-D

Page 1 Ethernet Time-Sensitive Networking on Linux* for 3rd Gen Intel® Xeon® Processor Scalable Family, Codename Ice Lake-D 1700/2700 White Paper Revision 1.0 August 2022 Intel Confidential Document Number: ...
Page 2 Notice: This document contains information on products in the design phase of development. The information here is subject to change without notice. Do not finalize a design with this information. Int...
Page 3 Contents 1 Overview ............................................................................................. 5 1.1 Introduction to Time-Sensitive Networking ..................................... ...
Page 4 Revision History Revision Number Description Date 1.0 • Initial release of the document. August 2022 4 Document Number: 739015, Revision: 1.0 Intel Confidential
Page 5 1 Overview This document is designed to help engineers who are already familiar with working in a Linux* command-line environment. This document provides Linux command line guide to help user understa...
Page 6 1.2 Introduction to Linux* Ethernet Time- Sensitive Networking 1.2.1 TSN Reference Software Reference DOC: Intel® RDC Doc ID 616446 iotg_tsn_ref_sw: https://github.com/intel/iotg_tsn_ref_sw.git tsn-ta...
Page 7 1.3 Terminology Term Description AV Audio Video Credit-Based Shaper Gigabit Ethernet g PTP Generalized Precision Time Protocol Institute of Electrical and Electronics Engineers NIC Network Interface C...
Page 8 Detail CRB information as below: CPU: Genuine Intel® Atom C1130 processor System: Linux YOCTO Intel-Corei7-64 5.15.24-intel-ese-standard-lts NIC: Intel Corporation Intel® Ethernet Controller I225-LM (...
Page 9 1.4.2 Disable NTP Clock Sync • Disable NTP clock sync for boards connected to internet to prevent interrupt with clock sync between boards. Command: timedatectl set-ntp 0 • Check and confirm NTP is di...
Page 10 2 IEEE 802.1AS and System Time Synchronization 2.1 Objectives • Achieve time synchronization between Board A and B. • Synchronize each platform's system clock with PHC (PTP hardware clock) using hardw...
Page 11 2.4 Steps 2.4.1 Synchronize Board A and B’s PTP Hardware Clock Step 1: Run ptp4l on master board. Board A Command: ptp4l -i enp1s0 -m -H Step 2: Run ptp4l on slave board. Board B Command: ptp4l -i enp...
Page 12 3 IEEE 802.1Qav: Credit- Based Shaper 3.1 Objective Transmit UDP packets using a talker application, which specifies SO_PRIORITY, and limits the transfer rate using MQPRIO and CBS qdiscs. A listener r...
Page 13 Step 4: Setup 4 traffic classes mapping. Refer to MQPRIO. Board A Command: tc qdisc replace dev enp3s0 handle 100: parent root mqprio num_tc 4 map 0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 queues 1@0 1@1 1@2 1@...
Page 14 4 Time-Based Scheduling (TBS) 4.1 Objective Transmit a UDP packet precisely at 1ms intervals. The listener board shows the time between packets. 4.2 Reference This chapter uses the following tools:  ...
Page 15 Step 3: Different platforms and network controllers may have different number of queues that support Earliest Transmit Time First (ETF). Follow the steps below to configure ETF on one queue on relevan...
Page 16 5 IEEE 802.1 Qbu – Frame Preemption 5.1 Objective Configure a single queue to use frame preemption (FPE) on two platforms. Note: FPE requires both platforms network interface to be FPE-capable to work...
Page 17 Example Output: Step 2: Setup TAPRIO and set Queue 2 – 3 to be the preemptible queue and Queue 0 - 1 to be express queue. BASE= $(date +%s%N) echo "$BASE" tc qdisc add dev <interface> ...
Page 18 6 IEEE 802.1 Qbv – Time Aware Shaper (TAS) 6.1 Objective Transmit 4 streams of iperf UDP traffic using TAPRIO qdisc to limit the bandwidth of each stream. A listener board captures the transmitted pac...
Page 19 Step 3: Setup TAPRIO qdisc. Start the schedule 5 seconds into the future. Refer to configuration in relevant platform setup section below: Board A Command: tc qdisc add dev enp1s0 parent root handle 1...
Page 20 Step 7: Since we cannot modify iperf3’s socket priority, use net_prio cgroups to control which hardware transmits queue each iperf3 instance is using. Board A Command: mkdir -p /sys/fs/cgroup/net_prio...
Page 21 6.4.2 Verifying Qbv Using Wireshark* Step 1: Use Wireshark* to analyze the pcap. 1) Add New Graph. 2) Insert Filter: A. “udp.dstport == 5100” B. “udp.dstport == 5101” C. “udp.dstport == 5102” D. “udp....

Manual Details

Brand Intel
Pages 21
File Size 910.38 KB
Published June 03, 2026
50 views

Enter the captcha to get the download link:

captcha

Frequently Asked Questions

What prerequisites must be met for setting up this hardware and software?

It is necessary to disable NTP Clock Sync for proper Time-Sensitive Networking implementation.

How can system stability issues related to clocks or memory frequencies be addressed?

Caution is advised; altering PC clock or memory frequency/voltage may cause instability, failure, or data integrity loss. Check with the memory manufacturer.

What steps are needed when testing multiple network queues using iperf3?

Use `net_prio cgroups` to create separate directories for each queue (e.g., grp1–grp4) and echo the process ID (`$!`) into their respective `cgroup.procs` files.

What commands are used to monitor network queue statistics during testing?

Use the command `watch -d -n 0.5 "tc -s qdisc show dev enp1s0"` and check for increasing sent bytes and packets across the queues.