Well, now have some code that works to a degree, and seems to be a good base to build upon, it's time to start expanding "upwards" again. So, here are the next round of awkward questions. - how do we get ioctl requests? - how do we get socket data? Basically, what I'm now interested in is if I were to replace the existing net_server with our version, what code do I need to add to enable it to hook into the kernel or the kernel to hook into net_server? I mean if I write an app that calls socket(...) how does the system know to create a socket? I don't mean the net_stack, I mean the kernel level stuff. More interesting (and of more immediate need) how do ioctl requests get routed? If I want to write an app to do the arp stuff, how does the system know that if I call ioctl(dev...) that dev is owned by the net_server and so the request should be routed to net_server? This is what I think we should aim for next (please feel free to yell if you disagree). a version of net_server that can be dropped into a beos system to replace the existing net_server with a couple of simple apps that use it (arp, ifconfig, ping??). For this to happen we need to add a socket layer on top of what we have, answer the above questions and add the necessary code. Thoughts? david