[Make-wifi-fast] less latency, more filling... for wifi

Toke Høiland-Jørgensen toke at toke.dk
Fri Oct 13 05:28:29 EDT 2017

Bob McMahon <bob.mcmahon at broadcom.com> writes:

> Thanks Toke. Let me look into this. Is there packet loss during your
> tests? Can you share the output of the client and server per the error
> scenario?

Yeah, there's definitely packet loss.

> With iperf 2 there is no TCP test exchange rather UDP test information
> is derived from packets in flight. The server determines a UDP test is
> finished by detecting a negative sequence number in the payload. In
> theory, this should separate UDP tests. The server detects a new UDP
> stream is by receiving a packet from a new source socket. If the
> packet carrying the negative sequence number is lost then summing
> across "tests" would be expected (even though not desired) per the
> current design and implementation. We intentionally left this as is as
> we didn't want to change the startup behavior nor require the network
> support TCP connections in order to run a UDP test.

Ah, so basically, if the last packet from the client is dropped, the
server is not going to notice that the test ended and just keep
counting? That would definitely explain the behaviour I'm seeing.

So if another test starts from a different source port, the server is
still going to count the same totals? That seems kinda odd :)

> Since we know UDP is unreliable, we do control both client and server over
> ssh pipes, and perform summing in flight per the interval reporting.
>  Operating system signals are used to kill the server.    The iperf sum and
> final reports are ignored.   Unfortunately, I can't publish this package
> with iperf 2 for both technical and licensing reasons.   There is some skeleton
> code in Python 3.5 with asyncio
> <https://sourceforge.net/p/iperf2/code/ci/master/tree/flows/flows.py> that
> may be of use.   A next step here is to add support for pandas
> <http://pandas.pydata.org/index.html>, and possibly some control chart
> <https://en.wikipedia.org/wiki/Control_chart> techniques (both single and
> multivariate
> <http://www.itl.nist.gov/div898/handbook/pmc/section3/pmc34.htm>) for both
> regressions and outlier detection.

No worries, I already have the setup scripts to handle restarting the
server, and I parse the output with Flent. Just wanted to point out this
behaviour as it was giving me some very odd results before I started
systematically restarting the server...


More information about the Make-wifi-fast mailing list