Bug 18093 - ICMP Checksum failure
ICMP Checksum failure
Product: Red Hat Linux
Classification: Retired
Component: net-tools (Show other bugs)
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Crutcher Dunnavant
Depends On:
  Show dependency treegraph
Reported: 2000-10-02 10:25 EDT by Need Real Name
Modified: 2008-05-01 11:37 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2000-10-02 16:29:29 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2000-10-02 10:25:36 EDT
Running Redhat Linux 6.2 on a Compaq Deskpro with 3Com NIC.
Ping a Cisco (or other device that can reply to ICMP).

If you send:  ping -s 100

It works.  

If you send:  ping -s 101

It fails.  Some protocol tracing reveals that the Linux box is incorrectly 
computing the ICMP packet checksum, and the Cisco is dropping the packet.  
This actually happens with all ICMP packets with an ODD SIZE PAYLOAD.
Comment 1 Pekka Savola 2000-10-02 16:12:01 EDT
I wasn't able to reproduce this on RH6.0, RH6.2 or RH7.0.  Are you sure your Cisco isn't 
misbehaving?  For example, could there be some kind of 'drop too big pings' issue there?

FWIW, using kernel-2.2.16-3 (and up) here.

Comment 2 Need Real Name 2000-10-02 16:29:26 EDT
Nope.  I used a Sniffer(TM) device set up for Ethernet to snoop on the frames 
coming out of my linux box.  Each ICMP packet that was captured was reported as 
having a correct TCP header checksum, but each packet with odd sized payload 
was being flagged as having an incorrect ICMP checksum by the Sniffer, and was 
being dropped by the Cisco.  I attached the linux box to other devices where I 
can force it to ignore checksum vlaues, and all sizes worked o.k.  I also tried 
it for a range of sizes, from 64-10001 bytes.  All odd sizes were computed 
wrong.  I'm looking to blame drivers for my ethernet hardware, but I'm going to 
look through the ping checksum routine as well. 

I'm running Red Hat (Hedwig) 2.2.5-15 Kernel
Comment 3 Jeff Johnson 2000-10-06 17:17:20 EDT
There was an odd-byte checksum problem fixed in ping.  The ping in
fixes the odd-byte checksum problem (and several things).

Note You need to log in before you can comment on or make changes to this bug.