Explicit Congestion Notification (ECN) is a network congestion management mechanism that enables switches and routers to signal congestion without dropping packets. In Azure Local QoS implementations, ECN is specifically configured for storage (RDMA) traffic to maintain lossless transport while providing congestion feedback to endpoints.
When implemented with WRED (Weighted Random Early Detection) in the QoS policy, ECN allows switches to mark packets instead of dropping them when queue thresholds are reached. For storage traffic (CoS 3), this is critical because RDMA requires lossless transport. The switch marks packets with congestion information, allowing the sending host to reduce its transmission rate and prevent further congestion, all while maintaining the lossless nature required for storage workloads.
This mechanism is particularly important in Azure Local environments where storage traffic must be protected from packet loss while still providing congestion control. The ECN marking occurs in the IP header's DSCP field using specific codepoints that communicate congestion status between network devices and endpoints.
An example of ECN packet codes
| ECN Fields | Description | Codepoints |
|---|---|---|
| 0x00 | Non ECN-Capable Transport | Not-ECT |
| 0x10 | ECN-Capable Transport | ECT(0) |
| 0x01 | ECN-Capable Transport | ECT(1) |
| 0x11 | Congestion Encountered | CE |
Note
ECT(0) and ECT(1) are equivalent and indicate that the transport protocol supports ECN.
