[ECOS] how do you thank about ecos's tcp/ip stack

Hugo Tyson hmt@redhat.com
Thu Dec 7 03:46:00 GMT 2000


Andrew Lunn <andrew.lunn@ascom.ch> writes:
> "wangwei" <wangw@start.com.cn> wrote:
> > Hi all:
> >    Are there anybody tell me about the tcp/ip stack of eCos?
> >    when I first use the stack which release with v1.3.1,It dumps when pinged
> >    by a package larger than 1500 bytes.
> 
> Actually, thats not a stack issue, but a device driver issue. Its the
> generic driver thats throwing an assertion. The basic assumption was
> that ethernet packets have a maximum size of 1514 bytes. Packets
> longer than this are invalid so the ethernet chip should throw them
> away. This assumption was wrong and the i82559 does pass packets up
> that are bigger than legal ethernet frames! The driver has now been
> modified to detect packets with silly sizes and drop them.

That's all true.  There was also the change 

	2000-06-23  Hugo Tyson  <hmt@cygnus.co.uk>
        * src/ecos/support.c (cyg_net_mbuf_alloc, cyg_kmem_init): Align
        the mbuf pool to MSIZE [128] bytes.  That way dtom() works, nasty
        though it is.  That's needed for ip reassembly in ip_input.c, when
        dealing with large icmp-layer packets eg. ping -s 2000 ...

in the stack, which fixed a problem with ICMP reassembly, ie. large pings
as opposed to excessively large packets on-the-wire.

> > And then I get the new version from CVS this bug is fixed .But I
> > alway feel the tcp/ip stack is not very stable .  Does anybody has
> > the same experience with me ?
> 
> 99% of the code comes from the OpenBSD sources. Thats stable. As
> normal, the bits that are specific to eCos have had a few problems. In
> terms of the stack thats timer functions, scheduling the stack to run
> and select. These have been worked on and and now seem stable. I've
> not recently had problems with it. 
> 
> You should not consider the stack on its own. The ethernet drivers are
> also new, and as you have found, there have been a few minor bugs to
> remove. I can only speak for the i82559 driver on the EBSA, but that
> is now stable. 
> 
> Overall, im happy with the stack and i82559 driver.

Thanks Andrew! ;->

We think it's pretty stable now; there was a major rewrite of the
scheduling and timing functions (eCos specific parts) in August, which
added greatly to reliability, a couple of minor bugfixes to that in
September and since then mostly changes to our automated test system -
fixing the tests rather than fixing the stack, I mean; and fixes to the
tftp_server which is NOT part of the OpenBSD sources, but written from
scratch initially as a utility and example program, since modified to be
pretty much bullet-proof as we came to depend on it in various ways.

We're continually running extensive automated tests (as described by AlexS
in a message here recently) of the network stack, and the few failures we
get are problems with the tests or the configuration of the test farm and
associated machines, not with the network stack itself.  No true problems
have been revealed so far.

	- Huge


More information about the Ecos-discuss mailing list