A RoCEv2 Flow-Level Load Balancing Method Based on the IPv6 Flow Label#
IETF 126 (Vienna) digest Program Core pick Vienna · 18–24 July 2026
Jiayuan Hu (presenter), Jie Dong, Xia Gong.
- Why: The classic RoCEv2 load-balancing flaw: many parallel RDMA sessions from one host share an identical 5-tuple, so ECMP hashes them all to one path — elephant flows, congestion, loss in AI/HPC clusters.
- What: A 6man proposal to recover per-session entropy: the ingress network device parses the Queue Pair numbers (24-bit Source/Destination QP) from the RoCEv2 BTH/DETH headers, hashes them with the low 16 bits of each IPv6 address using CRC32, and writes the low 20 bits into the IPv6 Flow Label. Downstream devices then hash "5-tuple + Flow Label".
- How: CRC32 with init 0xFFFFFFFF — deliberately hardware/ASIC-friendly; only the Flow Label field is modified, so firewalls and NAT behavior are untouched and hosts are fully transparent to the mechanism.
- Where applicable: RoCEv2-over-IPv6 AI/HPC fabrics; requires ingress switch parsing capability. Early individual draft; the authors are asking for review, so expect evolution.