David Enderson asked: > How solidified is the internal API in the Haiku netserver? You mean "Haiku net stack", right? Because we don't have a "netserver" as in R5's net_server design. Our stack overall design is shown here: http://philippe.houdoin.free.fr/phil/beos/openbeos/network_kit/overview.html Beside this remark, nothing is solidified in our internal stack until R1. Currently, a stack kernel module should conform to the (very) simple API defined in current/headers/private/net/net_module.h. The internal API use for UDP packets, interfaces enumeration and interfaces setup is not solidified at all. The good side is that we can modify it the way we want/need. The bad side is that it can still evolve, breaking some code. > There has > been talk of integrating DHCP into what you have. Do you know exactly > where it will go and how it will plug in? I guess we can consider DHCP being a protocol and making a network protocol kernel module make sense to me. However, currently your (C++) code can't be refactoring into a kernel module like this, before move from socket API to internal API to send and receive UDP packets, iterate and setup interfaces. BTW, maybe it's a good occasion to write a kernel module exporting the basic (without DNS resolver support at start) sockets API to kernelland. That would help network-related drivers (netblock devices?) and kernel add-ons (network filesystems) but also porting your DHCP_client code... > The reason I ask is that the DHCP server will need to refresh IPs when > the lease time is up. Do you plan to have the client running a looping > thread, will the new netserver fire off an event to the DHCP client when > the lease expires, or do you have another way of doing it? I thought I > would bring the issue up just in case it hadn't been thought of. While moved into the kernel stack, ther DHCP code can use the stack "net_timer" service to fired a callback on a specific DHCP expiration. That the way our ARP network protocol kernel module handle ARP entries expiration, if it's good enough for ARP it should works fine for DHCP expirations... - Philippe