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.
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.
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.