2 .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH FCIP 7D "Oct 18, 2004"
8 fcip \- IP/ARP over Fibre Channel datagram encapsulation driver
18 The \fBfcip\fR driver is a Fibre Channel upper layer protocol module for
19 encapsulating \fBIP\fR (IPv4) and \fBARP\fR datagrams over Fibre Channel. The
20 \fBfcip\fR driver is a loadable, clonable, \fBSTREAMS\fR driver supporting
21 the connectionless Data Link Provider Interface, \fBdlpi\fR(7P) over any Sun
22 Fibre Channel transport layer-compliant host adapter.
25 The \fBfcip\fR driver complies with the \fIRFC 2625\fR specification for
26 encapsulating IP/ARP datagrams over Fibre Channel, and allows encapsulation of
27 IPv4 only, as specified in \fIRFC 2625\fR. The \fBfcip\fR driver interfaces
28 with the \fBfp\fR(7d) Sun Fibre Channel port driver.
29 .SH APPLICATION PROGRAMMING INTERFACE
32 The cloning character-special device \fB/dev/fcip\fR is used to access all
33 Fibre Channel ports capable of supporting \fBIP\fR/\fBARP\fR traffic on the
38 The \fBfcip\fR driver is a "style 2" Data Link Service Provider. All
39 \fBM_PROTO\fR and \fBM_PCPROTO\fR type messages are interpreted as \fBDLPI\fR
40 primitives. Valid \fBDLPI\fR primitives are defined in \fB<sys/dlpi.h>\fR\&.
41 Refer to \fBdlpi\fR(7P) for more information on \fBDLPI\fR primitives.
44 An explicit \fBDL_ATTACH_REQ\fR message must be sent to associate the opened
45 stream with a particular Fibre Channel port (ppa). The ppa ID is interpreted
46 as an unsigned long data type and indicates the corresponding Fibre Channel
47 port driver instance number. An error (\fBDL_ERROR_ACK\fR) is returned by the
48 driver if the ppa field value does not correspond to a valid port driver
49 instance number or if the Fibre Channel port is not \fBONLINE\fR. Refer to
50 \fBfp\fR(7d) for more details on the Fibre Channel port driver.
53 The values returned by the driver in the \fBDL_INFO_ACK\fR primitive in
54 response to a \fBDL_INFO_REQ\fR from the user are as follows:
59 Maximum SDU is \fB65280\fR (defined in \fIRFC 2625\fR).
65 Minimum SDU is \fB0\fR.
71 \fBDLSAP\fR address length is \fB8\fR.
77 MAC type is \fBDL_ETHER\fR.
83 \fBSAP\fR length is \fB-2\fR.
89 Service mode is \fBDL_CLDLS\fR.
95 Optional quality of service (\fBQOS\fR) fields are set to \fB0\fR.
101 Provider style is \fBDL_STYLE2\fR.
107 Provider version is \fBDL_VERSION_2\fR.
113 Broadcast address value is \fB0xFFFFFFFF\fR.
117 Once in \fBDL_ATTACHED\fR state, the user must send a \fBDL_BIND_REQ\fR to
118 associate a particular \fBSAP\fR (Service Access Point) with the stream. The
119 \fBfcip\fR driver \fBDLSAP\fR address format consists of the 6-byte physical
120 address component followed immediately by the 2-byte \fBSAP\fR component
121 producing an 8-byte \fBDLSAP\fR address. Applications should not be programmed
122 to use this implementation-specific \fBDLSAP\fR address format, but use
123 information returned in the \fBDL_INFO_ACK\fR primitive to compose and
124 decompose \fBDLSAP\fR addresses. The \fBSAP\fR length, full \fBDLSAP\fR length,
125 and \fBSAP\fR/physical ordering are included within the \fBDL_INFO_ACK\fR.
126 The physical address length is the full \fBDLSAP\fR address length minus the
127 \fBSAP\fR length. The physical address length can also be computed by
128 issuing the \fBDL_PHYS_ADDR_REQ\fR primitive to obtain the current physical
129 address associated with the stream.
132 Once in the \fBDL_BOUND\fR state, the user can transmit frames on the fibre by
133 sending \fBDL_UNITDATA_REQ\fR messages to the \fBfcip\fR driver. The
134 \fBfcip\fR driver will route received frames up any of the open and bound
135 streams having a \fBSAP\fR which matches the received frame's \fBSAP\fR type
136 as \fBDL_UNITDATA_IND\fR messages. Received Fibre Channel frames are
137 duplicated and routed up multiple open streams if necessary. The \fBDLSAP\fR
138 address contained within the \fBDL_UNITDATA_REQ\fR and \fBDL_UNITDATA_IND\fR
139 messages consists of both the \fBSAP\fR (type) and physical address
140 (WorldWideName) components.
141 .SS "Other Primitives"
144 In Fibre Channel, \fBmulticasting\fR is defined as an optional service for
145 Fibre Channel classes three and six only. If required, the Fibre Channel
146 broadcast service can be used for multicasting. The \fIRFC 2625\fR
147 specification does not support \fBIP \fRmulticasting or promiscuous mode.
148 .SS "fcip Fibre Channel ELS"
151 The \fBfcip\fR driver will use the \fBFARP\fR Fibre Channel Extended Link
152 Service (\fBELS\fR), where supported, to resolve WorldWide Names (MAC address)
153 to FC Port Identifiers(Port_ID). The \fBfcip\fR driver also supports InARP to
154 resolve WorldWide Name and Port_ID to an IP address.
159 \fB\fB/dev/fcip\fR\fR
162 fcip character-special device
168 \fB\fB/kernel/drv/fcip\fR\fR
171 32-bit ELF kernel driver (x86)
177 \fB\fB/kernel/drv/amd64/fcip\fR\fR
180 64-bit ELF kernel driver (x86)
186 \fB\fB/kernel/drv/sparcv9/fcip\fR\fR
189 64-bit ELF kernel driver (SPARC)
195 \fB\fB/kernel/drv/fcip.conf\fR\fR
198 fcip driver configuration file
204 See \fBattributes\fR(5) for descriptions of the following attributes:
212 ATTRIBUTE TYPE ATTRIBUTE VALUE
220 \fBnetstat\fR(8), \fBprtconf\fR(8), \fBdriver.conf\fR(4), \fBfp\fR(7d),
224 \fIWriting Device Drivers\fR
227 \fIIP and ARP over Fibre Channel, RFC 2625\fR M. Rajagopal, R. Bhagwat, W.
228 Rickard. Gadzoox Networks, June 1999
231 \fIANSI X3.230-1994, Fibre Channel Physical and Signalling Interface (FC-PH)\fR
234 \fIANSI X3.272-1996, Fibre Channel Arbitrated Loop (FC-AL)\fR
238 If you use a Fibre Channel adapter with two or more ports that each share a
239 common Node WorldWideName, the \fBfcip\fR driver will likely attach to the
240 first port on the adapter.
243 \fIRFC 2625\fR requires that both source and destination WorldWideNames have
244 their 4 bit NAA identifiers set to binary '0001,' indicating that an IEEE
245 48-bit MAC address is contained in the lower 48 bits of the network address
246 fields. For additional details, see the \fIRFC 2625\fR specification.