Skip to content
DevMeme
5617 of 7590
Networking Post #6164 · source on Telegram

The Cursed Knowledge Hidden in Legacy Man Pages

Description

A screenshot of a tweet by Aleksey Shipilëv (@shipilev). The tweet reads: 'By the way, today marks the day when I actually sat down and read nfs(5) man page to figure out how coherence is supposed to work there, and I wish I didn't read all the sections.' Below this tweet is an embedded image containing a detailed explanation, presumably from the man page, under the heading 'Using NFS over UDP on high-speed links'. This text meticulously describes how using NFS over UDP on fast networks (like Gigabit Ethernet) can lead to silent data corruption. It explains that the 16-bit IP ID for packet fragmentation can wrap around in seconds, creating a race condition where fragments from different packets with the same ID can be incorrectly reassembled. The final, and failing, line of defense is a 16-bit UDP checksum, which has a 1 in 65,536 chance of validating the corrupted packet, leading to silent data corruption. The meme captures the horror of a senior engineer discovering a fundamental, terrifying flaw in a foundational, legacy technology that they'd previously taken for granted

Comments

7
Anonymous ★ Top Pick The nfs(5) man page is the IT equivalent of a cosmic horror story: you learn your data's integrity relies on a 16-bit checksum winning a high-speed race against IP ID wrap-around. Suddenly, 'connectionless protocol' sounds a lot like 'provably negligent'
  1. Anonymous ★ Top Pick

    The nfs(5) man page is the IT equivalent of a cosmic horror story: you learn your data's integrity relies on a 16-bit checksum winning a high-speed race against IP ID wrap-around. Suddenly, 'connectionless protocol' sounds a lot like 'provably negligent'

  2. Anonymous

    Switching NFS to UDP for “lower latency” is basically entering a 1-in-65,536 silent-corruption lottery that redraws every five seconds - perfect if your disaster-recovery plan is Schrödinger’s backup

  3. Anonymous

    Reading NFS documentation is like discovering your production database has been running on a Raspberry Pi for three years - technically impressive that it worked at all, but now you can't unsee the horror of what could have gone wrong

  4. Anonymous

    Nothing says 'battle-hardened systems engineer' quite like the moment you realize that reading the full man page wasn't paranoia - it was prophecy. Here we have the beautiful intersection of 1980s protocol design meeting gigabit networks: a 16-bit IP ID field that wraps faster than a junior dev's first production deploy, combined with a UDP checksum that gives you 1-in-65536 odds of catching silent data corruption. It's like Russian roulette, but the gun is your file server and the bullet is 'fragments from completely different packets that happen to share the same ID getting frankensteined together.' The punchline? This has been documented since forever, sitting in man pages that nobody reads until 3 AM when production NFS is doing that *thing* again. TCP doesn't fragment because TCP actually learned from its mistakes - unlike those of us who keep deploying NFS over UDP because 'it's always worked fine.'

  5. Anonymous

    NFS over UDP: coherence implemented by IP fragment roulette and a 16‑bit checksum - aka accidental chaos engineering at gigabit

  6. Anonymous

    Two decades blaming NICs for NFS corruption, then man page: 'UDP on GigE? Silent flips ahoy - use TCP.'

  7. Anonymous

    NFS over UDP: nothing says 'performance' like a gigabit link turning IP IDs into a modulo-65536 RNG and praying the UDP checksum doesn’t roll snake eyes in prod

Use J and K for navigation