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

Submitted by:  Bill Auerbach <billauerbach>
Submitted on:  Fri 25 Jan 2008 05:12:37 PM UTC  
 
Category: IPv4Severity: 3 - Normal
Item Group: NoneStatus: Invalid
Privacy: PublicAssigned to: None
Open/Closed: ClosedPlanned 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>
Project 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>
Project 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>
Project 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>
Project 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>

 

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
  • -unavailable- added by goldsimon (Updated the item)
  • -unavailable- added by fbernon (Posted a comment)
  • -unavailable- added by billauerbach (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 03 Feb 2008 02:34:49 PM UTCfbernonOpen/ClosedOpen=>Closed
    Sun 27 Jan 2008 11:09:36 AM UTCgoldsimonStatusNone=>Invalid
    Sun 27 Jan 2008 10:55:59 AM UTCgoldsimonAttached File-=>Added icmp_type_3.pcap, #14877

    Back to the top


    Powered by Savane 3.1-cleanup1