First, a minor spelling check - the error message in tcpedit/l2_rewrite.c:

Packet length (%u) is greater then MTU (%u);

is incorrect, it should be "greater than" (with an 'a').  This error 
also occurs in the FAQ (along with a misspelling of "transmission" as 
"transmition").

Spelling errors aside, it does seem that tcpreplay 3.0 doesn't have the 
problem that tcpreplay 2.3 has with full-MTU VLAN tagged packets 
generating a spurious warning about "packet length (1518) exceeds MTU" 
so this seems to be a distinct improvement.  Thanks!

There were some compilation warnings (apart from the libopts ones I 
reported separately):

One is potentially serious, and could result in a segfault in an 
(admittedly unlikely) error condition:

tcpreplay/src/common/sendpacket.c:436: warning: ‘sp’ is used 
uninitialized in this function

This is because the SIOCGIFHWADDR error handling code precedes the 
safe_malloc allocation of sp.


Another, unlikely to cause problems except for older distributions:

tcpreplay/src/common/get.c:237:24: warning: extra tokens at end of 
#ifndef directive

This comes from the following line:

#ifndef HAVE_INET_ATON && defined HAVE_INET_ADDR

which should have been

#if !defined HAVE_INET_ATON && defined HAVE_INET_ADDR


I get the following compilation warning (six times!) from rewrite_l2.c:

tcpreplay/src/tcpedit/rewrite_l2.c:692:23: warning: unknown escape 
sequence '\F'

This is due to the definition of BROADCAST_MAC as "\FF\FF\FF\FF\FF\FF" 
in src/defines.h.in.
Now perhaps your compiler does what you expect with this, but mine (gcc 
4.0.2) does not, and the resulting comparison of a binary MAC address 
with the character string "FFFFFFFFFFFF" doesn't do what you want.  Now 
as it happens, the following multicast test catches broadcast addresses 
(since 0xFF aka 255 is odd), so the code still works.  But you could 
just eliminate this use of BROADCAST_MAC and use the leading octet test 
only.  And as you're not using BROADCAST_MAC anywhere else, you could 
just eliminate the definition as well.

Two other minor warnings are:

tcpreplay/src/tcpedit/checksum.h:41:7: warning: no newline at end of file
tcpreplay/src/tcpedit/dlt.c:198:2: warning: no newline at end of file

which is exactly as serious as it sounds (not at all) and even easier to 
fix (just add the missing newlines).

And finally, there's one other warning, due to rewrite_l2.h not being 
included in tcpreplay/src/bridge.c:

tcpreplay/src/bridge.c: In function ‘live_callback’:
tcpreplay/src/bridge.c:284: warning: implicit declaration of function 
‘rewrite_l2’

But these are all minor items, and all in all, tcpreplay 3.0 looks to 
have some nice improvements over the older 2.3 version.  Thanks for your 
work on this useful tool!

@alex

-- 
mailto:[EMAIL PROTECTED]


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Tcpreplay-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tcpreplay-users

Reply via email to