[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [lwip-devel] Possibly falsely triggered LWIP_ASSERT?
From: |
Bill Auerbach |
Subject: |
RE: [lwip-devel] Possibly falsely triggered LWIP_ASSERT? |
Date: |
Tue, 29 Sep 2009 08:56:58 -0400 |
>The odd bit is that p->next is NULL, so I think the assertion might be
>noticing a real problem. You have p->len at 46 and p->tot_len at 1064,
>so this suggests a chain of pbufs, and we would naturally expect p->next
>to be the next thing in the chain. Where exactly is the call being made
>from ip_input? The other possibility is it's trying to shrink the tail
>of the packet, but I can't think off the top of my head why it would
>want to do that.
ip_input is called from ethernet_input from netif->input from
ethernetif_input from my main program loop.
I'm working on a contrib app with NO_SYS=1, optional DHCP and optional
http_serverraw with an Ethernet port for Altera TSE/NIOS using the supplied
ethernetif.c template. I've using unmodified lwIP and opts.h (copied to
lwiptopts.h) as unchanged as possible. For better responsiveness, I changed
TCP_MSS to 1024 - I think 128 is a value needed only for extreme cases
(right?).
I get the assertion when I ping larger than TCP_MSS - because
PBUF_POOL_BUFSIZE depends on TCP_MSS.
While I'm here, why is ethernetif_input a static function? How is the
external program expected to call into lwIP to check for and process
incoming packets?
Is there no download section at http://lwip.wikia.com/wiki/LwIP_Wiki?
Thanks,
Bill