This is a work in progress from my attempt to port FreeBSD’s BXE driver to SmartOS.
Please feel free to add missing pieces or correct anything.
| Purpose | FreeBSD | Illumos |
|---|---|---|
| Standard Interface for loading/unloading | device_if | modctl |
| Bus Interface | bus_if | ddi / devops |
| PCI Interface | pci_if | pci/pcie |
cb_ops_t (ddi.h - entry points for character device)dev_ops_t (devops.h - entry points for probe, attach, detach, reset,
etc…)mac_callbacks_t (from mac_provider.h)mac_register_t (from mac_provider.h)ENUM mac_propid_t ( mac.h included by mac_provider.h - MAC properties
that can be read/set via dladm such as LinkState)ENUM mac_capab_t ( mac_provider.h - MAC capabilities such as HCKSUM,
LSO, etc…)