FCIP(4D) Devices FCIP(4D)
NAME
fcip - IP/ARP over Fibre Channel datagram encapsulation driver
SYNOPSIS
/dev/fcip
DESCRIPTION
The
fcip driver is a Fibre Channel upper layer protocol module for
encapsulating
IP (IPv4) and
ARP datagrams over Fibre Channel. The
fcip driver is a loadable, clonable,
STREAMS driver supporting the
connectionless Data Link Provider Interface,
dlpi(4P) over any Sun
Fibre Channel transport layer-compliant host adapter.
The
fcip driver complies with the
RFC 2625 specification for
encapsulating IP/ARP datagrams over Fibre Channel, and allows
encapsulation of IPv4 only, as specified in
RFC 2625. The
fcip driver interfaces with the
fp(4D) Sun Fibre Channel port driver.
APPLICATION PROGRAMMING INTERFACE
The cloning character-special device
/dev/fcip is used to access
all Fibre Channel ports capable of supporting
IP/
ARP traffic on the
system.
fcip and DLPI The
fcip driver is a "style 2" Data Link Service Provider. All
M_PROTO and
M_PCPROTO type messages are interpreted as
DLPI primitives. Valid
DLPI primitives are defined in
<sys/dlpi.h>. Refer
to
dlpi(4P) for more information on
DLPI primitives.
An explicit
DL_ATTACH_REQ message must be sent to associate the
opened stream with a particular Fibre Channel port (ppa). The ppa ID
is interpreted as an unsigned long data type and indicates the
corresponding Fibre Channel port driver instance number. An error
(
DL_ERROR_ACK) is returned by the driver if the ppa field value does
not correspond to a valid port driver instance number or if the Fibre
Channel port is not
ONLINE. Refer to
fp(4D) for more details on
the Fibre Channel port driver.
The values returned by the driver in the
DL_INFO_ACK primitive in
response to a
DL_INFO_REQ from the user are as follows:
o Maximum SDU is
65280 (defined in
RFC 2625).
o Minimum SDU is
0.
o
DLSAP address length is
8.
o MAC type is
DL_ETHER.
o
SAP length is
-2.
o Service mode is
DL_CLDLS.
o Optional quality of service (
QOS) fields are set to
0.
o Provider style is
DL_STYLE2.
o Provider version is
DL_VERSION_2.
o Broadcast address value is
0xFFFFFFFF.
Once in
DL_ATTACHED state, the user must send a
DL_BIND_REQ to
associate a particular
SAP (Service Access Point) with the stream.
The
fcip driver
DLSAP address format consists of the 6-byte physical
address component followed immediately by the 2-byte
SAP component
producing an 8-byte
DLSAP address. Applications should not be
programmed to use this implementation-specific
DLSAP address format,
but use information returned in the
DL_INFO_ACK primitive to compose
and decompose
DLSAP addresses. The
SAP length, full
DLSAP length, and
SAP/physical ordering are included within the
DL_INFO_ACK. The
physical address length is the full
DLSAP address length minus the
SAP length. The physical address length can also be computed by
issuing the
DL_PHYS_ADDR_REQ primitive to obtain the current physical
address associated with the stream.
Once in the
DL_BOUND state, the user can transmit frames on the fibre
by sending
DL_UNITDATA_REQ messages to the
fcip driver. The
fcip driver will route received frames up any of the open and bound
streams having a
SAP which matches the received frame's
SAP type as
DL_UNITDATA_IND messages. Received Fibre Channel frames are
duplicated and routed up multiple open streams if necessary. The
DLSAP address contained within the
DL_UNITDATA_REQ and
DL_UNITDATA_IND messages consists of both the
SAP (type) and
physical address (WorldWideName) components.
Other Primitives
In Fibre Channel,
multicasting is defined as an optional service for
Fibre Channel classes three and six only. If required, the Fibre
Channel broadcast service can be used for multicasting. The
RFC 2625 specification does not support
IP multicasting or promiscuous mode.
fcip Fibre Channel ELS The
fcip driver will use the
FARP Fibre Channel Extended Link
Service (
ELS), where supported, to resolve WorldWide Names (MAC
address) to FC Port Identifiers(Port_ID). The
fcip driver also
supports InARP to resolve WorldWide Name and Port_ID to an IP
address.
FILES
/dev/fcip fcip character-special device
/kernel/drv/fcip 32-bit ELF kernel driver (x86)
/kernel/drv/amd64/fcip 64-bit ELF kernel driver (x86)
/kernel/drv/sparcv9/fcip 64-bit ELF kernel driver (SPARC)
/kernel/drv/fcip.conf fcip driver configuration file
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|Architecture | SPARC |
+---------------+-----------------+
SEE ALSO
fp(4D),
dlpi(4P),
driver.conf(5),
netstat(8),
prtconf(8) Writing Device Drivers IP and ARP over Fibre Channel, RFC 2625 M. Rajagopal, R. Bhagwat, W.
Rickard. Gadzoox Networks, June 1999
ANSI X3.230-1994, Fibre Channel Physical and Signalling Interface (FC-PH) ANSI X3.272-1996, Fibre Channel Arbitrated Loop (FC-AL)NOTES
If you use a Fibre Channel adapter with two or more ports that each
share a common Node WorldWideName, the
fcip driver will likely attach
to the first port on the adapter.
RFC 2625 requires that both source and destination WorldWideNames
have their 4 bit NAA identifiers set to binary '0001,' indicating
that an IEEE 48-bit MAC address is contained in the lower 48 bits of
the network address fields. For additional details, see the
RFC 2625 specification.
October 18, 2004 FCIP(4D)