Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Using NetBSD's TCP/IP stack for AmigaOS




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


Home | Main Index | Thread Index | Old Index