From: lwip-users [mailto:lwip-users-bounces+address@hidden
Sent: Monday, 23 May 2016 15:01
To: Mailing list for lwIP users <address@hidden>
Subject: Re: [lwip-users] Ping Causing "not enough space for new header size" Over PPP
Using lwIP 2.0.0 Beta1, I have been able to connect my target via PPP to an embedded Linux control. After successful connection, I am trying to ping the lwIP target. It has about 25-33% packet loss over time. From the debug output, I
see that I'm occasionally getting a "(not enough space for new header size)" message from
pbuf_header_impl() in pbuf.c.
I don't really understand what that's trying to tell me since I'm only receiving about 90 bytes from the ping packet, but I think I have my pbuf size set well above that. (I've tried setting
PBUF_POOL_BUFSIZE to 500, 600, 1500, and 1520).
PBUF_POOL_BUFSIZE has nothing to do with this. This is not a RAM issue but a config issue. Can you tell us the call stack when pbuf_header() fails? Without this info, I can't tell you where the problem is right now...
Yes, the call stack is:
pbuf_header_impl() at pbuf.c:546
pbuf_header() at pbuf.c:605
icmp_input() at icmp.c:147
ip4_input() at ip4.c:671
ppp_input() at ppp.c:850
pppos_input() at pppos.c:581
taskPppGetBytes() at rs485if.c:329 (This is my application's task to read in bytes from the serial input buffer.)
I am still unclear as to how the whole pbuf setup is architected. I've tried reading some wikia information on it, but it wasn't clear to me. Do you have any other resources I can read about it? It is something
I would like to have a better handle on.
To give you an insight: when rx packets are fed into the various layers, headers are stripped. pbuf_header() is later used to restore the space for more headers at the front of the buffer. Somehow, this fails for your configuration. This is a only problem when
having PPP *AND* ethernet, since the two interfaces require different header sizes...
Fortunately, I'll be running PPP only and I have Ethernet disabled. So whatever we need to make it run, I should be able to do. Likewise, if I can match the Ethernet settings and still have it work for PPP,
that would give me flexibility for the future.
I've attached my lwipopts.h file, if that will also help troubleshoot. (It is nearly the same as I used for 1.4.1. If there are glaring misconfiguration, please let me know -- most of the options are a little
esoteric to me as to their effects.)