You are on page 1of 4

Claudio DeSanti FC LAN Protocols Support, T11/05-187v0, March 2005

1 Fibre Channel LAN Protocols Support

1.1 Overview

There is the desire to use Fibre Channel as a cluster interconnect or as a generic network technology
for protocols other than IPv6 and IPv4. Some cluster protocols are designed to operate over Ethernet
and are mapped directly over the link layer. In a similar manner, the IS-IS routing protocol may be
used for IP routing, but its messages are mapped directly over the link layer, they are not encapsulat-
ed in IP packets. This proposal (based on the latest IP over FC specification) aims to define an infor-
mative annex to FC-FS-2 to provide some guidance to people interested in these protocols.

1.2 LAN Capable Nx_Ports

A LAN capable Nx_Port:

a) should support Class 3;


b) should support continuously increasing SEQ_CNT; and
c) should support a receive data field size for Device_Data FC frames of at least 1024 octets.

Given that some LAN protocols carries the MAC address also in the LAN Data field (see 1.3.1), it is
recommended for a LAN capable Nx_Port to have a type 1h N_Port_Name.

1.3 LAN Encapsulation

1.3.1 LAN Packet Formats

Most LAN protocols are encapsulated in Ethernet packets, having the format shown in table 1.

Table 1 – Ethernet Packet Format

Item Size (Bytes)


Destination MAC Address 6
Source MAC Address 6
EtherType 2
LAN Data 46 .. 1500
FCS 4

IS-IS messages are encapsulated instead in IEEE 802.3 packets, having the format shown in table 2.

Table 2 – IEEE 802.3 Packet Format

Item Size (Bytes)


Destination MAC Address 6
Source MAC Address 6
Length 2
LLC Header 3
LAN Data 46 .. 1500
FCS 4

1
FC LAN Protocols Support, T11/05-187v0, March 2005 Claudio DeSanti

1.3.2 FC Sequence Format for LAN Packets

A LAN packet is mapped to an Information Unit at the FC-4 level of Fibre Channel, which in turn is
mapped to a Sequence by the FC-2 level.

An Information Unit mapping an Ethernet packet should carry the Network_Header (see 11.3) and
the LLC/SNAP header (see IEEE-LLC), resulting in the Information Unit format shown in table 3.

Table 3 – FC Information Unit Mapping an Ethernet Packet

Item Size (Bytes)


Network_Header 16
LLC/SNAP Header 8
LAN Data 46 .. 1500

An Information Unit mapping an IEEE 802.3 packet should carry the Network_Header (see 11.3) and
the LLC header (see IEEE-LLC), resulting in the Information Unit format shown in table 4.

Table 4 – FC Information Unit Mapping an IEEE 802.3 Packet

Item Size (Bytes)


Network_Header 16
LLC Header 3
LAN Data 46 .. 1500

The ESP_Header may be used to secure the FC frames composing the LAN Sequence. Other types
of Optional Header should not be used in a LAN Sequence.

A LAN Sequence may consist of more than one frame. In this case the first frame of the Sequence
should include the Network_Header and the LLC/SNAP header, while the other frames should not in-
clude them.

LAN packets should be mapped to Sequences sent in Class 3.

1.3.3 LLC/SNAP Header

The fields of the LLC/SNAP Header (see IEEE-LLC) are shown in table 5.

Table 5 – LLC/SNAP Header Format

Item Size (Bytes)


DSAP 1
SSAP 1
CTRL 1
OUI 3
PID 2

2
Claudio DeSanti FC LAN Protocols Support, T11/05-187v0, March 2005

To map an Ethernet packet over Fibre Channel the following code points apply:

– DSAP: AAh;

– SSAP: AAh;

– CTRL: 03h;

– OUI: 000000h;

– PID: the Ethertype identifying the Ethernet protocol (see table 1).

1.3.4 LLC Header

The fields of the LLC Header (see IEEE-LLC) are shown in table 6.

Table 6 – LLC Header Format

Item Size (Bytes)


DSAP 1
SSAP 1
CTRL 1

To map an IS-IS packet over Fibre Channel the following code points apply:

– DSAP: FEh;

– SSAP: FEh;

– CTRL: 03h.

1.3.5 FC Header Code Points

To map a LAN packet over Fibre Channel the following code points apply:

– R_CTL: 04h (Device_Data frame with Unsolicited Data Information Category);

– TYPE: 05h (IP over Fibre Channel);

– CS_CTL/Prio: 00h is the default, see 9.5 for other values;

– DF_CTL: 20h (Network_Header) for the first frame of a LAN Sequence, 00h for the following
frames. If the ESP_Header is used, then 60h for the first frame of a LAN Sequence, 40h for the
following frames;

– F_CTL, SEQ_ID, SEQ_CNT, OX_ID, RX_ID: see 1.5 and 1.6;

– Parameter: if Relative Offset is not used, the content of this field should be ignored by the re-
ceiver, and should be set to zero by the sender. If Relative Offset is used, see 9.13.

3
FC LAN Protocols Support, T11/05-187v0, March 2005 Claudio DeSanti

1.4 Multicast and Broadcast Mapping

LAN multicast and broadcast packets should be mapped to FC Sequences addressed to the broad-
cast N_Port_ID FFFFFFh, sent in Class 3 in a unidirectional Exchange (see 1.6). The Destination
N_Port_Name field of the Network_Header should be set to the value 1000-FFFF-FFFF-FFFFh for
LAN broadcast packets, and to the LAN multicast address prepended with 1000h for LAN multicast
packets.

An Nx_Port supporting LAN protocols should be able to map a received broadcast Class 3
Device_Data frame to an implicit Port Login context in order to handle LAN multicast or broadcast
packets. The receive data field size of this implicit Port Login should be the same across all the
Nx_Ports connected to the same Fabric, otherwise FC broadcast transmission does not work. In or-
der to reduce the need for FC Sequence segmentation, the receive data field size of this implicit Port
Login should be 1024 octets. This receive data field size requirement applies to broadcast
Device_Data frames, not to ELSs.

1.5 Sequence Management

FC Sequences carrying LAN packets should be non-streamed. In order to avoid missing frame alias-
ing by Sequence_ID reuse, an Nx_Port supporting LAN packets should use continuously increasing
SEQ_CNT. Each Exchange should start by setting SEQ_CNT to zero in the first frame, and every
frame transmitted after that should increment the previous SEQ_CNT by one. The Continue Se-
quence Condition field in the F_CTL field of the FC Header should be set to zero.

1.6 Exchange Management

To transmit LAN packets to another Nx_Port or to a multicast/broadcast address, an Nx_Port should


use dedicated unidirectional Exchanges (i.e., Exchanges dedicated to LAN packet transmission and
that do not transfer Sequence Initiative). As such, the Sequence Initiative bit in the F_CTL field of the
FC Header should be set to zero. The RX_ID field of the FC Header should be set to FFFFh.

Unicast FC Sequences carrying unicast Control Protocol packets should be sent in short lived unidi-
rectional Exchanges (i.e., Exchanges containing only one Sequence, in which both the
First_Sequence and Last_Sequence bits in the F_CTL field of the FC Header are set to one). Unicast
FC Sequences carrying other LAN packets should be sent in a long lived unidirectional Exchange
(i.e., an Exchange containing one or more Sequences). LAN multicast packets should not be carried
in unicast Sequences (see 1.4).

Broadcast FC Sequences carrying multicast or broadcast Control Protocol packets should be sent in
short lived unidirectional Exchanges. Broadcast FC Sequences carrying other LAN multicast traffic
may be sent in long lived unidirectional Exchanges to enable a more efficient multicast distribution.

Reasons to terminate a long lived Exchange include the termination of Port Login and the completion
of the LAN communication. A long lived Exchange may be terminated by setting to one the
Last_Sequence bit in the F_CTL field of the FC Header, or via the ABTS (Abort Sequence) protocol.
A long lived Exchange should not be terminated by transmitting the LOGO ELS, since this may termi-
nate active Exchanges on other FC-4s (see FC-LS).

1.7 References

IEEE-LLC: IEEE Std 802-2001, "IEEE Standard for Local and Metropolitan Area Networks: Overview
and Architecture".

You might also like