public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] eCos vs. WinNT TCP/IP
@ 2000-06-30 12:10 Grant Edwards
  2000-06-30 19:59 ` Grant Edwards
  0 siblings, 1 reply; 2+ messages in thread
From: Grant Edwards @ 2000-06-30 12:10 UTC (permalink / raw)
  To: ecos-discuss

[Warning: this is mostly just bitching about NT...]

Has anybody done much testing with the eCos TCP/IP stack and a
Windows host?

I've been having problems with TCP/IP connections between eCos
and Windows pausing or stopping.  After capturing and dumping
out the Ethernet packets with a third machine, I discovered
that my eCos system is loosing incoming Ethernet packets
occasionally.  [I'm still investigating the cause of this.]

When talking to a Unix host, the missing segments are
retransmitted and it all works swimmingly despite the
occasional dropped packet.  No surpise.

Windows NT, OTOH, just falls over.  For example:

   1. An NT->eCos packet gets lost: SEQ=43755.
   
      NT stops sending data -- waiting for an ACK?
   
   2. About 700 milliseconds later, the ACK piggybacked on
      eCos->NT data indicates eCos is still waiting for 43755.

   3. Over the next second or so, NT sends packets with SEQ
      numbers of 44999, 45201, 46603, 46613, 46613, 46613,
      46613  (Yes, 46613 was sent 4 times).

      During that second, eCos sent 9 (nine!) ACKs telling NT
      that it was waiting on SEQ 43755.

   4. NT finally  re-transmits starting at 43755.

I've observed other instances NT sends a packet, receives an
ACK 1ms (one millisecond) later that still has the an old
sequence number since the eCos system hasn't processed the most
recent packet, so NT retransmits immediately.

I've also seen the connection completely plug up and require NT
to be rebooted to get it working again.  [haven't caught that on
the packet sniffer yet]

Now, I had a pretty low opinion of MS, but even I am surprised
and how bad the Windows NT TCP/IP stack behaves.  I just bought
a copy of Stevens last week and started to learn how TCP/IP
works so I could look at this problem, and I'm convinced that I
could, at this point, write a better stack than the one in NT4.

NT4 is how many years old at this point?

How can anybody with a conscience ship such crap?

-- 
Grant Edwards
grante@visi.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ECOS] eCos vs. WinNT TCP/IP
  2000-06-30 12:10 [ECOS] eCos vs. WinNT TCP/IP Grant Edwards
@ 2000-06-30 19:59 ` Grant Edwards
  0 siblings, 0 replies; 2+ messages in thread
From: Grant Edwards @ 2000-06-30 19:59 UTC (permalink / raw)
  To: ecos-discuss

On Fri, Jun 30, 2000 at 02:10:49PM -0500, Grant Edwards wrote:

> Windows NT, OTOH, just falls over.

What seems to be happening is that every time a packet is lost, NT doubles
its timeout period -- regardless of the actual round-trip time for the link.
After 4 or 5 packets have been lost, NT's timeout has jumped up to several
seconds even though 90+ percent of the packets are ACK'ed within 10-20ms.

Unix hosts, OTOH, seem to actually keep track of the round-trip time for the
link, and calculate a more useful time-out period based on that.  Either
that or they just guess better than NT does.

-- 
Grant Edwards
grante@visi.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-06-30 19:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-30 12:10 [ECOS] eCos vs. WinNT TCP/IP Grant Edwards
2000-06-30 19:59 ` Grant Edwards

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).