fcip(7D) Devices fcip(7D)NAMEfcip - 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 con‐
nectionless Data Link Provider Interface, dlpi(7P) over any Sun Fibre
Channel transport layer-compliant host adapter.
The fcip driver complies with the RFC 2625 specification for encapsu‐
lating IP/ARP datagrams over Fibre Channel, and allows encapsulation of
IPv4 only, as specified in RFC 2625. The fcip driver interfaces with
the fp(7D) 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(7P) 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 correspond‐
ing 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(7D) 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:
· Maximum SDU is 65280 (defined in RFC 2625).
· Minimum SDU is 0.
· DLSAP address length is 8.
· MAC type is DL_ETHER.
· SAP length is -2.
· Service mode is DL_CLDLS.
· Optional quality of service (QOS) fields are set to 0.
· Provider style is DL_STYLE2.
· Provider version is DL_VERSION_2.
· Broadcast address value is 0xFFFFFFFF.
Once in DL_ATTACHED state, the user must send a DL_BIND_REQ to asso‐
ciate 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 order‐
ing 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 con‐
sists of both the SAP (type) and physical address (WorldWideName) com‐
ponents.
Other Primitives
In Fibre Channel, multicasting is defined as an optional service for
Fibre Channel classes three and six only. If required, the Fibre Chan‐
nel broadcast service can be used for multicasting. The RFC 2625 speci‐
fication 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(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Architecture │SPARC │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWfcip │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOnetstat(1M), prtconf(1M), driver.conf(4), fp(7D), dlpi(7P)
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 net‐
work address fields. For additional details, see the RFC 2625 specifi‐
cation.
SunOS 5.10 18 Oct 2004 fcip(7D)