IP protocol checksum errors

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi

can someone (help me) solve this ?
frames are captured with etherreal
this happens when using a coldfire base dnp5280 board on a heavy loaded
network.

The board keeps resending the badly created packets.

Need a sollution urgently !



Frame 3484 (254 on wire, 254 captured)
    Arrival Time: Dec 30, 2006 23:55:43.758822000
    Time delta from previous packet: 0.811065000 seconds
    Time relative to first packet: 47.427310000 seconds
    Frame Number: 3484
    Packet Length: 254 bytes
    Capture Length: 254 bytes
Ethernet II
    Destination: 00:09:f3:0f:22:dc (WELL_0f:22:dc)
    Source: 02:80:ad:20:b8:b2 (02:80:ad:20:b8:b2)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 192.168.1.61 (192.168.1.61), Dst Addr:
dD577BF9E.access.telenet.be (213.119.191.158)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 240
    Identification: 0x030f
    Flags: 0x04
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (0x06)
    Header checksum: 0xdffd (correct)
    Source: 192.168.1.61 (192.168.1.61)
    Destination: dD577BF9E.access.telenet.be (213.119.191.158)
Transmission Control Protocol, Src Port: 2050 (2050), Dst Port: 2126 (2126),
Seq: 1948016716, Ack: 471731837, Len: 200
    Source port: 2050 (2050)
    Destination port: 2126 (2126)
    Sequence number: 1948016716
    Next sequence number: 1948016916
    Acknowledgement number: 471731837
    Header length: 20 bytes
    Flags: 0x0018 (PSH, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 1... = Push: Set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 5840
    Checksum: 0x69cc (correct)
Data (200 bytes)

0000  00 09 f3 0f 22 dc 02 80 ad 20 b8 b2 08 00 45 00   ....".... ....E.
0010  00 f0 03 0f 40 00 40 06 df fd c0 a8 01 3d d5 77   ....@.@......=.w
0020  bf 9e 08 02 08 4e 74 1c 60 4c 1c 1e 0e 7d 50 18   .....Nt.`L...}P.
0030  16 d0 69 cc 00 00 68 65 6c 6c 6f 20 77 6f 72 6c   ..i...hello worl
0040  64 31 31 37 20 20 20 20 20 20 20 20 20 20 20 20   d117
0050  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0070  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0080  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00a0  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0  20 20 20 0a 0d 00 23 23 23 23 23 23 23 23 23 23      ...##########
00c0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00d0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00e0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00f0  23 23 23 23 23 23 23 23 23 23 23 23 23 23         ##############

Frame 3497 (60 on wire, 60 captured)
    Arrival Time: Dec 30, 2006 23:55:43.953376000
    Time delta from previous packet: 0.194554000 seconds
    Time relative to first packet: 47.621864000 seconds
    Frame Number: 3497
    Packet Length: 60 bytes
    Capture Length: 60 bytes
Ethernet II
    Destination: 02:80:ad:20:b8:b2 (02:80:ad:20:b8:b2)
    Source: 00:09:f3:0f:22:dc (WELL_0f:22:dc)
    Type: IP (0x0800)
    Trailer: 2A51DBC67616
Internet Protocol, Src Addr: dD577BF9E.access.telenet.be (213.119.191.158),
Dst Addr: 192.168.1.61 (192.168.1.61)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 40
    Identification: 0xf35a
    Flags: 0x04
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 120
    Protocol: TCP (0x06)
    Header checksum: 0xb879 (correct)
    Source: dD577BF9E.access.telenet.be (213.119.191.158)
    Destination: 192.168.1.61 (192.168.1.61)
Transmission Control Protocol, Src Port: 2126 (2126), Dst Port: 2050 (2050),
Seq: 471731837, Ack: 1948016916, Len: 0
    Source port: 2126 (2126)
    Destination port: 2050 (2050)
    Sequence number: 471731837
    Acknowledgement number: 1948016916
    Header length: 20 bytes
    Flags: 0x0010 (ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 0... = Push: Not set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 16520
    Checksum: 0x0835 (correct)

0000  02 80 ad 20 b8 b2 00 09 f3 0f 22 dc 08 00 45 00   ... ......"...E.
0010  00 28 f3 5a 40 00 78 06 b8 79 d5 77 bf 9e c0 a8   .(. snipped-for-privacy@.x..y.w....
0020  01 3d 08 4e 08 02 1c 1e 0e 7d 74 1c 61 14 50 10   .=.N.....}t.a.P.
0030  40 88 08 35 00 00 2a 51 db c6 76 16               @..5..*Q..v.

Frame 3667 (254 on wire, 254 captured)
    Arrival Time: Dec 30, 2006 23:55:46.028327000
    Time delta from previous packet: 2.074951000 seconds
    Time relative to first packet: 49.696815000 seconds
    Frame Number: 3667
    Packet Length: 254 bytes
    Capture Length: 254 bytes
Ethernet II
    Destination: 00:09:f3:0f:22:dc (WELL_0f:22:dc)
    Source: 02:80:ad:20:b8:b2 (02:80:ad:20:b8:b2)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 192.168.1.61 (192.168.1.61), Dst Addr:
dD577BF9E.access.telenet.be (213.119.191.158)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 240
    Identification: 0x0312
    Flags: 0x04
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (0x06)
    Header checksum: 0xdffa (correct)
    Source: 192.168.1.61 (192.168.1.61)
    Destination: dD577BF9E.access.telenet.be (213.119.191.158)
Transmission Control Protocol, Src Port: 2050 (2050), Dst Port: 2126 (2126),
Seq: 1948016916, Ack: 471731837, Len: 200
    Source port: 2050 (2050)
    Destination port: 2126 (2126)
    Sequence number: 1948016916
    Next sequence number: 1948017116
    Acknowledgement number: 471731837
    Header length: 20 bytes
    Flags: 0x0018 (PSH, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 1... = Push: Set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 5840
    Checksum: 0x6903 (incorrect, should be 0xaf49)
Data (200 bytes)

0000  00 09 f3 0f 22 dc 02 80 ad 20 b8 b2 08 00 45 00   ....".... ....E.
0010  00 f0 03 12 40 00 40 06 df fa c0 a8 01 3d d5 77   ....@.@......=.w
0020  bf 9e 08 02 08 4e 74 1c 61 14 1c 1e 0e 7d 50 18   .....Nt.a....}P.
0030  16 d0 69 03 00 00 00 00 00 00 68 65 6c 6c 6f 20   ..i.......hello
0040  77 6f 72 6c 64 31 31 38 20 20 20 20 20 20 20 20   world118
0050  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0070  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0080  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00a0  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0  20 20 20 20 20 20 20 0a 0d 00 23 23 23 23 23 23          ...######
00c0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00d0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00e0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00f0  23 23 23 23 23 23 23 23 23 23 23 23 23 23         ##############

Frame 3790 (254 on wire, 254 captured)
    Arrival Time: Dec 30, 2006 23:55:47.708810000
    Time delta from previous packet: 1.680483000 seconds
    Time relative to first packet: 51.377298000 seconds
    Frame Number: 3790
    Packet Length: 254 bytes
    Capture Length: 254 bytes
Ethernet II
    Destination: 00:09:f3:0f:22:dc (WELL_0f:22:dc)
    Source: 02:80:ad:20:b8:b2 (02:80:ad:20:b8:b2)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 192.168.1.61 (192.168.1.61), Dst Addr:
dD577BF9E.access.telenet.be (213.119.191.158)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 240
    Identification: 0x0313
    Flags: 0x04
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (0x06)
    Header checksum: 0xdff9 (correct)
    Source: 192.168.1.61 (192.168.1.61)
    Destination: dD577BF9E.access.telenet.be (213.119.191.158)
Transmission Control Protocol, Src Port: 2050 (2050), Dst Port: 2126 (2126),
Seq: 1948016916, Ack: 471731837, Len: 200
    Source port: 2050 (2050)
    Destination port: 2126 (2126)
    Sequence number: 1948016916
    Next sequence number: 1948017116
    Acknowledgement number: 471731837
    Header length: 20 bytes
    Flags: 0x0018 (PSH, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 1... = Push: Set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 5840
    Checksum: 0x6903 (incorrect, should be 0xd26c)
Data (200 bytes)

0000  00 09 f3 0f 22 dc 02 80 ad 20 b8 b2 08 00 45 00   ....".... ....E.
0010  00 f0 03 13 40 00 40 06 df f9 c0 a8 01 3d d5 77   ....@.@......=.w
0020  bf 9e 08 02 08 4e 74 1c 61 14 1c 1e 0e 7d 50 18   .....Nt.a....}P.
0030  16 d0 69 03 00 00 00 00 00 00 00 00 68 65 6c 6c   ..i.........hell
0040  6f 20 77 6f 72 6c 64 31 31 38 20 20 20 20 20 20   o world118
0050  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0070  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0080  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00a0  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0  20 20 20 20 20 20 20 20 20 0a 0d 00 23 23 23 23            ...####
00c0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00d0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00e0  23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23   ################
00f0  23 23 23 23 23 23 23 23 23 23 23 23 23 23         ##############

_______________________________________________



Re: IP protocol checksum errors
On Sun, 31 Dec 2006 13:39:13 +0100, "Sagaert Johan" <sagaert.j  AT
belgacom.net> wrote:

Quoted text here. Click to load it

[trace snipped]

The FAQ for Wireshark (the new name for Ethereal) might explain your
checksum errors.

http://www.wireshark.org/faq.html#q11.1

If packets are really being corrupted, the output might be as follows:

No.     Time        Source                Destination Protocol Info
      1 0.000000    172.16.2.121          10.1.145.49           TCP
scrabble > rds [SYN] Seq=0 Len=0 MSS13%32
      2 1.739607    10.1.145.49           172.16.2.121          TCP
rds > scrabble [SYN, ACK] Seq=0 Ack=1 Win11%680 Len=0 MSS14%04
      3 1.739653    172.16.2.121          10.1.145.49           TCP
scrabble > rds [ACK] Seq=1 Ack=1 Win65%535 Len=0
      4 5.119783    172.16.2.121          10.1.145.49           TCP
scrabble > rds [PSH, ACK] Seq=1 Ack=1 Win65%535 Len=1
      5 6.113879    10.1.145.49           172.16.2.121          ICMP
Parameter problem (IP header bad)
      6 6.116265    10.1.145.49           172.16.2.121          ICMP
Parameter problem (IP header bad)
      7 8.008623    172.16.2.121          10.1.145.49           TCP
[TCP Retransmission] scrabble > rds [PSH, ACK] Seq=1 Ack=1 Win65%535
Len12%
      8 14.024494   172.16.2.121          10.1.145.49           TCP
[TCP Retransmission] scrabble > rds [PSH, ACK] Seq=1 Ack=1 Win65%535
Len12%
      9 15.171830   10.1.145.49           172.16.2.121          ICMP
Parameter problem (IP header bad)
     10 15.174285   10.1.145.49           172.16.2.121          ICMP
Parameter problem (IP header bad)
     11 26.056089   172.16.2.121          10.1.145.49           TCP
[TCP Retransmission] scrabble > rds [PSH, ACK] Seq=1 Ack=1 Win65%535
Len12%

This trace was from a system with a faulty Ethernet port in its GPRS
router. The problem went away when the router was replaced.

The ICMP messages (packets 5 and 6) indicate that something is amiss.

--
Chris Isbell
Southampton, UK

Re: IP protocol checksum errors
Quoted text here. Click to load it

Your choices...
- Look for an updated 2.6 ethernet driver
- Revert back to 2.4
- Use a PCI ethernet card with a bug free 2.6 driver
- Fix the 2.6 driver you're using

The root cause is that 2.6 changed some of the semantics around
hardware checksums, and some 2.4 drivers that were simply rewrapped
for 2.6 don't do it right.  It particularly happens during TCP
retransmits, where the segment has grown from the previous time.
2.6 changed (or rather nailed down) the semantics because it added
functionality that actually requires it.  (Such as coalescing TCP
segments for retransmit.  If the driver ignores the flag indicating
an invalid checksum the datagram may go out with the old ip csum,
or no csum, or a completely bogus random value.)

Re: IP protocol checksum errors
Hi


I replaced the fec.c code in the kernel 2.4.22  sources with a version from
the 2.4.31  recompiled the kernel and flashed the new kernel into the
uclinux board.
The problem is solved as i can't reproduce it any more.

Johan



Quoted text here. Click to load it



Site Timeline