lwIP - A Lightweight TCP/IP stack - Bugs: bug #56014, The ICMPv6 Parameter Problem...
You are not allowed to post comments on this tracker with your current authentication level.
bug #56014: The ICMPv6 Parameter Problem doesn't take the IPv6 Header of the offending packet
Submitter: | Gao Qingshui <kevingao> | ||
Submitted: | Thu 28 Mar 2019 04:30:01 AM UTC | ||
Category: | IPv6 | Severity: | 3 - Normal |
Item Group: | Faulty Behaviour | Status: | None |
Privacy: | Public | Assigned to: | None |
Open/Closed: | Open | Planned Release: | None |
lwIP version: | git head |
Attached Files
file #46652: icmpv6-parameter-problem-not-take-the-IP-header-of-the-offending-packet.patch added by kevingao (5KiB - application/octet-stream)
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
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.
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2019-03-28 | kevingao | Attached File | - | Added icmpv6-parameter-problem-not-take-the-IP-header-of-the-offending-packet.patch, #46652 |
Powered by Savane 3.13-758e.
Corresponding source code
The ICMPv6 Parameter Problem doesn't take the IPv6 Header of the offending packet as the p->payload not point to the IP header of the orignal packet.so before calling icmp6_send_response to sending PP back to the originator, lwip must move the p->payload pointer back to ip header.
There was two ways to fix this issue:
1) move the p->payload pointer back to ip header in function icmp6_param_problem
2) do this action before calling icmp6_param_problem
The 1st way is simple, but break the code style if icmpv6 related function, as all the err message function(icmp6_dest_unreach,icmp6_packet_too_big,icmp6_time_exceeded,icmp6_param_problem) were in the same style and the p->payload always point to ip header.
The 2nd way is a little complex, we should modify several places, but it would keep the code style and make the code more readable.
The attached patch file was my modification using the 2nd way, pls review.