Driver module

The network driver module is responsible for managing the details of a particular network adaptor (e.g., an NE-2000 compatible Ethernet controller). Each driver is packaged as a shared object and installs into the io-pkt* component.

Once io-pkt* is running, you can dynamically load drivers at the command line using the mount command.

For example, the following commands start io-pkt-v6-hc and then mount the driver for the Broadcom 57xx chip set adapter:

io-pkt-v6-hc &
mount -T io-pkt devnp-bge.so

All network device drivers are shared objects whose names are of the form devnp-driver.so.

Note: The io-pkt* manager can also load legacy io-net drivers. The names of these drivers start with devn-.

Once the shared object is loaded, io-pkt* initializes it. The driver and io-pkt* are then effectively bound together—the driver calls into io-pkt* (for example when packets arrive from the interface), and io-pkt* calls into the driver (for example when packets need to be sent from an application to the interface).

To unload a legacy io-net driver, you can use the umount command. For example:

umount /dev/io-net/en0

To unload a new-style driver or a legacy io-net driver, use the ifconfig destroy command:

ifconfig bge0 destroy

For more information on network device drivers, see their individual utility pages (devn-*, devnp-*) in the Utilities Reference.