FreeBSD The Power to Serve

Network Interface API (IfAPI)

Contact: Justin Hibbits <jhibbits@FreeBSD.org>

Started back in 2014, the IfAPI (formerly DrvAPI) goal is to hide the ifnet(9) structure from network drivers. Instead, all accesses to members will go through accessor functions. This allows the network stack to be changed without recompiling drivers, as well as potentially allowing a single driver to support multiple versions of FreeBSD.

As of now this goal has been achieved in the base system, but several ports need to be updated to use the IfAPI. There is a tool to automate most of the conversion, in tools/ifnet/convert_ifapi.sh. Documentation is also forthcoming, but could use help on that. ifnet(9) needs a lot of cleanup, as even some information in it currently is out of date.

Sponsor: Juniper Networks, Inc.


Last modified on: July 28, 2023 by Graham Perrin