Devices ipnet(7D)
NAME
ipnet, lo0 - ipnet device driver
SYNOPSIS
/dev/ipnet/*, /dev/lo0
DESCRIPTION
The ipnet device driver creates, removes and manages nodes
in the /dev/ipnet/ namespace.
A node is created in /dev/ipnet for every IP interface on
the system, including interfaces that exist only in
software and for which there is no hardware device. The
ipnet device also provides access to all IP traffic to and
from the system. To provide access to packets that are
internally looped-back in IP, the ipnet driver creates a
/dev/lo0 DLPI device.
APLICATION PROGRAMING INTERFACE
ipnet and DLPI
Device nodes created in /dev/ipnet are DLPI style-1 dev-
ices. All MPROTO and MPCPROTO-type messages are inter-
preted as DLPI primitives. Because the device is read-only
and packets can only be observed by opening them, the fol-
lowing subset of DLPI primitives is supported:
DLINFOREQ
DLBINDREQ
DLUNBINDREQ
DLPROMISCONREQ
DLPROMISCOFREQ
DLIOCRAW
The values returned by the driver in the DLINFOACK primi-
tive in response to the DLINFOREQ are:
o Maximum SDU is INTMAX
o Minimum SDU is 0.
o DLSAP address length is 0.
o MAC type is DLIPNET.
o SAP length value is -2.
o Service mode is DLCLDLS.
SunOS 5.11 Last change: 28 Oct 2008 1
Devices ipnet(7D)
o No optional quality of service (QOS) support
is provided. Accordingly, the QOS fields are 0.
o Provider style is DLSTYLE1.
o Version is DLVERSION2.
The devices in /dev/ipnet/ and /dev/lo0 can only be bound to
IPDLSAP, IP6DLSAP or 0. Binding to anything other than
these returns DLERORACK and DLBADSAP. If sap 0 binds to
DLBINDREQ, IPv6 and IPv4 traffic are returned.
ipnet primitives
For /dev/ipnet/* devices, the DLPROMISCONREQ and
DLPROMISCOFREQ primitives with the DLPROMISCPHYS flag
set in the dllevel field enables/disables the reception of
all packets. When disabled, only packets with addresses
matching any of the configured addresses on the IP inter-
face are received. When used with the DLPROMISCMULTI flag
set, reception of all multicast group addresses can be
enabled/disabled. DLPROMISCPHYS and DLPROMISCMULTI have
no effect for /dev/lo0. When the DLPROMISCSAP flag is
set, reception of all IPv4/IPv6 can be enabled/disabled.
The DLIOCRAW ioctl is supported but has no effect on the
data returned from the device.
The DLIOCIPNETINFO ioctl enables/disables the inclusion
of an ipnet header that is prepended to the IP header when
receiving packet data. When enabled, a non-zero integer is
returned reflecting the current DLIOCIPNETINFO version.
The ipnet header returned is of fixed length and has the
following format:
uint8t dliversion; /* Current version */
uint8t dliipver; /* IP version */
uint16t dlilen; /* sizeof dlipnetinfot */
uint64t dlisrczone; /* Source of zoneid where known. */
uint64t dlidstzone; /* Destination zoneid where known. */
If you program to this interface, you may need to access the
dlipnetinfot data-structure that's defined in
:
typedef struct dlipnetinfo {
uint8t dliversion; /* DLIPNETINFO* version */
uint8t dliipver; /* packet IP header version */
SunOS 5.11 Last change: 28 Oct 2008 2
Devices ipnet(7D)
uint16t dlilen; /* length of dlipnetinfot */
uint32t dlipad; /* alignment pad */
uint64t dlisrczone; /* packet source zone ID (if any) */
uint64t dlidstzone; /* packet dest zone ID (if any) */
} dlipnetinfot;
FILES
/dev/ipnet/*, /dev/lo0 Special character devices.
/kernel/drv/ipnet.conf Configuration file.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWckr
Architecture SPARC, x86
Interface Stability Committed
SEE ALSO
attributes(5), dlpi(7P)
SunOS 5.11 Last change: 28 Oct 2008 3
|