fcip - IP/ARP over Fibre Channel datagram encapsulation
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 Pro-
vider Interface, dlpi(7P) over any Sun Fibre Channel tran-
sport 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(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
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(7D) for more
details on the Fibre Channel port driver.
The values returned by the driver in the DL_INFO_ACK primi-
tive in response to a DL_INFO_REQ from the user are as fol-
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 con-
tained within the DL_UNITDATA_REQ and DL_UNITDATA_IND mes-
sages consists of both the SAP (type) and physical address
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 sup-
port 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.
fcip character-special device
32-bit ELF kernel driver
64-bit ELF kernel driver
fcip driver configuration file
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | SPARC |
| Availability | SUNWfcip |
netstat(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
ANSI X3.272-1996, Fibre Channel Arbitrated Loop (FC-AL)
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
Man(1) output converted with