This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
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