lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [lwip-users] tcp_enqueue fills but won't empty


From: Matthew Yingling
Subject: RE: [lwip-users] tcp_enqueue fills but won't empty
Date: Wed, 12 Apr 2006 10:56:57 -0400

Could the queue be filling because the data is not being properly ACK'd?  My
loop does not return to allow any new incoming packets until it finishes the
write process.

Matthew Yingling

-----Original Message-----
From: address@hidden
[mailto:address@hidden Behalf Of
Matthew Yingling
Sent: Monday, April 03, 2006 1:12 PM
To: Mailing list for lwIP users
Subject: [lwip-users] tcp_enqueue fills but won't empty


I am using the Raw API in a MicroBlaze system in a loop containing something
similar to the following:

if(tcp_sndbuf(pcb)>4)
{
  while(tcp_write(pbc,vptr,4,1)==ERR_MEM)
  {
    tcp_output(pcb);
  }
}

If I run the loop longer than the maximum tcp queue length (lwipopts.h
(TCP_SND_QUEUELEN)), LwIP will not send any more data even when I call
tcp_output().  I can manually modify the queue length, but why won't it ever
decrease when I call tcp_output() explicitly?  However, I can run the loop
fewer than TCP_SND_QUEULEN iterations as much as I want without the queue
ever filling (with new pcbs each time).  What needs to happen for the tcp
queue to empty?

I also noticed that the UDP throughput has decreased in LwIP 1.1.1 vs.
1.1.0. Is there some change of option that changed that might account for
this or is it just a side effect of other modifications to the code?  I
haven't tested if this affects TCP as well.

Matthew Yingling



_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users





reply via email to

[Prev in Thread] Current Thread [Next in Thread]