Loading...
Searching...
No Matches
Introduction to the Network Kit

The Haiku Network Kit consists of:

  • A modular, add-ons based network stack
  • Two shared libraries, libnet.so and libnetapi.so
  • A stack driver, acting as interface between the network stack and libnet.so
  • Basic network apps
  • A modular GUI preflet

The libnet.so shared library is the way that BeOS R5 provided POSIX/BSD API sockets to apps. Being binary compatible with BeOS R5 has made this library implementation tedious. To counter this, the libnetapi.so shared library was developed. It contains thin C++ classes wrapping the C sockets POSIX/BSD API into these BNet* classes we're used under BeOS.

The stack driver is the interface between libnet.so and the real stack behind it, hosted by the network stack kernel modules. Its purposes include:

  1. Providing sockets to file descriptors translation support
  2. Providing support for select() on sockets
  3. Loading the network stack on first access, and then keeping it for further accesses

The following diagram illustrates the network stack design on Haiku:

The Network Kit includes a handful of useful networking related apps including ping, ifconfig, route, traceroute, and arp.

See the User Guide for more information about the Network preferences app included as part of the Network Kit.