> It's not really the overall design which is the current stack main issue, but > the code, really the code: not well commented, very unfriendly (welcome BSD > coders! :-) ) and, most importantly, it lacks many place MT-safety support. > That make not a bad stack design, just a very difficult to understand, maintain > and extend (like adding DialUp support, for an example). Then we still have to implement a new stack. We want good readability and maintainability. ;) > The new stack (see new_net_stack zipfile content) modules API I plan to do is > very skeleton yet, but if you look at the net_interface.h (net_protocol.h is > not designed yet), callbacks are not used everywhere, instead the core stack > and in the interface case, his datalink support will know the interface module > API and call his init(), uninit(), up(), down(), etc, when required. No > callbacks anymore. I will download it and look through it later this or the next week... > The protocol module API should be a little more complex, because of the > stackability feature required, and I don't want to split datalink-level and > upper-level protocols into two separates modules API like under BONE. What is the difference then? Less code in the core module? > But... may I ask a stupid question: why don't you buy a *real* ethernet PCI > card, these days 10/100 are very cheap (around 10$/euro). > Ne2k-compatible cards are crap, technology-speaking. I have another card lying around (from Allied Telesyn, don't know which model), but the current one worked fine. It's an RTL8029 chip. > > So, let's design a completely new system. First, we should get some > > completely new point of view (like BONE) on the netstack. > > Believe me, I'm all for a BONE-like design, and the current stack isn't that > far from his design. > Again, it's not a design issue, just a..., let's say it, a code quality issue. Then we must reimplement it with more quality. > > Is the book "TCP/IP Illustrated Vol. 1" a good start? I bought it one > > year ago and read half through it. Now it's time to read it again... > > Yep ;-) > > But, again, a network stack design should not focus *only* on TCP/IP. > Because there is other very exotic protocols elsewhere, that we'll need > to add to our stack. At least I get the basics. Waldemar