Retired Document
Important: The information provided in this document is relevant for Mac OS 10.1 through 10.3. Specific mention is made for items which apply to newer releases of the OS.
An important change has long been noted in the <sys/mbuf.h>
header file since the release of Mac OS X 10.2. Note that the header file is bracketed by the __APPLE_API_UNSTABLE
define. The mbuf structure is a key to the processing of packets in an NKE. As part of the formalizing the NKE APIs, it is expected that the mbuf structure will be changed. Details will be provided in the future. Changes to the existing NKE API are not expected be applied to System Updates to Mac OS X 10.3.x, however, bug fixes or features for future systems may require some interim changes.
For all shipping releases of Mac OS X prior to 10.4, the Network Kernel Extensions (NKE) APIs have not been officially supported. The legacy NKE architecture was implemented as an interim solution. The legacy API was never designed to be officially supported. Other aspects of the OS X networking implementation have received a higher priority, and so the interim solution has remained in effect to OS X 10.3.x.
The NKE mechanism for Mac OS X version 10.4 and later is described in the document Network Kernel Extensions Programming Guide.
Glossary
- domain
A complete protocol family.
- extension
A general term for an object module that can be dynamically added to a running system. A synonym for kernel extension.
- Data Link Interface Layer (DLIL)
The fixed part of the network kernel extension architecture that exists between protocol stacks and the network drivers.
- data link interface module
A network kernel extension that handles demultiplexing or packet framing.
- data link NKE
A network kernel extension that exists between the protocol stacks and the device layer.
- DLIL interface filter
A network kernel extension that is installed between the DLIL and one or more network interfaces.
- DLIL protocol filter
A network kernel extension that is installed between the DLIL and a network protocol stack.
- data link protocol module
A network kernel extension that handles the specific interface for the protocol’s attachment to a particular interface family.
- global NKE
An NKE that is automatically enabled for sockets of the type specified for the NKE.
- network kernel extension (NKE)
1) The architecture that allows modules to be added to the Mac OS X networking subsystem while the system is running. 2) A module that can be added to a running system.
- plug-in
A general term for an object module that can be dynamically added to a running system.
- programmatic filter NKE
An NKE that is enabled only under program control, using socket options, for a specific socket.
- protocol family NKE
A network kernel extension that implements a domain.
- protocol handler
A network kernel extension that implements a specific protocol within a domain.
- socket NKE
A network kernel extension that is installed between the socket layer and the protocol stack or network device layers.
Copyright © 2003, 2006 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2006-10-03