> On Tue, 2009-06-09 at 17:12 +0200, Jesper Vestergaard wrote: >> I have found the problem. ip_output_if generates a header for the packet >> but there's not enough room for it and pbuf_header(p, IP_HLEN)) fails. >> To be more precise it is the if ((u8_t *)p->payload < (u8_t *)p + >> SIZEOF_STRUCT_PBUF) check in pbuf_header which fails. >> >> What can i do to fix this problem? >> > > That is a very strange problem, the pbuf should have been allocated with > enough space to contain the IP header. > > Unfortunately, this code has changed a lot recently (since 1.3.0) so > it's hard to diagnose using the current CVS head, or even establish if > the problem still exists. > > To investigate, look for where the pbuf is allocated (should be in > tcp_enqueue() I think), and see what value is given for the first > argument "pbuf_layer layer". It is this that should control the > additional space allocated for lower layer headers. > > Kieran > > > > _______________________________________________ > lwip-users mailing list > [email protected] > http://lists.nongnu.org/mailman/listinfo/lwip-users >
Thanks I will look into the allocation in tcp_enqueue() and also get the CVS version for comparison. _______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
