Using NetBSD's TCP/IP stack for AmigaOS

Swift Griggs <[email protected]>
Newsgroups gmane.os.netbsd.ports.amiga
Message-ID <[email protected]>
I'm evaluating undertaking an effort to adapt the NetBSD TCP/IP stack to 
AmigaOS 3.x as a replacement for bsdsocket.library due to issues with all 
existing Amiga stacks (Roadshow, AmiTCP, etc..). There are a few issues I 
can see right away. If anyone cares to comment, or give me a tip or trick, 
I'd love to hear it (unless your comment is similar to "That's stupid, why 
don't you do XYZ instead?").

* AmigaOS doesn't support any kind of kernel threads. The fine-graining 
and MP_SAFE stuff isn't needed and I'll have to adapt the code to that.

* The code would run in user space not in the kernel, any specific structs 
or features that only exist in kernel-space would need to go. There are a 
lot, from kmem_*lloc*() to macros that get definied in places elsehwere in 
the kernel away from the network code but are needed. That's more tearout 
to cause regressions.

* The Amiga SANA-II driver has a different type of ethernet struct than 
BSD, but it's still close enough, methinks.

* The stack includes IPSEC, and I don't need or want it, especially when 
considering the the crypto baggage it contains and how little it gets 
used. So, that'll need ripping out.

* AmigaOS doesn't support memory protection. So, that's also going to 
create a tricky situation with debugging and surgery on malloc.h, and 
probably more things I'm not considering.

* I believe almost everything I need is in src/netinet.

* IPv6 is still a unicorn, especially in home-user environments. Not sure 
I want to take that on, either. I may also rip that out. Same for DCCP and 
SCTP

Thanks!
  Swift
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.