Jeremy,

 

There are so many changes, bug fixes and enhancements in 1.4.1 that I strongly 
recommend updating.  And if this is a bug and it’s been fixed, that means 
updating to 1.4.1 to get it anyway.  Or diffing the changes and back-porting it.

 

Bill

 

From: [email protected] 
[mailto:[email protected]] On Behalf Of 
Jeremy Spiller
Sent: Wednesday, March 27, 2013 5:29 PM
To: [email protected]
Subject: [lwip-users] LwIP stops sending data (but keeps retrying forever) - 
caused by buffer chaining

 

I’m using version 1.3.2.  In the case where I do this:

 

tcp_write(pcb, (void*)"\r\n", 2, TCP_WRITE_FLAG_COPY);
tcp_write(pcb, (void*)">", 1, TCP_WRITE_FLAG_COPY);

Communications stop, but LwIP keeps retrying forever.  I can fix the problem by 
making the following modification in tcp_enqueue:

 

  /* If there is room in the last pbuf on the unsent queue,
  chain the first pbuf on the queue together with that. */
  if (TCP_ALLOW_BUFFER_CHAINING_JMS &&

        ...

 

With TCP_ALLOW_BUFFER_CHAINING_JMS set to false, the problem goes way.  I 
suspect the packets are going out, but have an incorrect checksum or are 
permanently corrupted somewhere along the way.  BTW, I’m using LwIP functions 
in only one thread (the main loop) and only outside of interrupts, so I don’t 
think it’s a threading issue.

 

Is this a bug, or is something else going on?

 

-Jeremy

 

 

_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to