On 27.03.2018 00:37, JM wrote:
[..]
Looking
into ethernet_input(),
p->ref is sometimes 1 and p->tot_len = 63 after ip_input(p,
netif) (in my situation anyway) BUT p->tot_len was 107
before ip_input(p, netif); was called! This
seems odd to me as I thought the pbuf is completely
consumed and should be freed after ip_input(p,
netif). Is this correct?
That's not odd, it's perfectly valid. Someone consumes the pbuf,
hides some headers, but keeps it for later.
Since you said you used some stress testing tool, I guess it's the
HTTP server either keeping the pbuf or leaking it. There *were*
errors in httpd which I found with such a stressing tool, so
Sergio's comment about upgrading is worth thinking about!
Simon