DLPI_PROMISCON(3DLPI) Data Link Provider Interface Library Functions

NAME


dlpi_promiscon, dlpi_promiscoff - enable or disable DLPI promiscuous
mode

LIBRARY


Data Link Provider Interface (DLPI) Library (libdlpi, -ldlpi)

SYNOPSIS


#include <libdlpi.h>

int
dlpi_promiscon(dlpi_handle_t, dh, uint_t, level);

int
dlpi_promiscoff(dlpi_handle_t, dh, uint_t, level);

DESCRIPTION


dlpi_promiscon() enables promiscuous mode on a dlpi(4P) link instance
associated with a DLPI handle dh, at the specified level. Multiple
levels can be combined; the new level is enabled in addition to any
previously enabled levels. 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.

dlpi_promiscoff() disables promiscuous mode on a dlpi(4P) 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:

DL_PROMISC_PHYS
Promiscuous mode at the physical level

DL_PROMISC_SAP
Promiscuous mode at the SAP level

DL_PROMISC_MULTI
Promiscuous mode for all multicast addresses

DL_PROMISC_RX_ONLY
When one or more of the above promiscuous modes is also
enabled, this option modifies it so that only inbound traffic
is received. When using this level, it is recommended to set
it before the others.

RETURN VALUES


On successful completion, dlpi_promiscon() and dlpi_promiscoff() return
DLPI_SUCCESS. 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.

ERRORS


DLPI_EBADMSG Bad DLPI message

DLPI_EINHANDLE Invalid DLPI handle

DLPI_EINVAL Invalid argument

DLPI_ETIMEDOUT Operation timed out

INTERFACE STABILITY


Committed

MT-LEVEL
Safe

SEE ALSO


libdlpi(3LIB), dlpi(4P), attributes(7)

illumos April 29, 2021 illumos

tribblix@gmail.com :: GitHub :: Privacy