Skip to content

hp1/hp3: persistent jumbo MTU 9700 on the 25 GbE RoCE links - #27

Open
randomizedcoder wants to merge 1 commit into
mainfrom
roce-jumbo-mtu
Open

hp1/hp3: persistent jumbo MTU 9700 on the 25 GbE RoCE links#27
randomizedcoder wants to merge 1 commit into
mainfrom
roce-jumbo-mtu

Conversation

@randomizedcoder

Copy link
Copy Markdown
Owner

Summary

Set the 25 GbE RoCEv2 links (enp1s0f0np0, enp1s0f1np1) on hp1 and hp3 to a permanent MTU 9700 — the ConnectX-4 Lx driver's maxmtu is 9978, and 9700 is NVIDIA's practical max for this NIC (MT27710).

Done via a systemd.network.links .link file (roce-mtu.nix) so it applies at device appearance through systemd-udevd, independent of the imperative xdp2.testbed NIC wiring (whose jumbo option only hardcodes 9000).

Why

Lifts the RoCE path MTU (ibv active_mtu) from 1024 → 4096 (its ceiling) — 4× fewer RoCE packets per frame — and raises the single-stream TCP baseline. This is the host-side half of uds-rdma-proxy design 37: with jumbo + large frames a single urp stream now beats a single TCP stream (copy path 103% of jumbo iperf2 -P1, zero-copy path 97.6% of 25 GbE line).

Verified

  • ip -d link show enp1s0f0np0mtu 9700; ibv_devinfoactive_mtu: 4096.
  • ping -M do -s 9672 <peer> → 0% loss end-to-end (jumbo path passes; if a future path can't, drop MTUBytes to "9000").
  • Survives reboot (declarative); both hosts deployed and healthy.

🤖 Generated with Claude Code

Set enp1s0f0np0 / enp1s0f1np1 to MTU 9700 (ConnectX-4 Lx driver maxmtu is
9978; 9700 is NVIDIA's practical max for this NIC) via a systemd-udevd
.link file, so it applies at device appearance independent of the imperative
xdp2.testbed NIC wiring (whose `jumbo` option only hardcodes 9000).

This lifts the RoCE path MTU (ibv active_mtu) from 1024 to its 4096 ceiling
and raises the single-stream TCP baseline. Verified end-to-end: ping -M do
-s 9672 passes 0% loss hp1<->hp3. Supports uds-rdma-proxy design 37
(large-frame throughput: a single stream now beats single-stream TCP).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant