This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: TCP stack not delaying/piggybacking ACKs?


On Mon, Jul 08, 2002 at 05:18:54PM -0600, Gary Thomas wrote:

> > I'm working with an application that exchanges a continuous
> > stream of data with a host.  Each sends a TCP packet full of
> > data every 10ms or so.
> > 
> > The eCos stack is not delaying/piggybacking ACKs, so the eCos
> > app is sending roughly twice as many packets as it needs to.
> 
> This has never been mentioned before.  Which is not to say that
> it's working properly :-)

It's also possible I've broken something while mucking with the
stack.  I've replaced the IP checksum routine with assembly
language and made the TCP keepalive timer configurable at run
time.  I don't think either should have affected the ACK delay
mechanism, but that's what they all say...

> A couple of things to try:
>   * The new OpenBSD stack.  This would require updating to the
>     latest CVS.

I may try that, but it will have to wait a bit until I find and
fix the unrelated application bug I was looking for when I
noticed this.

>   * There may be a flag/switch in the FreeBSD stack (the one you
>     are using) which controls this, but it would require some time
>     to investigate.

I've been browsing around the sources and haven't quite figured
out how it's supposed to work.  I do have the TCP_NODELAY flag
set on the socket, but I don't know if that has anything to do
with it.  That is easy enough to test.

> How are you testing this (creating such an environment)?

It is, of course, rather complicated: There's a custom app and
device driver driver on the host end and so on.  I'll see if I
can come up with a simpler setup that also demonstrates the
behavior.

-- 
Grant Edwards
grante@visi.com

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]