forked from appneta/tcpreplay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
475 lines (427 loc) · 21.7 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
06/28/2014 Version 4.0.5beta2
- Avoid a netmap module debug message (#110)
- Add missing header to distribution (#108)
06/21/2014 Version 4.0.5beta1
- Make --netmap version agnostic (#106)
- Fix netmap hang in FreeBSD 11 (#103)
- Fix netmap hang if network cables unplugged (#96)
- Support for Vale Switch (#91)
- Prevent file retransmissions when selecting multiple files (#86)
- Fix max replay rate for all loops except first when omitting --mbps (#85)
- Add missing sanity check in libopt (#84)
- Seg fault on some IPv6 files when using -C option with tcprewrite (#83)
- Support for PF_RING DNA version of libpcap (#82)
- Fix segfault when using '-F pad' (#80)
- Disallow netmap on multiple interfaces (#79)
- Fix build for FreeBSD version 8.4 (#78)
06/19/2014 Version 4.0.5-beta1
- Second loop iteration at full speed (#85)
- PF_RING libpcap support (#82)
03/22/2014 Version 4.0.4
- Number of packets inaccurate when using --netmap method (#76)
- Unexpected packet counts with --loop and --cachefile enabled (#75)
- Improved error messages when interface is a file (#74)
- Missing interfaces with --listnics option (#67)
- Compile issue with netmap v10 and debugging (#66)
- Bad values with --stats and -t options (#65)
02/04/2014 Version 4.0.3
- Fix build errors when ENABLE_VERBOSE is not set (#60)
- Build error on host without tcpdump (#59)
01/17/2014 Version 4.0.2
- Fix hangs with --mbps command (#54)
01/16/2014 Version 4.0.1
- Support for netmap version 10 API (#53)
- Remove deprecated "absolute time" for OS X (#52)
- Make dosleep() rentrant to support API concurrency (#51)
- Remove compiler warnings (#50)
- Fix slow netmap in Intel GigE "igb" server NICS (#49)
01/05/2014 Version 4.0.0
- Implemented wiki page for 4.X - http://tcpreplay.appneta.com
- Support for ARM aarch64 (appneta #43)
- Add Juniper Encapsulated Ethernet DLT (appneta #42)
- Fixed seg fault on -K and --dualfile options (appneta #41)
12/22/2013 Version 4.0.0beta2
- Restored -K option which somehow disappeared (appneta #35)
- Improve printing with small pcaps at high rates (appneta #34)
- Fixed build errors on BSD and Fedora 20 (appneta #32 #33)
12/20/2013 Version 4.0.0beta1
- Compile and cross compile on ARM (appneta #26)
- Add flow statistics (appneta #23)
- Merge code cleanups from old 4.0alpha1 project (appneta #18)
- Deprecated file-cache option - use preload-pcap instead (appneta #17)
- Removed obsolete sleep-mode and sleep-accel options (appneta #16)
- Remove unreliable RDTSC option (appneta #16)
- Switch from BSD to GPLv3 license (appneta #5)
- Add --unique-ip option to tcpreplay (appneta #4)
- Removed sleep-accel option (appneta #2)
- Enhance accuracy and performance of --mbps option (appneta #2)
- Add netmap injector (appneta #1)
- Properly process IPv6 extension headers (#396)
- Update URL's to point to new tcpreplay website (#430)
- Improve & fix bugs in tcpcapinfo (#437)
- Fix statistics to be more industry standard (#443)
- Add --nofixcsum (#449)
- Fix compile failure under FreeBSD 9.0 (#450)
- Don't checksum packets before going through fragroute engine (#452)
- Add support for --maxsleep option to tcpreplay (#453)
- Fix segfault when rewriting multiple ports (#459)
- Fix bug with printing stats after CTRL-C (#482)
- Update autotools (#483)
- Don't recalculate UDP checksums if it's value is 0 (#490)
- Fix documentation of --efcs option to be 4, not 2 bytes (#495)
- Fix libdnet header detection under Debian distros (#499)
- Update GNU Autogen to 5.11.5 (#501)
- Fix --stats option for tcpreplay (#503)
- Add support for injecting directly via custom Linux kernel module (#505)
- Fix cidr code debugging (#506)
- Standardize on primary/secondary meaning of interfaces/tcpprep split (#507)
08/15/2010 Version 3.4.5beta1
- First pass at fixing 'make test' on many little-endian systems (#429)
- Warn users when processing LINUX_SLL frames w/o an Ethernet source MAC (#434)
- Don't try to fragroute non-IPv4/v6 packets so we don't error out (#432)
- Initial Linux TX_RING sending support (#435)
- Update to GNU Autoconf 2.67 (#436)
- Add tcpcapinfo which dumps information about the pcap header/packets (#437)
- Add --dualfile support for replaying two files at the same time (#439)
- Fix bug where --tos=0 didn't do anything (#440)
- Fix crash when processing CIDR data (#441)
04/04/2010 Version 3.4.4
- Set default timing method to either gtod or abstime (#404)
- Fix IPv6 parsing of CIDR's (#405)
- Add support for preloading the memory cache (#410)
- Generate more useful error when packets are too small (#411)
- Update to libopts/Autogen 5.9.9 (#412)
- Ship Win32Readme.txt file (#413)
- Update copyright notice to 2010 (#416)
- Dramatically enhance --portmap option (#417)
- Update autotools (#423)
- Add support for printing statistics periodically during the run (#424)
- Warn user when pcap snaplen < 65535 (#425)
- Add 802.1q processing support tcpprep (#428)
06/25/2009: Version 3.4.3
- Link libnl when newer versions of libpcap require it (#397)
- Ship m4 directory (#398)
- Upgrade to latest autotools scripts (#400)
- Fix error message when running autogen.sh (#401)
05/20/2009: Version 3.4.2
- Added extensive IPv6 support to tcprewrite & tcpreplay-edit (#11)
- Add IPv6 fragroute support (#388)
- Add IPv6 decoding support to tcpprep (#11)
- Fix compile time error in err.h (#390)
- Add --endpoints support in tcpreplay-edit (#393)
02/18/2009: Version 3.4.1
- Sendpacket method did not match documentation (#361)
- Fix compile issue on systems without err.h (#363)
- Fix tcpprep --mac not processing non-IPv4 packets (#369)
- Always build tcpreplay w/ editing features as tcpreplay-edit (#372)
- Fix potential tcpbridge issues under OS X & *BSD (#373)
- Fix crash on 4 byte strictly aligned systems (#377)
- Add MTU truncation to tcprewrite/tcpreplay-edit (#379)
01/15/2009: Version 3.4.0
- Add libdnet and remove libnet support for sending packets (#302)
- Fix numerous 802.11 decoder bugs (#325)
- Fix compile issue under Linux (#326)
- Fix Mbps/sec nonsense (#327)
- Fix tcprewrite crash when packets have no L3+ data (#328)
- Clean up err.c/err.h code and improve performance for non-debug builds (#331)
- Fix timesdiv() timer code (#332)
- Improve high-performance packet sending via multiple packets/interval (#334)
- Fix statistics report errors (#335)
- Fix BPF filters not being used in tcpbridge (#336)
- Improve tcpbridge performance (#337)
- Only use two libpcap handles for tcpbridge (#338)
- Fix autotools usage errors (#340)
- Clean up 'make test' results (#341)
- Update to AutoGen/AutoOpts 5.9.7 (#342)
- Fix compiler warnings from GCC 4.2 (#344)
- Fix numerous memory corruption bugs in libtcpedit DLT plugin code (#345)
- Add support for editing IPv4 TOS/DiffServ/ECN (#348)
- Update autotools to more recent versions (#349)
- Report injection method via -V (#352)
- Fix DLT_USER l2len check bug (#353)
- Replace man2html w/ groff (#354)
- Fix false pcap_inject() detection under Windows/Winpcap (#355)
- tcpbridge now builds under Win32/Cygwin
- libdnet is no longer an option for Win32/Cygwin (#57)
- tcpbridge now supports --listnics (#357)
06/20/2008: Version 3.3.2
- Fix (again) tcpbridge --unidir assert error (#308)
- Fix tcpbridge bug where all packets that were sent were all zeros
- Fix tcpbridge not honoring --include/exclude flags (#311)
- Fix ip_in_cidr() debug messages (#312)
- Report packets which have timestamps which go backwards in time (#315)
- Clean up --sleep-accel code to use options struct (#316)
- Remove really old and out of date RPM .spec file (#317)
- Warn when sending on non-Ethernet interface (#318)
- Re-enable tcpreplay --listnics (#319)
- Fix sendpacket always reporting using PF_PACKET, even when it doesn't (#322)
- Fix major packet timing issue under old versions of glibc (#324)
05/17/2008: Version 3.3.1
- Fix limitation of PF_PACKET only supporting Ethernet (#123)
- Fix (again) /dev/bpf detection in FreeBSD 8.0 (#292)
- Document building code from Subversion under Cygwin (#304)
- Fix --enable-force-* under Linux (#305)
- Fix tcpbridge --unidir assert error (#308)
05/04/2008: Version 3.3.0
- Improve tcpreplay timing accuracy between packets (#41)
- Add tcprewrite fragroute support (#42)
- Fix tcprewrite --efcs option (#277)
- Updated Win32/Cygwin documentation (#280)
- Add dmalloc support (#282)
- Fix tcpprep broken handling of VLAN tagged frames (#290)
- Fix tcprewrite crash when cache file has NO_SEND packets (#291)
- Fix /dev/bpf detection in FreeBSD 8.0 (#292)
- Add tcprewrite --ttl editing option (#294)
- Fix autoconf AM_PROG_CC_C_O warning (#295)
- Add tcpprep --reverse option to split by matching client addresses (#297)
- Update version of autoconf to 1.10.1 (#298)
- Improved GNU Autogen detection and warnings (#299)
- Track EAGAIN errors separately from ENOBUFS (#301)
- Automatically detect Winpcap on Cygwin (#303)
01/23/2008: Version 3.2.5
- Fix linker error with --enable-tcpreplay-edit and --enable-dynamic-link (#288)
- Fix compile errors with Sun Studio compiler (#286)
01/16/2008: Version 3.2.4
- Fix crash in tcpreplay when --enable-tcpreplay-edit (#281)
- Display if --enable-tcpreplay-edit in -V (#283)
11/01/2007: Version 3.2.3
- Fix compile issue under Linux and other OS's (#275)
10/31/2007: Version 3.2.2
- Enable source MAC spoofing for OS X (#142, #151)
* Tcpreplay now requires OS X 10.5 (Leopard)
- Fix crash/memory access error with tcpreplay -N (#273)
10/25/2007: Version 3.2.1
- Fix tcprewrite segfault in 'make test' under Linux (#200)
- Major performance improvement in tcpprep for large pcaps (#261)
- Fix strsignal already defined error under Cygwin/Windows (#199)
- Fix compile errors for older versions of GCC (#201)
- Remove flowreplay code (#262)
- Fix DLT rewrite code causing corrupted ethernet protocol type (#268)
- Try to fix inet_aton() issue under Solaris (#260)
08/26/2007: Version 3.2
- Return a more useful error message when tcpprep fails (#187)
- Add Tomahawk test tool client/server detection algorithm (#186)
- Improved AutoGen support (#191)
- Improved documentation (#164, #198)
- Added Doxygen markup (#176)
- configure now honors --with-tcpdump flag (#192)
- configure now defaults to --enable-64bits which breaks backwards
compatibility in certain situations. Use --disable-64bits if this
concerns you (#195)
- Use safe_free() to detect bugs earlier in development (#197)
07/19/2007: Version 3.1.1
- Upgrade libopts tearoff to 29:0:4 so that everyone else in the world can
compile tcpreplay (#189)
07/18/2007: Version 3.1.0
- Add tcprewrite --srcmap & --dstmap for rewriting only source or destination IP's (#185)
- ./configure now reports configuration at end (#155)
- Fix svn:keywords (#160)
- Optimize performance of dlt_en10mb plugin (#161)
- Performance improvements on strictly aligned systems (#162)
- Improve tcpprep error messages and handling (#163)
- Add support for warnings in libtcpedit (#165)
- Only use __attribute__((unused)) w/ GCC (#168)
- Fix compile issues under Solaris (#178)
- Gracefully handle systems w/o static libraries (#179)
- Fix segfault when using BPF filters (#182)
- Add additional DLT Plugins:
- 802.11 (#103)
- 802.11 w/ Radiotap (#177)
05/01/2007: Version 3.0.1
- Stop tcpreplay causing OS X WiFi from disassociating (#167)
- --pnat incorrectly matched all IP addresses (#170)
- Fix serious memory leak in core common library (#175)
- Fix tcprewrite --enet-vlan on little endian systems (#174)
- Bad pcap timestamps were causing excessive delays (#169)
- Code cleanup (#173)
04/20/2007: Version 3.0
- By default, no longer try to use libnet. You must now specify --enable-libnet (#148)
- Improve documentation (#30)
- General code cleanup (#47)
- Warn when GNU Autogen version < 5.9 (#153)
- Remove support for pcap_snapshot_override which was never added to libpcap (#140)
- Fix support for C99/GCC 4.3 "inline". Rely on -O3 for better performance. (#149)
- Prioritize 64 bit libraries over 32 bit counterparts (#150)
04/14/2007: Version 3.0.RC1
- Fix tcpbridge and make it compile by default (#15)
- Fix tcprewrite crash on little-endian systems (#127)
- Gracefully handle broken pcap files where the snaplen < caplen (#130)
- Note: Fix was made in libpcap and will be part of 0.9.6
- Fix numerous bugs with the sendpacket code (#137)
- Add optional support for editing packets with tcpreplay (#61)
- Fix 'make test' on little endian systems (#64)
- tcprewrite -s is no longer endian dependent (#65)
- /docs cleaned up (#66)
- Fix detection/compile of libpcap. Now support versions >= 0.7.2 (#80, #144)
- Add official support Cygwin/Win32 support (#110)
- Clean up libpcap version code (#111)
- Add support for interface alias names for Win32 (#113)
- Warn user on DLT miss-match (#125)
- Fix tcprewrite segfault with --fixlen=pad (#134)
- Add loop/cache support for better performance (#136)
- inline debugging code for better performance (#138)
- configure now supports selecting injection method (#139)
- Fix configure/compile errors under OpenBSD (#146)
- Add tcpbridge --verbose mode (#28)
- Fix compile issues under HP-UX & strictly aligned systems (#141)
- --enable-dynamic-link supports 64bit libraries (#143)
03/22/2007: Version 3.0.beta13
- Fixed detection of IPv4 packets in libtcpedit on little-endian boxes (#115, #116)
- Fixed TCP/UDP checksum calculation on little-endian boxes (#126)
- Added --quiet flag to tcpreplay for Lothar (#109)
- The --seed flag should now generate the same IPs on both little-endian & big-endian boxes (#65)
- The --skipl2broadcast flag now works as documented (#112)
- Adding L2 header for DLT_RAW encapsulated packets now works (#16)
- Clean up documentation (#66, #75)
- Start initial support for Win32 port (#110, #111)
- Finish DLT plugin rewrite (#82)
- Fix compile on systems without tcpdump installed
02/22/2007: Version 3.0.beta12
- Fix compile under RH ES 3.x (gcc 3.2.2) (#79)
- Fix compile on MIPS, ARM, HPPA, etc (#81, #88)
- Rewrite L2/DLT code in tcpedit/tcprewrite to be plugin based (#82)
- Create Ethernet Plugin (#99)
- Create User Plugin (#100)
- Create Cisco HDLC Plugin (#101)
- Create DLT_LINUX_SLL Plugin (#102)
- Create DLT_RAW Plugin (#104)
- Create DLT_NULL Plugin (#105)
- Create DLT_LOOP Plugin (#106)
- Properly decode ethernet frames when they are VLAN tagged (#84)
- Do not install man2html (#85)
- Add configure --disable-libopts-install option (#86)
- Enhance tcpreplay --oneatatime (#90)
- libtcpedit can now return warnings & errors (#92)
- Fix tcpprep --include/exclude (#96)
- Upgrade AutoGen tearoff (libopts) to latest version (5.9.0) (#97)
- Don't do L4 checksums for non-fragment offset == 0 (#107)
08/07/2006: Version 3.0.beta11
- Fix distribution to ship missing src/tcpr.h (#73)
- Add support to tcprewrite to alter output file DLT (#74)
- Fix errors in 'make test' (little endian still broken) (#77)
- Tweak Autogen .def files documentation (#78)
08/05/2006: Version 3.0.beta10
- tcpprep & tcprewrite no longer require root access (#3)
- Develop wrapper API for libnet, libpcap, BPF and PF_PACKET (#4, #24)
- Enhance do_sleep() to support looping for better accuracy (#6)
- Prefer inet_pton over older, deprecated routines (#26)
- Remove libnet as a requirement (#29)
- Optionally don't rewrite broadcast/multicast IP/MAC addresses (#38)
- Remove libnids dependancy for flowreplay (#55)
- Fix build issues when libpcapnav is installed (#56)
- Fix truncate feature not putting correct packet length in IP header (#59)
- Internal error reporting fixes in libtcpedit (#60)
- Support --enable-debug when building under gcc 3.x (#62)
- tcpedit_stub.h wasn't being generated automatically from SVN (#63)
- Fix 'make doxygen' (#67)
- Fix some Makefile issues (#68)
- tcprewrite --endpoints should require a cache file (#70)
- Improve IP randomizer code to be more random (#71)
07/17/2006: Version 3.0.beta9
- Fix compile issue for users not having AutoOpts installed (#54)
- Fix compile issue for users w/ AutoOpts 5.8.4 (upgrade to 5.8.4)
07/16/2006: Version 3.0.beta8
- Fix -M running in MBps rather then Mbps
- Fix tcpbridge segfault/bus error reported by Steven Z. (Gerry)
- Improve tcpbridge man page
- Massive tcprewrite fixes & cleanup (#50)
- Much improved README document
- Reorganize packet editing code into a standalone module (tcpedit)
which has been librarized. (#5)
- Strict code cleanup (#27)
- Fix tcpprep from generating bad cache files (#48)
- Add MAC split mode for tcpprep (#1)
- Improve dbg() to list file/line (#32)
- Add tcpprep statistical reports (#2)
- Reorganize flowreplay code (#46)
- Fix conflicting speed_t for Debian (#33)
- Too many other things to document
08/07/2005: Version 3.0.beta7
- New 'make doxygen' target builds pretty source code docs in
docs/web/doxygen/html
- Fix tcpprep auto/router mode which was sending all packets out the
secondary interface
- Fix endian issue on little-endian systems which made tcpprep think all
packets were not IP
- Improve debugability of tcpprep
- Fix UDP header offset bug in flowreplay
06/28/2005: Version 3.0.beta6
- Fix rpm .spec file which was still based on tcpreplay 2.x (untested)
- Detect and manually include pcap-bpf.h which fixes compile problem
- Fix tcprewrite -S crash with only one MAC
- Fix tcpreplay using 2nd NIC split mode
- Fix tcpreplay packet counter initialization
- Fix tcpprep to properly handle missing -i and -c with -I and -P
06/14/2005: Version 3.0.beta5
- Fix --decode flag
- Fix compile under AMD64/RHEL4 where libraries are in /usr/lib64
- tarball now ships with a full test subdir
- Fix compile of src/common/get.c under strictly aligned architectures
- Fix ./configure --enable-64bits flag
- Fix bug on little endian systems which prevented tcprewrite from
editing packets
- Fix tcprewrite linktype checks
- Add --pktlen for when the pcap snaplen lies to us
- Add --enable-dynamic-link for those who want to dynamically link their
libs
06/05/2005: Version 3.0.beta4
- Really fix compile problems with dlt2desc with old versions of libpcap
- All libraries are now statically linked and full-path #includes. This
should fix problems with people who have different versions of
libraries installed in different locations.
- Fix problems compiling on systems with libpcapnav
- Add support for libpcap 0.5 such as on OpenBSD
- Fix tcpprep --verbose
- Close STDIN prior to re-opening it for certain OS's
05/04/2005: Version 3.0.beta3
- Fix autoconf problems with --with-libnet
- Fix compile problems with dlt2desc with old versions of libpcap
- Fix compile problem due to not shipping flowreplay_opts.h and
tcpbridge_opts.h
04/19/2005: Version 3.0.beta2
- Significant improvements to FAQ and manual
- Use autoopts for flowreplay
- Be more cautious about memcpy's
- Fix numerous warnings during compile
- Allow overriding L2 protocol field for DLT_RAW
- tcpprep -I & -P now take the cache filename
- Lots of cleanup
- Added tcpbridge utility
- Fix tcpreplay --mbps which was being interpreted as bps
- Add --no-arg-comment feature for tcpprep
- Improve auto-tests and fix old broken ones
- Fix Makefile errors in the docs directory
- Upgrade libopts tear off to v5.7pre12 which fixes problems with
loading config files
- Add support for forcing the use of the local libopts tearoff code
02/27/2005: Version 3.0.beta1
- Major code cleanups and rewriting
- Rip out all edit functions from tcpreplay and put into tcprewrite
- Improve tcpreplay performance by about 5% for raw sending
- Move around utility functions for greater code-reuse
- Move MAC Address funcs into mac.c
- Move global defines into defines.h
- Standardize use of structs and typedefs
- Start passing const's when we don't need to modify
- Start using GNU AutoOpts for arg/config file processing
- Start using automake and autoheader
- Major rewrite of configure.in
- Add support for printing which interface packets go out
- 64bit counters are optional via --enable-64bits
- Can now rewrite L2 data per outbound interface
- Add support for additional DLT types
- Non-Code changes
- I now own the full copyright for tcpreplay
- Removed the evil 4th clause from the BSD license
- Start updating the FAQ and split some content to make a manual
- Automatically generate man pages based via autogen
- New Applications:
- tcprewrite
- Removed Applications: (Ethereal has better utilities)
- capinfo
- pcapmerge
- Merge fixes from 2.x/stable branch:
- portmap.c endian bugs
- edit_packet.c handle corrupted pcap's where caplen < len
- configure now properly uses --with-libnet and --with-libpcap
*** Fork 3.x Branch from v2.3.1 ***