diff --git a/website/content/en/status/report-2023-04-2023-06/ifapi.adoc b/website/content/en/status/report-2023-04-2023-06/ifapi.adoc new file mode 100644 index 0000000000..4c2f62233a --- /dev/null +++ b/website/content/en/status/report-2023-04-2023-06/ifapi.adoc @@ -0,0 +1,17 @@ +=== Network Interface API (IfAPI) + +Links: + +link:https://wiki.freebsd.org/projects/ifnet[Original project page] URL: link:https://wiki.freebsd.org/projects/ifnet + +Contact: Justin Hibbits + +Started back in 2014, the IfAPI (formerly DrvAPI) goal is to hide the man: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 [.filename]#tools/ifnet/convert_ifapi.sh#. +Documentation is also forthcoming, but could use help on that. +man:ifnet[9] needs a lot of cleanup, as even some information in it currently is out of date. + +Sponsor: Juniper Networks, Inc.