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…)