3 comments

  • deathanatos10 minutes ago
    But <i>what</i> was the checksum? Like the actual, specific value?<p>The Factorio devs found[1] that some devices <i>do</i> fail to compute checksums, in that they compute the checksum just fine, but they&#x27;re doing something stupid with some values and so checksums of 0x0000 or 0xFFFF (the two values from the FFF) cause packet loss.<p>In any protocol that, when the packet repeats, repeats it with even the slightest permutation (different request ID, timestamp, sequence number, etc.), that will be enough to jiggle the checksum to a new value (probably), and then the protocol will keep going with only a minor blip that probably goes unnoticed.<p>But if the packet is <i>deterministic</i>, only then you hit the problem.<p>&gt; <i>calculating the UDP checksum is not exactly rocket science.</i><p>I&#x27;ve seen things that trivial get messed up. &quot;Just read the standard&quot; is a high bar, sometimes. (Though the above is probably &quot;I dual purposed a u16 without realizing it didn&#x27;t have any available niches for that…&quot;)<p>[1]: <a href="https:&#x2F;&#x2F;www.factorio.com&#x2F;blog&#x2F;post&#x2F;fff-176" rel="nofollow">https:&#x2F;&#x2F;www.factorio.com&#x2F;blog&#x2F;post&#x2F;fff-176</a>
  • nubinetwork26 minutes ago
    Interesting... I&#x27;ve heard enabling tx&#x2F;rx offloading is actually beneficial, turns out that&#x27;s not always the case...
  • bombcar29 minutes ago
    It&#x27;d be interesting to see <i>what</i> the wrong checksum it calculates is ...