Congestion Signaling (CSIG) for Linux TCP Data Center Networking
summary
Adds CSIG support to the Linux TCP stack: initializes a 4-byte compact L2 tag on transmit, switches compare-and-replace the tag for the worst bottleneck, and the receiver caches and sends that data back in a CSIG reflection TCP option; implementation reuses VLAN insert/remove logic, updates GRO coalescing to preserve the last tag, stores reflected values in tcp_sock, exposes counters and extended tcp_info, extends packetdrill for tests, implements timeout-based fallback, and shows faster Swift ramp and topology heat‑map validation in production.
AI-written summary · about
chapters (14)
- 0:00Introduction to CSIG
- 2:28What CSIG provides
- 4:34How CSIG works in network
- 7:03CSIG tag format details
- 9:10CSIG negotiation and control
- 9:32Linux TCP implementation
- 10:59GRO handling for CSIG
- 12:49CSIG reflection TCP option
- 13:54CSIG telemetry and safety
- 15:20Testing CSIG with packetdrill
- 17:05CSIG use cases overview
- 17:25One-way congestion control
- 18:07Validating network improvements
- 19:09Q&A session
related talks
18mCCC: Re-architecting Delay-based Congestion Control in Datacenter Networks
31mTuning Linux TCP for data-center networks
14mA large-scale deployment of DCTCP
19mTackling DC Congestion and Bursts
19mSwCC: Software-Programmable and Per-Packet Congestion Control in RDMA Engine
23mACK to the Future: TCP in 2025
50mThe Road Towards a Linux TSN Infrastructure
40mTime-Sensitive Networking (TSN) with Mainline Embedded Linux
