|
From: | address@hidden |
Subject: | Re: [lwip-users] ping contrib example |
Date: | Fri, 11 Jan 2013 22:03:53 +0100 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
chrysn wrote:
i've managed to include the ping example in my test project, and i can ping from the device to my pc. but since i included ping, the other way round doesn't work any more: the incoming package takes the "don't eat the packet" path in the "else PING_USE_SOCKETS" (ie NO_SYS) branch's ping_recv function, but seems not to be handled by the lwip stack as it was before.
Good catch: a raw API recv callback can indeed alter the p->payload pointer and return "not eaten". The pbuf is then passed up the other protocols with a wrong payload (which is why it is not detected as an ICMP echo request).
I've filed bug #38066 and already fixed it by a) fixing ping's recv callback function in raw api mode and b) by adding an assertion in raw_input that p->payload is unchanged when a raw recv callback returns "not eaten".
Thanks for reporting. Simon
[Prev in Thread] | Current Thread | [Next in Thread] |