IONetworkInterface


Abstract: An IONetworkInterface object manages the connection between an IONetworkController and the network layer (DLIL). All interaction between the controller and DLIL must flow through an interface object. Any data structures required by the DLIL for a given "network interface" type is allocated and mantained by the interface object. Just as IONetworkController may be subclassed to satisfy the needs of a particular network family (i.e. Ethernet), a corresponding IONetworkInterface subclass should be created.

Although most drivers will allocate a single interface object. It is possible for multiple interfaces to be attached to a single controller. The controller driver is responsible for arbitrating requests among its interface clients.

IONetworkInterface also maintains a dictionary of IONetworkParameter objects containing statistics structures. Controller drivers can ask for a particular parameter object by name and update the statistics counters within directly. This dictionary is added to the interface's property table and is readable outside of the kernel.

The inbound and outbound packet flow through the interface may be tapped by an external entity. By default, the interface will manage the filter taps automatically. But a controller driver may disable the default behavior to have a better control over when and what packets are fed to the taps.



© 2000 Apple Computer, Inc. — (Last Updated 2/23/2000)