So I tracked down the bug to a "feature" within the original fragroute
code.  You can disable this by commenting out the following 3 lines in
src/fragroute/fragroute.c in fragroute_process() (around lines 72-74)

    if (pkt->pkt_eth && htons(pkt->pkt_eth->eth_type) == ETH_TYPE_IP) {
        ip_checksum(pkt->pkt_ip, len);
    }

That should prevent the packets from having their checksums
recalculated prior to being fragged.  After this, IPv4 checksums will
still be calculated for each IP fragment, but the layer 4 checksums
(TCP, UDP) will not be (assuming at least you have a recent version of
libdnet installed).

Anyways, this fix will be in the next release.


On Thu, Dec 16, 2010 at 9:35 AM, Aaron Turner <synfina...@gmail.com> wrote:
> That version is a bit out of date (3.4.4 is the latest), but I'm not
> aware of anything that would change that functionality since 3.4.1.
> If you get a chance, give 3.4.4 a try (it does fix other bugs) and
> I'll see about reproducing your problem and coming up with a fix in
> 3.4.5.
>
> --
> Aaron Turner
> http://synfin.net/         Twitter: @synfinatic
> http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & 
> Windows
> Those who would give up essential Liberty, to purchase a little temporary
> Safety, deserve neither Liberty nor Safety.
>    -- Benjamin Franklin
> "carpe diem quam minimum credula postero"
>
>
>
>
> 2010/12/16 Виноградов Юрий <vin123...@mail.ru>:
>> I am using tcprewrite version 3.4.1 (build 2229).
>>
>> -----Original Message-----
>> From: Aaron Turner [mailto:synfina...@gmail.com]
>> Sent: Thursday, December 16, 2010 12:42 AM
>> To: Main forum for tcpreplay
>> Subject: Re: [Tcpreplay-users] tcprewrite: UDP checksum error when 
>> fragmenting it
>>
>> 2010/12/15 Виноградов Юрий <vin123...@mail.ru>:
>>> Hello everyone!
>>>
>>>
>>>
>>> I have an error in checksum field in first UDP-fragment, when I try to make
>>> fragmentation my one UDP datagram.
>>>
>>> As I know, the checksum original UDP datagram must be the same as checksum
>>> fragmented UDP datagram, but I get different L
>>>
>>> my script is:
>>>
>>> tcprewrite --fragroute=frag.cfg --infile=1udp.pcap --outfile=1udp_frag.pcap
>>>
>>> my frag.cfg contains:
>>>
>>> ip_frag 1000
>>>
>>> 1udp.pcap is ~1300 bytes long
>>
>> Possible bug.  what version of tcprewrite are you using?
>>
>



-- 
Aaron Turner
http://synfin.net/         Twitter: @synfinatic
http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & Windows
Those who would give up essential Liberty, to purchase a little temporary
Safety, deserve neither Liberty nor Safety.
    -- Benjamin Franklin
"carpe diem quam minimum credula postero"

------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Tcpreplay-users mailing list
Tcpreplay-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tcpreplay-users
Support Information: http://tcpreplay.synfin.net/trac/wiki/Support

Reply via email to