update clientside iperf
I finally ran into a Linux client machine with gcc 6, and iperf gave me a c++ error I didn't understand (and didn't care to figure out how to fix so as to ensure backwards-compat with all our older g++ cases). Updating our patch is not a simple thing of pulling in some bits from 2.0.10; in the commit that "fixed" this particular problem, they moved source files from c++ to c, etc.
So I pulled our patch forward into the current release, 2.0.10, and have that sitting in my tree for the newer distro I have to get working. 2.0.10 has some of the bugfixes we've been carrying in our patch, but not all.
More importantly, 2.0.10 does not change the raison d'etre for our patch -- the high, built-in udp final ack timeout value -- which our patch changes to a CLI and packet header option.
Unfortunately, iperf client/server share options via a binary header, masked by flags -- and our patch used a flag value for our mAckTimo bytes that was unused at the time, but is now used as a general extensions flag. Thus our installed, custom iperfs are binary-incompat with current non-customized binaries. I didn't actually test, so I don't know how the incompat will manifest, but my money is on a crash or disfunction. Obviously, patching the current iperfs to shift the new flag bits down to other bitspace, and then continuing to use our mAckTimo custom bit as before, will preserve binary compat between our 2.0.2 and 2.0.10 customized versions. The other strategy to consider is moving our custom flag to a safer less-likely-to-be-used part of the word, and having a flag day; but of course that will break compat with our older custom iperfs.
Anyway, I think @hibler wanted to look at the acktimeout thing and see if it's still necessary, before we commit to any particular strategy.