TCP stack "long" cleanup
Jonathan T. Looney
jtl at freebsd.org
Sun Jul 3 15:15:56 UTC 2016
After the last 64-bit-specific bug, I decided to go on a mission to eliminate the use of "long" types in the TCP stack. This causes architecture-specific problems when we expect to use modulo 2^32 arithmetic for TCP values.
Along the way, I think I found a few bugs, noticed a few things that we should cleanup, etc.
As we discussed on the transport call on Thursday, I opened a separate Phabricator review for roughly each variable. That means I opened a boat-load of reviews, but they should each be digestable. I prefixed them all with FFL (short of "Freedom from Longs" :-) ). I also tried to highlight the one or two areas that I think need especially close attention.
The full patch is here: https://people.freebsd.org/~jtl/freedom-from-longs.diff . It passed a tinderbox build, and seems to work fine with my (admittedly very little) preliminary testing. It could use some wider testing.
I don't expect to commit any of this until after stable/11 branches. Some of the changes would not break the KBI/ABI, so would be eligible for MFC; many are not MFC candidates. In general, I only expect to MFC a few small things.
More information about the freebsd-transport