Current list of things to fix/add to iperf3 - readd -Z option (linux tcp congestion control algoritm) - readd flag to set IP_TOS (-S) - finish adding verbose and debug options - separate iperf_api.c into iperf_client.c and iperf_utils.c - look for 'XXX' in code and address - much better/standard error handling throughout - better packaging/makefile, README, LICENCE, etc files - finish/fix receive_result_from_server() - should this be called for TCP too, or only UDP (currently its both, but I think it should be UDP only, or maybe a command line option for TCP - document and verify the 'state machine'. Is it an error to send messages in the wrong order? - e.g.: what is "STREAM_RUNNING" vs "TEST_RUNNING"?? - cleanup/fix/test UDP mode add TCP control socket? use clock_nanosleep() for more accurate timing in Linux? (http://www.kernel.org/doc/man-pages/online/pages/man2/clock_nanosleep.2.html) fix server to handle both TCP and UDP - add human readable vs machine readable output mode (my idea on this is that "human readable" = compatable with old iperf, and that "machine readable is all name=value pairs -blt ) - add IPV6 - lots more testing - add daemon mode (-D) - see issue tracker for other wish list items http://code.google.com/p/iperf/issues/list