dlpi_promiscon, dlpi_promiscoff - enable or disable DLPI promiscuous mode
cc [ flag... ] file... –ldlpi [ library... ] #include <libdlpi.h> int dlpi_promiscon(dlpi_handle_t dh, uint_t level);
int dlpi_promiscoff(dlpi_handle_t dh, uint_t level);
The dlpi_promiscon() function enables promiscuous mode on a DLPI link instance associated with DLPI handle dh, at the specified level. After enabling promiscuous mode, the caller will be able to receive all messages destined for the DLPI link instance at the specified level. This operation can be performed in any DLPI state of a handle.
The dlpi_promiscoff() function disables promiscuous mode on a DLPI link instance associated with DLPI handle dh, at the specified level. This operation can be performed in any DLPI state of a handle in which promiscuous mode is enabled at the specified level.
The level modes are:
Promiscuous mode at the physical level
Promiscuous mode at the SAP level
Promiscuous mode for all multicast addresses
The level modifier (OR'd with level) is:
Do not loopback messages to the client.
As per the DLPI standard, any message sent over _dh_ is looped back and received if it matches the level specified above. To prevent this, DL_PROMISC_NOLOOP may be OR'd into the level when calling dlpi_promiscon(). This behavior remains in effect until the promiscuous mode is disabled through dlpi_promiscoff().
Upon success, DLPI_SUCCESS is returned. If DL_SYSERR is returned, errno contains the specific UNIX system error value. Otherwise, a DLPI error value defined in sys/dlpi.h or an error value listed in the following section is returned.
Bad DLPI message
Invalid DLPI handle
DLPI operation timed out
See attributes(5) for description of the following attributes: