DLPI Programmer's Guide

26 Chapter 1
Introduction to DLPI
Promiscuous Mode Clarifications
Promiscuous Mode Clarifications
The following definitions are being defined for the various levels of
promiscuous mode.
DL_PROMISC_PHYS—Before the STREAM has been bound (with the
DL_BIND_REQ primitive), the DLPI user receives all traffic on the wire
regardless of SAP or address. After the STREAM has been bound, the
DLPI user receives all traffic on the wire that matches the protocol(s) the
user has bound to on the promiscuous STREAM; this includes protocols
bound with the DL_SUBS_BIND_REQ.
DL_PROMISC_SAP—Before the STREAM has been bound (with the
DL_BIND_REQ primitive), the DLPI user receives all traffic destined for
this interface (physical addresses, broadcast addresses or bound
multicast addresses) that matches any SAP enabled on that interface.
After the STREAM has been bound, the DLPI user receives only those
packets originally destined for the interface that match one of the
protocol(s) bound on the promiscuous STREAM.
NOTE The Series 700 core and EISA LAN and100VG drivers are currently the
only hardware supporting promiscuous mode which is known to have a
MULTICAST_ALL command. This command allows the chip to receive
all packets with the group bit set. The other drivers will require that the
hardware be in full promiscuous mode and then filter on the group bit in
the driver.
DL_PROMISC_MULTI—Before the STREAM has been bound (with the
DL_BIND_REQ primitive), the DLPI user receives all multicast packets
on the wire regardless of the SAP. After the STREAM has been bound,
the DLPI user receives all multicast packets that match one of the
protocol(s) bound on the promiscuous STREAM.
NOTE Each LAN interface currently allows only one stream to enable the
promiscuous mode service. This restriction will be removed with a future
release of the DLPI provider.