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.
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.