NetworkingDriverKit
Develop drivers for Ethernet networking devices.
Overview
Use NetworkingDriverKit to develop drivers for USB Ethernet adapters. This framework extends the API of DriverKit, providing you with a service class for managing your networking driver. It also provides support for managing the memory you use to store packets, transferring those packets between the device and networking stack, and inspecting the Ethernet link status.
Note that Ethernet is the only networking interface currently supported by NetworkingDriverKit.
Develop your driver with DriverKit and NetworkingDriverKit. Use USBDriverKit to manage the connection to your hardware device. Include your driver inside your macOS app and use the System Extensions framework to install and upgrade the driver on the user’s Mac.
Topics
Essentials
Samples
Network Service
Packet Management
Packet Queues
IOUserNetworkRxSubmissionQueueIOUserNetworkRxCompletionQueueIOUserNetworkTxSubmissionQueueIOUserNetworkTxCompletionQueueIOUserNetworkPacketQueue
Reference
Classes
IOUserNetworkPacketPollerIOUserNetworkPacketQueueCompatIOUserNetworkRxCompletionQueueCompatIOUserNetworkRxSubmissionQueueCompatIOUserNetworkTxCompletionQueueCompatIOUserNetworkTxSubmissionQueueCompat
Structures
IOUserNetworkEthernet_IVarsIOUserNetworkPacketQueueCompat_IVarsIOUserNetworkRxCompletionQueueCompat_IVarsIOUserNetworkRxSubmissionQueueCompat_IVarsIOUserNetworkTxCompletionQueueCompat_IVarsIOUserNetworkTxSubmissionQueueCompat_IVars