buglwIP - A Lightweight TCP/IP stack - Bugs: bug #22120, Problem in icmp_dest_unreach

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #22120: Problem in icmp_dest_unreach

Submitter:  Bill Auerbach <billauerbach>
Submitted:  Fri 25 Jan 2008 05:12:37 PM UTC
   
 
Category:  IPv4 Severity:  3 - Normal
Item Group:  None Status:  Invalid
Privacy:  Public Assigned to:  None
Open/Closed:  Closed Planned Release:  None
lwIP version:  None

Sun 03 Feb 2008 02:34:49 PM UTC, comment #4: 

(Bill Auerbach wrote)

I agree.  Apologies for the report.  I put too must trust in WireShark.  As good as it is, it's not a protocol compliance checker.

Frédéric Bernon <fbernon>
Group Member
Sun 27 Jan 2008 11:09:36 AM UTC, comment #3: 

I don't think it's a bug:

RFC 792 page 3 says that 64 bits of the Original Data Datagram should be included, so the UDP header mustn't be changed!

BTW: Using wireshark 0.99.4 as well as 0.99.7 doesn't show an error.

Simon Goldschmidt <goldsimon>
Group administrator
Sun 27 Jan 2008 10:55:59 AM UTC, comment #2: 

Answer from Bill on lwip-devel:
http://lists.nongnu.org/archive/html/lwip-devel/2008-01/msg00161.html

-> The only error is in the UDP length.
-> using wireshark 0.99.6a

-> attached the packet in question

(file #14877)

Simon Goldschmidt <goldsimon>
Group administrator
Fri 25 Jan 2008 05:40:14 PM UTC, comment #1: 

I'm not sure your problem is on lwIP. I did this test on September CVS HEAD and on 1.3.0-RC1 without any problems with Wireshark 0.99.7 :

I send with iperf udp packets to my lwIP target on a unbinded port, lwIP reply with a ICMP "Destination unreachable", and in my wiresshark capture, I don't see any checksums errors on :

- IP header checksum [correct]
- ICMP checksum [correct]
- on IP and UDP payload (wireshark doesn't mark them as "incorrect")

I will suppose you know that old wireshark releases (0.99.5 by example) was bugged on UDP checksums (mainly on fragmented datagrams from memory), and that your pc network interface doesn't perform any checksum offload processing (with give some checksums errors, but last wireskark releases mark them like a warning).

Can you tell me what is your wireshark release, and perhaps attach the capture file?



Frédéric Bernon <fbernon>
Group Member
Fri 25 Jan 2008 05:12:37 PM UTC, original submission:  

The data length reported by wireshark for the UDP portion of this packet is wrong.  It’s left at the length of the packet that was received that was not reachable.

Here is my solution – I’m not sure if this is the way to go about it, but wireshark no longer complains:

Added to icmp_dest_unreach

  struct udp_hdr *uhdr;

After:  iphdr = p->payload;

  uhdr = (struct udp_hdr ) ((u8_t ) p->payload + IP_HLEN);
  uhdr->len = htons(8);

Bill Auerbach <billauerbach>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #14877:  icmp_type_3.pcap added by goldsimon (110B - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by goldsimon (Updated the item)
  • -email is unavailable- added by fbernon (Posted a comment)
  • -email is unavailable- added by billauerbach (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-02-03 fbernon Open/ClosedOpen Closed
    2008-01-27 goldsimon StatusNone Invalid
    2008-01-27 goldsimon Attached File- Added icmp_type_3.pcap, #14877

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code