|
From: | Greg Smith |
Subject: | [lwip-users] Ping Causing "not enough space for new header size" Over PPP |
Date: | Wed, 18 May 2016 15:20:17 +0000 |
Hello. 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). But I do see why it causes packets to get dropped. So I have fiddled with various PBUF, UDP, and MRU/MTU options to no avail. Can someone please help me understand how to troubleshoot this message and/or what options to try?
Is this really a RAM issue? Is it a timing/task priority issue? Or is it my serial driver not buffering the data properly? (I'm running on an STM32F2 part under FreeRTOS 8.2.3.) Thank you. ==== Debug Output Snip ==== pppos_input[0]: got 89 bytes pbuf_alloc(length=0) pbuf_alloc: allocated pbuf 0x200150a4 pbuf_alloc(length=0) == 0x200150a4 pbuf_header: old 0x200150b4 new 0x200150b6 (-2) ppp_input[0]: ip in pbuf len=84 pbuf_header: old 0x200150b6 new 0x200150ca (-20) pbuf_header: failed as 0x200150a8 < 0x200150b4 (not enough space for new header size) pbuf_alloc(length=84) pbuf_alloc(length=84) == 0x20015874 pbuf_header: old 0x20015894 new 0x200158a8 (-20) pbuf_copy(0x20015874, 0x200150a4) pbuf_copy: end of chain reached. pbuf_free(0x200150a4) pbuf_free: deallocating 0x200150a4 pbuf_header: old 0x200158a8 new 0x20015894 (20) pbuf_alloc(length=0) pbuf_alloc: allocated pbuf 0x200150a4 pbuf_alloc(length=0) == 0x200150a4 pbuf_free(0x200150a4) pbuf_free: deallocating 0x200150a4 pppos_netif_output[0]: proto=0x21, len = 84 pbuf_free(0x20015874) pbuf_free: deallocating 0x20015874 pppos_input[0]: got 56 bytes pbuf_alloc(length=0) pbuf_alloc: allocated pbuf 0x200150a4 pbuf_alloc(length=0) == 0x200150a4 pppos_input[0]: got 33 bytes pbuf_header: old 0x200150b4 new 0x200150b6 (-2) ppp_input[0]: ip in pbuf len=84 pbuf_header: old 0x200150b6 new 0x200150ca (-20) pbuf_header: failed as 0x200150a8 < 0x200150b4 (not enough space for new header size) pbuf_alloc(length=84) pbuf_alloc(length=84) == 0x20015874 pbuf_header: old 0x20015894 new 0x200158a8 (-20) pbuf_copy(0x20015874, 0x200150a4) pbuf_copy: end of chain reached. -- G This email has been scanned for email related threats and delivered safely by Mimecast. For more information please visit http://www.mimecast.com |
[Prev in Thread] | Current Thread | [Next in Thread] |