The primary ifnet data structure and routines to manipulate this are defined in net/if.h. They are augmented with interface types defined in net/if_types.h.
Functions and macros to allocate, manipulate, and free mbufs are defined in sys/mbuf.h.
The function schednetisr to schedule a kernel software interrupt routine, related macros, and a declaration for the IP input queue ipintrq are defined in net/netisr.h.
Constants and structures for support of the raw protocol family are defined in net/raw.h.
Routines defining a generic filter for use by network interfaces whose devices cannot perfectly filter multicast packets are declared in net/multi.h.
DLPI interface support routines and structure definitions are in
sys/dlsap_register.h.
Socket interface ioctl definitions are in net/soioctl.h.
Ethernet and ARP-related data structures and function prototypes are provided in netinet/if_ether.h.