To indicate what kinds of packet filtering (addressing) a driver supports, it overrides getPacketFilters. This function is invoked with a pointer to a bitfield indicating which addressing modes are supported, such as unicast, broadcast, and multicast. The driver’s implementation of this function should set the bits for the modes it supports and return a success code.
In order to support promiscuous and multicast modes, a network driver overrides the setPromiscuousMode, setMulticastMode, and setMulticastList functions defined by IONetworkController. The set-mode functions can be implemented to just set a flag in the driver; actually supporting the modes requires hardware-specific code in the I/O handling functions, of course. setMulticastList is invoked with a list of hardware addresses, which the driver should pass down to the hardware.
Last updated: 2008-03-11