Sergio R. Caprile <[email protected]> napisaĆ(a):
Please don't repost the same issue with a different name...
Check your driver code, from what the other user said, looks like non-IP
packets are being discarded without freeing their buffer.
Check with the one who wrote the driver and/or the port.
When the Ethernet controller signals frame(s) pending, the receiving
task allocates a buffer for it and transfers data. Then, this buffer is
checked for upper-layer protocol and handled to the stack or discarded.
Code for this is in the netif tree and is modified by the one providing
the driver and the port.
Isn't the stack responsible for freeing PBUFs? Received frames are passed by
mbox (in tcpip_input()) to the TCP/IP thread. Inside the thread the
ethernet_input (etharp.c) function is called. For IP packets it calls
ip_input(), for non-ARP and non-IP it calls pbuf_free().
Best regards,
Grzegorz Niemirowski
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users