Since updating to macOS 27, all the Macs in our office have been very slow on real transfers: SwissTransfer, other file-transfer sites, browser uploads and downloads. Speed tests still look normal. The cause is TCP ECN (Explicit Congestion Notification). The workaround posted for macOS 26 (sudo sysctl -w net.inet.tcp.ecn_initiate_out=0) fails on macOS 27 with "sysctl: unknown oid", because that setting has been removed.
Workaround that works on macOS 27 (27.0, 26A428):
sudo sysctl -w net.inet.tcp.ecn=0
To keep it after a reboot, add it to /etc/sysctl.conf. launchd on macOS 27 still references this file; we will confirm after a reboot:
echo "net.inet.tcp.ecn=0" | sudo tee -a /etc/sysctl.conf
What changed. On macOS 27, net.inet.tcp.ecn_initiate_out and net.inet.tcp.ecn_negotiate_in no longer exist. What is left: net.inet.tcp.ecn (default 1), net.inet.tcp.ecn_setup_percentage (100) and net.inet.tcp.ecn_timeout (60; it was 5 on Tahoe). Reports on Tahoe said it tried ECN on only part of its connections, and not over IPv4. Our office is IPv4 only, so Tahoe was fine here. macOS 27 appears to negotiate ECN on every connection, and the problem started right after the update (mid-September 2026).
Setup: 1 Gbit/s FTTH (about 916 down / 748 up), FRITZ!Box 7530 AX, IPv4 only. Affected: MacBook Air (M3), an iMac and two Mac Studios, over Wi-Fi and Ethernet. A Linux NAS on the same switch stayed fast.
Measurements. Same MacBook Air, same Wi-Fi, same 2 GB random file, only net.inet.tcp.ecn toggled:
- SwissTransfer upload, 2 GB: ECN on, 311 s (52 Mbit/s; 5 TCP connections at 6-11 Mbit/s each, RTT flat at the idle 21 ms, so the local link was not congested). ECN off, 32 s (552 Mbit/s).
- SwissTransfer download, same file, one TCP connection: ECN on, 64-97 Mbit/s. ECN off, 280-300 Mbit/s.
- Hetzner / OVH 1 GB test files: ECN on, 337 / 378 Mbit/s. ECN off, 548 / 613 Mbit/s.
Cross-check from Linux on the same wire (the NAS, wired), toggling only net.ipv4.tcp_ecn:
- SwissTransfer download: 531-728 Mbit/s without ECN, 111-168 Mbit/s with ECN.
- Hetzner download: 712-760 without ECN, 584-739 with ECN.
- Packet loss does not explain it. One ECN run at 111 Mbit/s had 0.01 % out-of-order segments, and no CE marks showed in 30,000 captured packets. ECN-negotiated flows are just slow with some servers.
Line checks: iperf3 sustained 707 Mbit/s up for 180 s; UDP at 600 Mbit/s had 0 % loss; HTTPS over 4 connections reached 639 Mbit/s. The ISP line and the router are fine.
In short: if your Mac is slow on real transfers after macOS 27 but speed tests look fine, try sudo sysctl -w net.inet.tcp.ecn=0. Earlier thread about the same issue on Tahoe: https://discussions.apple.com/thread/256220357