Docker Swarm overlay: intermittent packet loss between nodes after lowering MTU — vxlan fragmented frames dropped
Environment
Docker Swarm cluster (Docker Engine 20.10) across three bare-metal hosts with Intel NICs, overlay driver using vxlan, recent change: global MTU lowered from 1500 to 1400 to accommodate a cloud provider tunnel. Hosts run Ubuntu 22.04, kube-like container workloads use overlay networks for north-south and east-west traffic.
Symptoms
Services on different nodes intermittently fail to reach each other; small RPCs succeed but larger HTTP POSTs or binary payloads intermittently time out or produce connection resets. Errors correlate with larger packet sizes; retries sometimes succeed. Packet loss appears only between particular node pairs.
Observations
docker network inspect shows overlay MTU set to 1400. Captures on host interfaces show large vxlan-encapsulated frames exceeding the physical interface MTU after being encapsulated, with DF bit set on inner packets. Linux dmesg on one host logs 'fragmentation needed and DF set' warnings. Disabling GRO on outer vxlan devices reduced error rate. Hosts where NIC offloads were left enabled exhibited more frequent drops. The issue reproduced after the MTU change; before lowering MTU, problems were not observed.
Already attempted
Rebooted Docker daemons and nodes; removed/recreated overlay networks; changed swarm mtu setting back to 1500 temporarily on test overlay (impractical cluster-wide due to upstream tunnel). Disabled GRO/GSO/TSO on vxlan interfaces and host NICs; observed improvement but not full resolution. Tested same workloads on a single host (no overlay) — no failures.
Question
What is the best way to diagnose and mitigate vxlan overlay fragmentation and DF-bit related packet drops in a Docker Swarm environment when MTU must be reduced for upstream tunnels? Which reversible network-level settings (offloads, MTU, fragmentation policy) should be adjusted first to restore service reliability, and when should NIC vendor escalation be considered?
Verified community troubleshooting
No answers yet..
Incident analysis
Most likely causes
Summary
Suggested Fixes
Continue troubleshooting
Related troubles
Matched from the title, description and tags