So I've merged in the new high-accuracy timing performance code into the mainline trunk and released 3.3.rc2. Depending on your operating system you may or may not notice any improvement, but here's the rundown of the changes:
- Add support for OS X's AbsoluteTime() functions which are *really* accurate! - Add support for the Intel RDTSC which is pretty good - Add support for IO Port 80, another method which is decent, but not great - Add support for select() which is pretty much worthless so far - Internally track packet timing with nanosecond accuracy (necessary for sub 1usec accuracy) - Add support for rounding sleep times for non-absolute timing methods (Mbps, etc) since most timing methods are +1usec accurate - Track time since last packet was sent rather then just calculating intervals - Give users the ability to accelerate time by using a sleep modifier Linux users wanting the most accurate timing should use a recent 2.6 kernel with the HPET timer code enabled for gettimeofday (check your kernel config) and specify --timer=gtod. OS X users should definitely use --timer=abstime for the AbsoluteTime() methods. Any recent Intel/AMD/SPARC system probably supports the RDTSC timer. Depending on your hardware it may be accurate or horribly inaccurate. Generally speaking, older Intel CPU's (P4's, etc) are more accurate and the newer CPU's (Core2Duo, etc) aren't accurate at all. Most users will probably find the most success with one of --timer=gtod, rdtsc or abstime. Other operating systems should try different settings and let me know what works! If anyone knows of any code (the more cross platform the better) for directly reading from the Intel HPET (rather then indirectly via gettimeofday) let me know and I'll try to integrate it in. Anyways, I haven't yet updated the wiki docs with descriptions for these changes, so check the man pages. Hopefully I'll have something up in a day or two. http://synfin.net/tcpreplay-3.3.rc2.tar.gz -- Aaron Turner http://synfin.net/ http://tcpreplay.synfin.net/ - Pcap editing & replay tools for Unix They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. -- Benjamin Franklin ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Tcpreplay-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tcpreplay-users
