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

_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to