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)