PWE3                                                Moran Roth (Ed.)
Internet-Draft                                         Ronen Solomon
Intended status: Standards Track                   Corrigent Systems
Expires: July 15, 2009                            Munefumi Tsurusawa
                                                                KDDI

                                                    January 15, 2009


         Reliable Fibre Channel Transport Over MPLS Networks
                    draft-ietf-pwe3-fc-flow-00.txt


Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on July 15, 2009.


Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.




Roth, et al.           Expires - July 15, 2009                [Page 1]


INTERNET DRAFT             FC Flow Control                January 2009




Abstract

   A Fibre Channel pseudowire (PW) is used to carry Fibre Channel frames
   over an MPLS network. This enables service providers to offer
   "emulated" Fibre Channel services over existing MPLS networks. This
   document specifies the mechanisms controlling the reliable transport
   of Fibre Channel PW over MPLS networks. The encapsulation of Fibre
   Channel PDUs within a pseudowire and the procedures for using a PW to
   provide a Fibre Channel service are specified in [FC-encap].


Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [1].
































Roth, et al.           Expires - July 15, 2009                [Page 2]


INTERNET DRAFT             FC Flow Control                January 2009



Table of Contents

   1. Introduction...................................................4
   2. Congestion Control.............................................4
      2.1. Rate Control..............................................5
      2.1.1. Protocol Mechanism......................................5
      2.1.2. Data Sender Protocol....................................6
      2.1.3. Data Receiver Protocol..................................8
      2.2. Selective Retransmission overview.........................8
      2.2.1. FC Encapsulation Header................................10
      2.2.2. Encapsulation Header field parameters..................12
      2.2.3. Selective reject (SR-SREJ) frame.......................13
      2.2.4. Exception condition reporting and recovery.............14
      2.3. Selective Retransmission procedures......................16
      2.3.1. SR mode of operation...................................16
      2.3.2. SR procedure for addressing............................16
      2.3.3. SR procedure for the use of the Poll/Final bit.........16
      2.3.4. Procedures for information transfer....................17
      2.3.5. List of SR system parameters...........................24
   3. Timing Consideration..........................................26
   4. Applicability Statement.......................................28
   5. Normative References..........................................28
   6. Informative references........................................29
   7. Author's Addresses............................................29
   8. Contributing Author Information...............................30
























Roth, et al.           Expires - July 15, 2009                [Page 3]


INTERNET DRAFT             FC Flow Control                January 2009



1. Introduction

   As metro transport networks migrate towards a packet-oriented network
   infrastructure, the PSN is being extended in order to allow all
   services to be transported over a common network infrastructure. This
   has been accomplished for services such as Ethernet [RFC4448], Frame
   Relay [RFC4619], ATM [RFC4717] and SONET/SDH [RFC4842] services.
   Another such service, which has yet to be addressed, is the transport
   of Fibre Channel (FC) frames over the PSN. This will allow network
   service providers to transparently carry FC services over the packet-
   oriented network, along with the aforementioned data and TDM
   services.

   FC frames encapsulation within PW PDUs and the procedures for using a
   PW to provide a Fibre Channel service are specified in a companion
   document [FC-encap]. However, complementary mechanisms are required
   to provide reliable FC transport between FC entities.

   This document specifies the mechanisms to provide reliable transport
   for FC traffic over MPLS networks, specifically, two mechanisms are
   specified:

      (1) Congestion avoidance: this mechanism is intended to alleviate
          congestion conditions. In order to provide TCP-friendly
          operation the transmission rate is controlled by the
          throughput equation specified in [RFC3448].

      (2) Selective Retransmission: this mechanism enable lossless
          transmission of FC frames by retransmission of PW PDUs that
          were discarded in transit in order to provide lossless
          transmission for the FC service. A selective retransmission
          mechanism is specified.


2. Congestion Control

   FC PW traffic can be transmitted over networks that may experience
   congestion due to statistical multiplexing. When congestion
   conditions are experienced frames may be discarded within the MPLS
   PSN. Congestion control mechanism is required to prevent congestion
   collapse and provide fairness among the different connections.
   Fairness is usually defined with respect to TCP flow control
   [RFC2914]. The FC PW relies on a congestion control mechanism that
   provides TCP-friendly behavior by controlling the transmission rate
   into the PSN by a rate shaper, whose output rate is a function of
   network congestion.



Roth, et al.           Expires - July 15, 2009                [Page 4]


INTERNET DRAFT             FC Flow Control                January 2009



   Frame loss within the MPLS PSN also requires a reliable transmission
   mechanism in the PE to support faithful emulation of FC service,
   providing in-order, no-loss transport of FC traffic between CE1 and
   CE2. Reliable transmission is provided by a sliding-window selective
   retransmission (SR) mechanism to allow efficient retransmission of
   lost frames. This was standardized for FC transport in [FC-BB]. The
   SR mechanism also provides congestion indication (i.e. Frame loss
   events) to the rate control mechanism.

2.1. Rate Control

   The rate control mechanism provides adaptive shaper control in
   response to network congestion indications. The rate shaper is
   configured with BW attributes, such as CIR and EIR, assigned to the
   FC PW service. The rate control operation is based on [RFC3448]. In
   the following sections the applicability of [RFC3448] to FC PW is
   analyzed, and rate control operation is detailed.

   [RFC3448] is a receiver-based congestion control mechanism, where the
   congestion control information (i.e., the loss event rate) is
   calculated by the receiver. In FC PW, on the other hand, the
   congestion control information is calculated by the sender. This
   approach is more appropriate for the point-to-point nature of FC PW.
   This sender-based approach is also mentioned in [RFC3448] as a
   possible variant of the protocol.

2.1.1. Protocol Mechanism

   In accordance with [RFC3448] the actual allowed sending rate is
   directly computed by a throughput equation, as a function of lost
   frames and round trip time. In general, the congestion control
   mechanism works as follows:

      o  The receiver detects lost frames and feeds this information
         back to the sender as part of the SR mechanism.

      o  The sender calculates the frame loss probability and measures
         the round-trip time (RTT) as defined in [FC-BB].

      o  The lost frame probability and RTT are then fed into the
         throughput equation, calculating the acceptable transmission
         rate.

      o  The sender then adjusts its transmission rate to match the
         calculated rate in accordance with the service BW attributes
         (CIR, EIR).



Roth, et al.           Expires - July 15, 2009                [Page 5]


INTERNET DRAFT             FC Flow Control                January 2009



   As the CIR is guaranteed, the throughput equation controls only the
   excess transmission rate. The parameters of the throughput equation
   are set as follows:

      o  The retransmission timeout (t_RTO) is replaced by the T1 timer
         of the SR mechanism as defined in section 6.3.

      o  The number of frames acknowledged by a single SR acknowledgment
         frame (b) is set to b = 1, as recommended in [RFC3448].
         Different implementation MAY use delayed acknowledgement by
         increasing the value of b.

   Frame loss probability (p) and RTT (R) are calculated as specified in
   Section 6.1.2.

2.1.2. Data Sender Protocol

   The data sender sends a stream of data frames to the data receiver at
   a controlled rate.  When a feedback frame is received from the data
   receiver, the data sender calculates the frame loss probability and
   changes its sending rate accordingly. If the sender does not receive
   a feedback frame during a timeout period, it reduces its sending
   rate. This is achieved by the SR T1 timer.

   We specify the sender-side protocol in the following steps:

      o  Sender initialization.

      o  The sender behavior when a feedback frame is received.

      o  The sender calculation of the frame loss probability.

      o  The sender behavior when a feedback frame is not received for
         a timeout period.

   The sender rate shaper is initialized to transmit at the CIR. The SR
   mechanism is also initialized by resetting the sequence numbers.

   The sender calculates RTT (R), based on delay measurement frames
   transmitted by the NSP (as defined in [FC-BB]). These frames MUST be
   sent at least every 100 milliseconds, and are used to measure round
   trip samples that are averaged to obtain RTT (refer to [RFC3448]
   section 4.3 for details). If an RTT measurement is missed (either due
   to a loss of a delay measurement frame, or to an RTT larger than the
   measurement period), PE1 SHOULD shut the PW down, as specified in
   [FC-BB].



Roth, et al.           Expires - July 15, 2009                [Page 6]


INTERNET DRAFT             FC Flow Control                January 2009



   The sender calculates the frame loss probability based on feedback
   frames generated by the receiver. A feedback frame with accordance to
   the SR mechanism defined in [FC-BB] is one of the following:

      o  Receiver Ready (RR) - a frame that includes the N(R) counter to
         acknowledge the sender frames up to frame N(R).

      o  Receiver Not Ready (RNR) - a frame that includes the N(R)
         counter to acknowledge the sender frames up to frame N(R), and
         pause the sender from sending additional frames.

      o  Selective Reject (SREJ) - a frame that includes lost frames
         indication (sequence numbers).

   When the sender receives a feedback frame it re-calculates the frame
   loss probability. RR and RNR will effectively decrease the frame loss
   probability due to no frame loss. On the other hand, reception of a
   SREJ frame tends to increase the frame loss probability. An
   implementation MAY consider sending feedback frames, in a controlled
   network environment, with expedite forwarding (EF) CoS to assure
   delivery.

   After the frame loss probability is updated, the sender calculates a
   new transmission rate for the rate shaper. The transmission rate is
   calculated as: Rate = MIN( PIR, MAX(CIR,X) ), where CIR is the
   Committed Information Rate, PIR is the Peak Information Rate (PIR =
   CIR+EIR), X is the outcome of the throughput equation as specified in
   [RFC3448], and MIN/MAX are functions returning the smallest/largest
   value among their operands, respectively. Note that the transmission
   rate as controlled by the above function, is bounded in the range
   [CIR,PIR].

   No feedback in accordance with [RFC3448] is defined by the timer T1.
   When the sender does not receive a feedback for such an interval it
   halves its transmission rate as defined in [RFC3448]. The
   transmission rate equation as specified above MUST still be applied
   to guarantee that the CIR is the lower limit for the throughput. The
   procedure controlling timer T1 (refer to Section 6.3) guarantees that
   transmission rate is not halved during idle periods, as the timer is
   not activated during these periods.

   The maximum burst size allowed MUST be limited to a round-trip time's
   worth of packets, to achieve efficient transmission while conforming
   to [RFC3448].

   In case the transmission rate is equal to CIR for a period greater
   than RTT, and transmitted frames are still lost in transit, as


Roth, et al.           Expires - July 15, 2009                [Page 7]


INTERNET DRAFT             FC Flow Control                January 2009



   indicated to the sender by receiving SREJ frames, the sender MUST
   signal PW status of "Unable to maintain minimum transmission rate"
   (refer to Section 9 - "IANA Considerations" for details) as specified
   in [RFC4447], and MUST stop transmission over the PW for a duration
   of 10 seconds (this period allows a transient network problem to
   resolve itself, and guarantees that no more than one HELLO message
   [FC-SW] is lost, and the link between the two FC devices is not
   affected). The sender and receiver MUST discard all frames residing
   in the buffers associated with the congested PW. The sender MUST also
   discard all frames received from the attached FC device. If within 10
   seconds after transmission was restarted severe congestion conditions
   are encountered, as described above (i.e., CIR cannot be maintained),
   the sender MUST shut the PW down, as described in Section 6.5 of
   [RFC3985]. If the PW has been set up using the PWE3 control protocol
   [RFC4447], the regular PW teardown procedures SHOULD be used. The PW
   MUST NOT be automatically restarted, and administrative intervention
   is required. Upon PW shutdown the sender and receiver MUST discard
   all frames associated with the PW. Note that congestion may be
   avoided by employing connection admission control (CAC) mechanism,
   which assures that congestion conditions will not be reached when a
   PW is transmitting at its configured CIR.


2.1.3. Data Receiver Protocol

   The data receiver receives a stream of data frames from the data
   sender, generates SR feedback frames (SR-RR, SR-RNR and SR-SREJ), and
   sends them to the data sender. The details of feedback frames
   generation and transmission are specified in section 6.3.

2.2. Selective Retransmission overview

   The selective retransmission mechanism provides efficient
   retransmission of lost frames to enable faithful emulation of FC
   service, with no frame loss experienced by the CE. The proposed
   selective retransmission mechanism was standardized for FC transport
   in [FC-BB], and is specified in details in this standard.

   The SR protocol is an efficient sliding window full-duplex protocol
   that supports both the flow control and error recovery functions. SR
   has been adopted from ITU's Link Access Protocol B (LAPB) that was
   derived from ISO/IEC's High-level Data Link Control (HDLC) balanced
   classes. Use of LAPB in SR is limited to a subset of the synchronous
   modulo 32768 super sequence numbering service option.

   SR works between two PE devices (see figure 7). SR flow control works
   by streaming multiple messages within an allowed window, bounded by


Roth, et al.           Expires - July 15, 2009                [Page 8]


INTERNET DRAFT             FC Flow Control                January 2009



   the system parameter k, and awaits acknowledgements before sending
   more messages. Acknowledgements indicate which messages were
   correctly received and there is a provision for requesting
   retransmission of selected messages in the current window. Fibre
   Channel Sequences and Exchanges are not visible to the SR flow
   control protocol which sees the PW packets constructed from the FC
   frames.

   Some benefits of the SR protocol are summarized below:

   a) it is used for reliable transport of all Class 2, 3, 4, and F
      frames between two PE devices;

   b) it optimizes buffer management at the PE devices;

   c) it acts as a congestion avoidance technique to match the capacity
      of the sender to the capacity of the network that carries the
      payload;

   d) it ensures correct delivery of messages (i.e., an error control
      and recovery function); and

   e) it provides a continuous stream of traffic across the MPLS
      PSN thus leading to a higher throughput (i.e., optimizes bandwidth
      utilization at each BBW device).

   Note that the synchronization of the Sender PE and the Receiver PE at
   the PW message level, which is required for correct SR operation is
   performed through PW signaling.

   The four different SR messages described in section 6.2.1 have a
   correspondence to the LAPB frame types. Note that only the
   information transfer SR-I message is flow-controlled while all other
   messages are control messages of the protocol.
   The SR protocol specifies the maximum number (k) of outstanding
   messages at any given time. k is a system parameter that is not
   negotiated and is fixed in a given implementation. The value of this
   system parameter depends on the MPLS PSN delay characteristics and
   the number of buffers available. Typically, the value of k is
   expected to be far below the maximum number of 32767.









Roth, et al.           Expires - July 15, 2009                [Page 9]


INTERNET DRAFT             FC Flow Control                January 2009



            +--------------------+            +--------------------+
            |        PE          |            |        PE          |
            |                    |            |                    |
            |  +--------------+  |            |  +--------------+  |
            |  | Flow Control |<---------------->| Flow Control |  |
            |  |   Protocol   |  |            |  |   Protocol   |  |
            |  +--------------+  |            |  +--------------+  |
            |         |          |            |         |          |
            |         |          |            |         |          |
            |  +--------------+  |            |  +--------------+  |
            |  | PW Interface |  |            |  | PW Interface |  |
            |  +--------------+  |            |  +--------------+  |
            |                    |            |                    |
            +--------------------+            +--------------------+
                      |              -    --             |
                      |         --  / \  /  \            |
                      |        /  \/   --    \           |
                      |        \             /           |
                      |         \    MPLS    \           |
                      +---------/    PSN     /-----------+
                               /            /
                               -------------

          Figure 7 - SR flow control protocol between two PEs


2.2.1. FC Encapsulation Header

   The FC Encapsulation Header defines two types of field formats that
   are used to perform information transfer (i.e., I-format frames), and
   supervisory functions (i.e., S-format frames). SR makes use of four
   different types of messages:

   a) I-format (1): SR-I frame.

      This frame is used to perform an information transfer. The
      Encapsulation Header of an I-format frame is shown in figure 8.
      The I-frame Encapsulation Header contains the following fields:
        (1) N(S): Transmitter send sequence number.
        (2) N(R): Transmitter receive sequence number.
        (3) P: Poll bit (1 = Poll).

      A detailed description of the different fields and explanation of
      The functionality involved is provided in section 6.2.2.

      An SR-I frame is a command message (i.e., the A-bit in the Control
      Word is set to 1), and carries an encapsulated FC frame.


Roth, et al.           Expires - July 15, 2009               [Page 10]


INTERNET DRAFT             FC Flow Control                January 2009




   b) S-format (3): SR-RR, SR-RNR, SR-SREJ frames.

      These frames are used to perform supervisory control functions of
      the Selective Retransmission mechanism, such as acknowledge SR-I
      messages, request retransmission of SR-I messages, and to request
      a temporary suspension of transmission of SR-I messages. The
      Encapsulation Header of an S-format frame is shown in figure 9.

      The S-frame Encapsulation Header contains the following fields:

        (1) N(R): Transmitter receive sequence number.

        (2) S: Supervisory function bits to define the frame type.
            S = 00: SR-RR.
            S = 01: Reserved.
            S = 10: SR-RNR.
            S = 11: SR-SREJ.

        (3) P: Poll/Final bit (refer to section 6.2.2 for detailed
            description).

        (4) Reserved: MUST be set to 0 by the ingress PE, and MUST be
            ignored by the egress PE.

      A detailed description of the different fields and explanation of
      The functionality involved is provided in section 6.2.2.

      An SR-RR frame carries no payload, and may be either a command or
      response message (the A-bit in the Control Word is set to 1 for a
      Command, and to 0 for a Response). It indicates Ready to Receive
      SR-I messages (negates busy condition) and acknowledges previous
      SR-I messages.

      An SR-RNR frame carries no payload, and may be either a command or
      response message. It indicates Receiver not Ready to accept more
      SR-I messages (busy condition) and acknowledges previous SR-I
      messages.

      An SR-SREJ frame may be either a command or response message, and
      carries a payload that indicate SR-I frames in need of selective
      retransmission.







Roth, et al.           Expires - July 15, 2009               [Page 11]


INTERNET DRAFT             FC Flow Control                January 2009



                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-----------------------------+-+-----------------------------+
      |0|           N(S)              |P|          N(R)               |
      +-+-----------------------------+-+-----------------------------+

          Figure 8 - FC Encapsulation Header format for I-frame

                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+---+-----------------------+-+-----------------------------+
      |1|0| S |     Reserved          |P|          N(R)               |
      +-+-+---+-----------------------+-+-----------------------------+

          Figure 9 - FC Encapsulation Header format for S-frame

2.2.2. Encapsulation Header field parameters

   The following describes the different fields of the Encapsulation
   Header and details how these fields are handled.

   a) Modulus of SR - Each SR-I message is sequentially numbered and may
      have the value 0 through modulus minus 1, where "modulus" is equal
      to 32768 (i.e., the maximum value of the sequence numbers). The
      sequence numbers cycle through the entire range.

   b) Send state variable V(S) - The send state variable V(S) denotes
      the sequence number of the next-in-sequence SR-I message to be
      transmitted. V(S) may take on the values 0 through modulus minus
      1. The value of V(S) is incremented by 1 with each successive SR-I
      message transmission, but cannot exceed the N(R) of the last
      received SR-I or supervisory message by more than the maximum
      number of outstanding SR-I messages k. The value of k is defined
      in section 6.3.5.

   c) Send sequence number N(S) - Only SR-I messages contain N(S), the
      send sequence number of the transmitted SR-I message. At the time
      that an in-sequence SR_I message is designated for transmission,
      the value of N(S) is set to the value of the send state variable
      V(S).

   d) Receive state variable V(R) - The receive state variable V(R)
      denotes the sequence number of the next-in-sequence SR-I message
      expected to be received. V(R) may take on the values 0 through
      modulus minus 1. The value of V(R) is incremented by 1 by the
      receipt of an error-free, in-sequence SR-I message whose send
      sequence number N(S) equals the receive state variable V(R).


Roth, et al.           Expires - July 15, 2009               [Page 12]


INTERNET DRAFT             FC Flow Control                January 2009




   e) Rceive sequence number N(R) - All SR-I messages and supervisory
      messages, except SR-SREJ messages with the F bit set to 0, SHALL
      contain N(R), the expected send sequence number of the next
      received SR-I message. At the time that a message of the above
      types is designated for transmission, the value of N(R) is set to
      the current value of the receive state variable V(R). N(R)
      indicates that the PE transmitting the N(R) has correctly received
      all SR_I messages numbered up to and including N(R)-1.

   f) Functions of the Poll/Final bit (P-bit) - All messages contain P-
      bit, the Poll/Final bit. In command messages, the P-bit is
      referred to as the Poll bit. In response messages it is referred
      to as the Final bit.

      The Poll bit set to 1 is used by the PE to solicit (i.e., poll) a
      response from the remote PE.

      The Final bit set to 1 is used by the PE to indicate the response
      message transmitted by the remote PE, as a result of the
      soliciting (i.e., poll) command.
      The use of the P/F bit is further described in section 6.3.3.

2.2.3. Selective reject (SR-SREJ) frame

   The SR-SREJ supervisory message is used by a PE to request
   retransmission of one or more, not necessarily contiguous, SR-I
   messages. The N(R) field SHALL contain the sequence number of the
   earliest SR-I message to be retransmitted and the information field
   (see figure 9) SHALL contain, in ascending order (i.e., 32767 is
   higher than 32766 and 0 is higher than 32767 for modulo 32768), the
   sequence numbers of additional SR-I message(s), if any, that needs to
   be retransmitted.

   The payload field SHALL be encoded such that there is a 2-byte field
   for each standalone SR-I message in need of retransmission, and a 4-
   byte span list for each sequence of two or more contiguously numbered
   SR-I messages in need of retransmission, as depicted in figure 9.
   Standalone SR-I messages are identified in the payload field by the
   appropriate N(R) value preceded by a 0 bit in the 2-byte field used.
   Span lists are identified in the payload field by the N(R) value of
   the first SR-I message in the span list preceded by a 1 bit in the 2-
   byte field used, followed by the N(R) value of the last message in
   the span list preceded by a 1 bit in the 2-byte field used.





Roth, et al.           Expires - July 15, 2009               [Page 13]


INTERNET DRAFT             FC Flow Control                January 2009



   The maximum payload size of a SR-SREJ message is 2148 bytes
   corresponding to a maximum possible encoding of 1074 standalone SR-I
   messages or a maximum possible encoding of 537 span list sets.
   If the P-bit in an SR-SREJ message is set to 1, then SR-I messages
   numbered up to N(R)-1 inclusive, N(R) being the value in the
   Encapsulation Header field, shall be considered as acknowledged. If
   the P-bit in an SR-SREJ message is set to 0, then the N(R) in the
   Encapsulation Header field of the SR-SREJ message does not indicate
   acknowledgement of SR-I messages.

                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +---------------------------------------------------------------+
      |                    FC PW Control Word                         |
      +---------------------------------------------------------------+
      |                  FC Encapsulation Header                      |
      +-+-----------------------------+-+-----------------------------+
      |0| N(R) of standalone SR-I     |1| N(R) of first SR-I in span  |
      +-+-----------------------------+-+-----------------------------+
      |1| N(R) of last SR-I in span   |0| N(R) of standalone SR-I     |
      +-+-----------------------------+-+-----------------------------+
      |1| N(R) of first SR-I in span  |1| N(R) of last SR-I in span   |
      +-+-----------------------------+-+-----------------------------+
      |                                                               |
      .                                                               .
      .                                                               .
      +---------------------------------------------------------------+

          Figure 10 - SR-SREJ frame format example


2.2.4. Exception condition reporting and recovery

   The error recovery procedures that are available to effect recovery
   following the detection/occurrence of an exception condition are
   described in this section. Exception conditions described are those
   situations that may occur as the result of transmission errors, PE
   device malfunction, or operational situations.

   a) Busy condition - The busy condition results when the PE is
      temporarily unable to continue to receive SR-I messages due to
      internal constraints (e.g., receive buffering limitations). Upon
      entering the busy condition, a PE transmits an SR-RNR message.
      SR-I messages pending transmission may be transmitted from the
      busy PE prior to or following the SR-RNR message.
      An indication that the busy condition has cleared is communicated
      by the transmission of SR-RR or SR-SREJ.


Roth, et al.           Expires - July 15, 2009               [Page 14]


INTERNET DRAFT             FC Flow Control                January 2009




   b) N(S) sequence error condition - The information field of all
      received SR-I messages whose N(S) is not in the range V(R) and
      V(R)+k-1 inclusive, SHALL be discarded. The information field of
      all SR-I messages received by the PE whose N(S) is in the range
      V(R) and V(R) + k -1 inclusive, SHALL be saved in the receive
      buffer.

      An N(S) sequence error exception condition occurs in the receiver
      when a received SR-I message contains an N(S) that is not equal to
      the receive state variable V(R) at the receiver. The receiver
      SHALL not acknowledge (i.e., increment its receive state variable)
      the SR-I message causing the sequence error, or any SR-I message
      that may follow, until an SR-I message with the correct N(S) is
      received.

      A PE that receives one or more valid SR-I messages having sequence
      errors or subsequent supervisory messages (i.e., SR-RR, SR-RNR, or
      SR-SREJ) shall accept and handle the N(R) field and the P-bit.

      The means specified below shall be available for initiating the
      retransmission of lost or errored SR-I messages following the
      occurrence of an N(S) sequence error condition.

      (1) SR-SREJ recovery - The SR-SREJ message shall be used to
          initiate more efficient error recovery by selectively
          requesting the retransmission of one or more, not necessarily
          contiguous, lost or errored SR-I message(s) following the
          detection of sequence errors, rather than requesting the
          retransmission of all SR-I messages.

          When a PE receives an out-of-sequence message, the SR-I
          message shall be saved in a receive buffer. The SR-I message
          shall be delivered to the upper layer only when all SR-I
          messages numbered below N(S) are correctly received. If
          message number N(S)-1 has not been received previously, then
          an SR-SREJ response message with the P-bit set to 0 shall be
          transmitted containing the sequence numbers of the block of
          consecutive missing SR-I messages ending at N(S)-1. On
          receiving such an SR-SREJ message the PE shall retransmit all
          requested SR-I messages. After retransmitting these SR-I
          messages, the BBW may transmit new SR_I messages, if they
          become available.

          When a PE receives a command message with the P-bit set to 1,
          if there are out-of-sequence SR-I messages saved in the
          receive buffer, it shall transmit an SR-SREJ message, with the


Roth, et al.           Expires - July 15, 2009               [Page 15]


INTERNET DRAFT             FC Flow Control                January 2009



          F bit set to 1, containing a complete list of missing sequence
          numbers. The PE that receives the SR-SREJ message shall
          retransmit all requested SR-I messages, except those that were
          transmitted subsequent to the last command message with the P
          bit set to 1.

      (2) Time-out recovery - If a PE, due to a transmission error, does
          not receive, or receives and discards, a single SR-I message
          or the last SR-I message in a sequence of SR-I messages, it
          shall not detect a N(S) sequence error condition and,
          therefore, shall not transmit an SR-SREJ message.

          The PE that transmitted the unacknowledged SR-I message(s)
          shall, following the completion of a system specified time-out
          period (see section 6.3.4 items b) and j) below), send a
          supervisory command message (i.e., SR-RR or SR-RNR) with the
          P-bit set to 1. SR-I messages shall be retransmitted on the
          receipt of an SR-RR response message with the F bit set to 1
          or an SR-SREJ message.

   c) Invalid message condition - Any message that is invalid shall be
      discarded, and no action is taken as the result of that message.
      An invalid message is defined as one that contains:

      (1) the Control Word with an invalid encoding; or

      (2) the Encapsulation Header with an invalid encoding.



2.3. Selective Retransmission procedures

2.3.1. SR mode of operation

   The SR protocol shall be limited to a subset of the synchronous
   modulo 32768 super sequence numbering service option operation of the
   LAPB protocol. The SR protocol is initialized upon PW set-up
   following a successful signaling session.

2.3.2. SR procedure for addressing

   The Address Bit field in the Control Word (see figure 3) identifies a
   message as either a command or a response. This field is used in
   conjunction with the P-bit (Poll/Final).

2.3.3. SR procedure for the use of the Poll/Final bit



Roth, et al.           Expires - July 15, 2009               [Page 16]


INTERNET DRAFT             FC Flow Control                January 2009



   The PE receiving a supervisory command (i.e., SR-RR, SR-RNR, SR-
   SREJ), or SR-I message with the P bit set to 1 shall set the F bit to
   1 in the next response message it transmits.

   The response message returned by the PE to an SR-I message with the P
   bit set to 1, shall be an SR-RR, SR-SREJ, or SR-RNR response with the
   F bit set to 1.

   The response message returned by the PE to a supervisory command with
   the P bit set to 1, shall be an SR-RR, SR-RNR, or SR-SREJ response
   with the F bit set to 1.

   The P bit may be used by the PE in conjunction with the timer
   recovery condition (see section 6.3.4. item j) below).

2.3.4. Procedures for information transfer

   a) Procedures for SR-I messages

   The procedures that apply to the transmission of SR-I messages in
   each direction using multi-selective reject are described below.

   b) Sending new SR-I messages

   When the PE has a new SR-I message to transmit (i.e., an SR-I message
   not already transmitted), it shall transmit it with a N(S) equal to
   its current send state variable V(S), and a N(R) equal to its current
   receive state variable V(R). At the end of the transmission of the
   SR-I message, it shall increment its send state variable V(S) by 1.

   If the SR timer T1 is not running at the time of transmission of the
   SR-I message, it shall be started.

   If the SR send state variable V(S) is equal to the last value N(R)
   received plus k, where k is the maximum number of outstanding SR-I
   frames (see section 6.3.5), the PE shall not transmit any new SR-I
   frames.

   If the remote PE is busy, the PE shall not transmit any new SR-I
   messages.

   When the PE is in the busy condition, it may still transmit SR-I
   messages, provided that the remote PE is not busy.

   c) Receiving an in-sequence SR-I message




Roth, et al.           Expires - July 15, 2009               [Page 17]


INTERNET DRAFT             FC Flow Control                January 2009



   When the PE is not in a busy condition and receives a valid SR-I
   message whose send sequence number N(S) is equal to its receive state
   variable V(R), the PE shall accept the information field of this
   message and increment by one the receive state variable V(R). If the
   SR-I message, whose N(S) is equal to the incremented value of V(R),
   is present in the receive buffer, then the PE shall remove it from
   the receive buffer, deliver it to the upper layer and increment V(R)
   by one. The PE shall repeat this procedure until V(R) reaches a value
   such that the SR-I message whose N(S) is equal to V(R) is not present
   in the receive buffer. The PE shall then take one of the following
   actions:

      (1) if the PE is now in the busy condition, it shall transmit an
          SR-RNR message with N(R) equal to the value of the SR receive
          variable V(R) (see item i) below); or

      (2) if the PE is still not in a busy condition:

            - if the P bit is set to 1, then the PE shall transmit a
              response message with the F bit set to 1, as specified in
              item l) below;

            - if an SR-I message is available for transmission the PE
              shall act as described in item b) above, sending new SR-I
              messages and acknowledging the received SR-I message by
              setting N(R) in the Encapsulation Header field of the next
              transmitted SR-I message to the value of the SR receive
              state variable V(R), or the PE shall acknowledge the
              received SR-I message by transmitting an SR-RR message
              with the N(R) equal to the value of the SR receive state
              variable V(R); or

            - the PE shall transmit an SR-RR message with N(R) equal to
              the value of the SR receive state variable V(R).

   When the PE is in a busy condition, it may ignore the information
   field contained in any received SR-I message.

   d) Reception of invalid messages

   When the PE receives an invalid message (see 6.2.4. item c), it shall
   discard the message.

   e) Reception of out-of-sequence SR-I messages

   When the PE is not in a busy condition and it receives a valid SR-I
   message whose send sequence number N(S) is out-of-sequence, (i.e.,


Roth, et al.           Expires - July 15, 2009               [Page 18]


INTERNET DRAFT             FC Flow Control                January 2009



   not equal to the receive state variable V(R)), then it shall perform
   one of the following actions:

      1) if N(S) is less than V(R) or greater than or equal to V(R) + k,
         then it shall discard the information field of the SR-I
         message. If the P bit of the SR-I message is set to 1, then the
         PE shall transmit a response message with the F bit set to 1,
         as specified in item l) below; or

      2) if N(S) is greater than V(R) and less than V(R) + k, then it
         shall save the SR-I message in the receive buffer. It shall
         then perform one of the following actions:

           - if the P bit of the SR-I message is set to 1, then the PE
             shall transmit a response message with the F bit set to 1,
             as specified in item l) below;

           - if the PE is now in a busy condition, it shall transmit an
             SR-RNR message with N(R) equal to the value of the receive
             variable V(R), as specified in item i) below; or

           - if the SR-I message numbered N(S)-1 has not yet been
             received, then the PE shall transmit an SR-SREJ response
             message with the F bit set to 0. The PE shall create a list
             of contiguous sequence numbers N(X), N(X)+1, N(X)+2,...,
             N(S)-1, where N(X) is greater than or equal to V(R) and
             none of the SR-I messages N(X) to N(S)-1 have been
             received. The N(R) field of the SR-SREJ message shall be
             set to N(X) and the information field set to the list
             N(X)+1,...,N(S)-1. If the list of sequence numbers is too
             large to fit into the information field of the SR-SREJ
             message, then the list shall be truncated to fit in one
             SR-SREJ message, by including only the earliest sequence
             numbers.

   When the PE is in the busy condition, it may ignore the information
   field contained in any received SR-I message.

   f) Receiving acknowledgement

   When correctly receiving an SR-I message or a supervisory message
   (i.e., SR-RR, SR-RNR, or SR-SREJ with the F bit set to 1), even in
   the busy condition, the PE shall consider the N(R) contained in this
   message as an acknowledgement for all the SR-I messages it has
   transmitted with a N(S) up to and including the received N(R)-1. The
   PE shall stop the timer T1 if the received supervisory message has
   the F bit set to 1 or if there is no outstanding poll condition and


Roth, et al.           Expires - July 15, 2009               [Page 19]


INTERNET DRAFT             FC Flow Control                January 2009



   the N(R) is higher than the last received N(R), actually
   acknowledging some SR-I messages.

   If timer T1 has been stopped by the receipt of an SR-I message, an
   SR-RR command message, an SR-RR response message with the F bit set
   to 0, or an SR-RNR message, and if there are outstanding SR-I
   messages still unacknowledged, the PE shall restart timer T1. If
   timer T1 has been stopped by the receipt of an SR-SREJ message with
   the F bit set to 1, the PE shall follow the retransmission procedure
   specified in item g.2) below. If timer T1 has been stopped by the
   receipt of an SR-RR message with the F bit set to 1, the PE shall
   follow the retransmission procedure specified in item k) below.

   g) Receiving an SR-SREJ response message

      1) Receiving an SR-SREJ response message with the F bit set to 0

         When receiving an SR-SREJ response message with the F bit set
         to 0, the PE shall retransmit all SR-I messages, whose sequence
         numbers are indicated in the N(R) field and the information
         field of the SR-SREJ message, in the order specified in the
         SR-SREJ message. Retransmission shall conform to the following:

           - if the PE is transmitting a supervisory or SR-I message
             when it receives the SR-SREJ message, it shall complete
             that transmission before commencing transmission of the
             requested SR-I messages; or

           - if the PE is not transmitting any message when it receives
             the SR-SREJ message, it shall commence transmission of the
             requested SR-I messages immediately.

         If there is no outstanding poll condition, then a poll shall be
         sent, either by transmitting an SR-RR command, or SR-RNR
         command if the PE is in the busy condition, with the P bit set
         to 1 or by setting the P bit in the last retransmitted SR-I
         message and timer T1 shall be restarted.

         If there is an outstanding poll condition, then timer T1 shall
         not be restarted.

      2) Receiving an SR-SREJ response message with the F bit set to 1

         When receiving an SR-SREJ response message with the F bit set
         to 1, the PE shall retransmit all SR-I messages, whose sequence
         numbers are indicated in the N(R) field and the information
         field of the SR-SREJ message, in the order specified in the


Roth, et al.           Expires - July 15, 2009               [Page 20]


INTERNET DRAFT             FC Flow Control                January 2009



         SR-SREJ message, except those messages that were sent after the
         message with the P bit set to 1 was sent. Retransmission shall
         conform to the following:

           - if the PE is transmitting a supervisory message or SR-I
             message when it receives the SR-SREJ message, it shall
             complete that transmission before commencing transmission
             of the requested SR-I messages; or

           - if the PE is not transmitting any message when it receives
             the SR-SREJ message, it shall commence transmission of the
             requested SR-I messages immediately.

         If any messages are retransmitted, then a poll shall be sent,
         either by transmitting an SR-RR command, or SR-RNR command if
         the PE is in the busy condition, with the P bit set to 1 or by
         setting the P bit in the last retransmitted SR-I message.

         Timer T1 shall be restarted.

   h) Receiving an SR-RNR message

   After receiving an SR-RNR message, the PE shall stop transmission of
   SR-I messages until an SR-RR or SR-SREJ message is received.

   The PE shall start timer T1, if necessary, as specified in section
   6.3.5.

   When timer T1 runs out before receipt of a busy clearance indication,
   the PE shall transmit a supervisory message (i.e., SR-RR, SR-RNR),
   with the P bit set to 1 and shall restart timer T1, in order to
   determine if there is any change in the receive status of the remote
   PE. The remote PE shall respond to the P bit set to 1 with a
   supervisory response message (i.e., SR-RR, SR-RNR, SR-SREJ) with the
   F bit set to 1 indicating continuation of the busy condition (i.e.,
   SR-RNR message) or clearance of the busy condition (i.e., SR-RR, SR-
   SREJ). Upon receipt of the remote PE response, timer T1 shall be
   stopped. The PE shall process the supervisory response message as
   follows:

      1) if the response is an SR-RR message, the busy condition shall
         be assumed to be cleared and the PE may retransmit messages as
         specified in item k) below. New SR-I messages may be
         transmitted as specified in item b) above;

      2) if the response is an SR-SREJ message, the busy condition shall
         be assumed to be cleared and the PE may retransmit messages as


Roth, et al.           Expires - July 15, 2009               [Page 21]


INTERNET DRAFT             FC Flow Control                January 2009



         specified in item g.2) above. New SR-I messages may be
         transmitted as specified in item b) above; or

      3) if the response is an SR-RNR message, the busy condition shall
         be assumed to still exist and the PE, after a period of time
         (e.g., the duration of timer T1), shall repeat the enquiry of
         the remote PE receive status.

   If timer T1 runs out before a status response is received, the
   enquiry process above shall be repeated. If N2 attempts to get a
   status response fail, the PE MAY declare the PW as down.

   If, at any time during the enquiry process, an unsolicited SR-RR or
   SR-SREJ message is received from the remote PE, it shall be
   considered to be an indication of clearance of the busy condition.
   Should the unsolicited SR-RR message be a command message with the P
   bit set to 1, the appropriate response message with the F bit set to
   1 shall be transmitted (see item l) below) before the PE may resume
   transmission of SR-I messages. The PE shall not clear the outstanding
   poll condition. The PE shall not stop timer T1. If an unsolicited SR-
   SREJ message is received, then the PE shall perform retransmissions
   as specified in item g.1) above.

   i) BBW busy condition

   When the PE enters a busy condition, it shall transmit an SR-RNR
   message at the earliest opportunity. The SR-RNR message shall be a
   command frame with the P bit set to 1 if an acknowledged transfer of
   the busy condition indication is required, otherwise the SR-RNR
   message may be a command or response message. While in the busy
   condition, the PE shall accept and process supervisory messages,
   accept and process the N(R) field of SR-I, SR-RR, and SR-SREJ
   messages with the F bit set to 1, and return an SR-RNR response with
   the F bit set to 1 if it receives a supervisory command or SR-I
   command message with the P bit set to 1. Received SR-I messages may
   be discarded or saved as specified in items c) and e) above, however,
   SR-RR or SR-SREJ messages shall not be transmitted. To clear the busy
   condition, the PE shall transmit an SR-RR message, with the N(R)
   field set to the current receive state variable V(R). The SR-RR
   message shall be a command message with the P bit set to 1 if an
   acknowledged transfer of the busy-to-non-busy transition is required,
   otherwise the SR-RR message may be either a command or response
   message.

   j) Awaiting acknowledgement




Roth, et al.           Expires - July 15, 2009               [Page 22]


INTERNET DRAFT             FC Flow Control                January 2009



   If the timer T1 runs out while waiting for the acknowledgement of an
   SR-I message from the remote PE, the PE shall restart timer T1 and
   transmit an appropriate supervisory command message (i.e., SR-RR, SR-
   RNR) with the P bit set to 1. The PE may transmit new SR-I messages
   after sending this enquiry message.

   If the PE receives an SR-SREJ response message with the F bit set to
   1, the PE shall restart timer T1 and retransmit SR-I messages as
   specified in item g.2) above.

   If the PE receives an SR-SREJ response message with the F bit set to
   0, the PE shall retransmit SR-I messages as specified in item g.2)
   above.

   If the PE receives an SR-RR response message with the F bit set to 1,
   the PE shall restart timer T1 and retransmit SR-I messages as
   specified in item k) below.

   If the PE receives an SR-RR response message with the F bit set to 0,
   or an SR-RR command message or SR-I message with the P bit set to 0
   or 1, the PE shall not restart timer T1, but shall use the received
   N(R) as an indication of acknowledgement of transmitted SR-I messages
   up to and including SR-I message numbered N(R)-1.

   If timer T1 runs out before a supervisory response message with the F
   bit set to 1 is received, the PE shall retransmit an appropriate
   supervisory command message (i.e., SR-RR, SR-RNR) with the P bit set
   to 1. After N2 such attempts, the PE MAY declare the PW as down.

   k) Receiving an SR-RR response messages with the F bit set to 1

   When receiving an SR-RR response message with the F bit set to 1, the
   PE shall process the N(R) field as specified in item f) above. If
   there are outstanding SR-I messages that are unacknowledged and no
   new SR-I messages have been transmitted subsequent to the last
   message with the P bit set to 1, then the PE shall retransmit all
   outstanding SR-I messages except those that were sent after the
   message with the P bit set to 1 was sent. Retransmission shall
   conform to the following:

      1) if the PE is transmitting a supervisory or SR-I message when it
         receives the SR-RR message, it shall complete that transmission
         before commencing transmission of the requested SR-I messages;

      2) if the PE is not transmitting any message when it receives the
         SR-RR message, it shall commence transmission of the requested
         SR-I messages immediately.


Roth, et al.           Expires - July 15, 2009               [Page 23]


INTERNET DRAFT             FC Flow Control                January 2009




   If any messages are retransmitted, then a poll shall be sent, either
   by transmitting an SR-RR command, or SR-RNR command if the PE is in
   the busy condition, with the P bit set to 1 or by setting the P bit
   in the last retransmitted SR-I message.

   The timer T1 shall be stopped. If any SR-I messages are outstanding,
   then timer T1 shall be started.

   l) Responding to command messages with the P bit set to 1

   When receiving an SR-RR, SR-RNR, or-SR_I command message with the P
   bit set to 1, the PE shall generate an appropriate response message
   as follows:

      1) if the PE is in the busy condition, it shall transmit an SR-RNR
         response message with the F bit set to 1;

      2) if there are some out-of-sequence messages in the receive
         buffer, then it shall transmit an SR-SREJ message with the F
         bit set to 1; N(R) shall be set to the receive state variable
         V(R) and the information field set to the sequence numbers of
         all missing SR-I messages, except V(R). If the list of sequence
         numbers is too large to fit in the information field of the
         SR-SREJ message, then the list shall be truncated by including
         only the earliest sequence numbers; or

      3) if there are no out-of-sequence messages in the receive buffer,
         then an SR-RR response message with the F bit set to 1 shall be
         sent.

2.3.5. List of SR system parameters

   a) SR Poll Timeout (Timer T1)

   The same value of the timer T1 shall be made known and agreed to by
   the two PEs.

   The period of timer T1, at the end of which retransmission of a
   message may be initiated (see 6.3.4), shall take into account whether
   T1 is started at the beginning or the end of the transmission of a
   message.

   The proper operation of the procedure requires that the transmitter's
   timer T1 be greater than the maximum time between transmission of a
   message (i.e., SR_I, or supervisory command) and the reception of the
   corresponding message returned as an answer to that message (i.e.,


Roth, et al.           Expires - July 15, 2009               [Page 24]


INTERNET DRAFT             FC Flow Control                January 2009



   acknowledging message). Therefore, the receiver should not delay the
   response or acknowledging message returned to one of the above
   messages by more than a value T2, where T2 is a system parameter (see
   item b) below).

   The PE shall not delay the response or acknowledging message returned
   to one of the above remote PE messages by more than a period T2.

   b) SR Response Timeout (Timer T2)

   The same value of the parameter T2 shall be made known and agreed to
   by the two PEs. The period of parameter T2 shall indicate the amount
   of time available at the PE before the acknowledging message shall be
   initiated in order to ensure its receipt by the remote PE, prior to
   timer T1 running out at the PEs (parameter T2 < timer T1).

   The period of parameter T2 shall take into account the following
   timing factors:

      1) the transmission time of the acknowledging message;

      2) the propagation time over the access link;

      3) the stated processing times at the PEs; and

      4) the time to complete the transmission of the message(s) in the
         PE transmit queue that are neither displaceable nor modifiable
         in an orderly manner.

   Given a value for timer T1 for the PEs, the value of parameter T2
   shall be no larger than T1 minus 2 times the propagation time over
   the access data link, minus the message processing time at the PE,
   minus the message processing time at the remote PE, and minus the
   transmission time of the acknowledging message by the PE.

   c) SR Poll Retries (N2)

   The same value of the N2 system parameter shall be made known and
   agreed to by the two PEs.

   The value of N2 shall indicate the maximum number of attempts made by
   the PE to complete the successful transmission of a message to the
   remote PE.

   d) SR Window Size (k)




Roth, et al.           Expires - July 15, 2009               [Page 25]


INTERNET DRAFT             FC Flow Control                January 2009



   The same value of the k system parameter shall be made known and
   agreed to by the two PEs.

   The value of k shall indicate the maximum number of sequentially
   numbered SR-I messages that the PEs may have outstanding (i.e.,
   unacknowledged) at any given time. The value of k shall never exceed
   32767 for modulo 32768 operation.


3. Timing Consideration

   Correct Fibre Channel information exchange requires that the inherent
   latency between CE1 and CE2 (refer to Figure 1) be:

   a) no more than one-half of the R_T_TOV (Receiver Transmitter Timeout
      Value, default value: 100 milliseconds, defined in [FC-FS]) of the
      attached devices for Primitive Sequences;

   b) no more than one-half of the E_D_TOV (Error Detect Timeout Value,
      default value: 2 seconds, defined in [FC-FS]) of the attached
      devices for frames; and

   c) within the R_A_TOV (Resource Allocation Timeout Value, default
      value: 10 seconds, defined in [FC-FS]) of the attached fabric(s),
      if any.

   Requirement a) above, controlling the latency associated with FC
   Primitive Sequence transport is addressed by [FC-BB], stating that in
   case Primitive Sequences are received from the CE or the remote PE,
   while the device is unable to forward these Primitive Sequence due to
   backpressure indication, it shall flush its respective buffer (PSN-
   facing if the Primitive Sequences were received from the CE, CE-
   facing if they were received from the remote PE), and shall forward
   the Primitive Sequences.

   Another case is when there is no specific backpressure indication,
   rather Primitive Sequences are being delayed due to retransmission of
   dropped frames. In this case also, the PE shall flush its PSN-facing
   buffer and shall forward the Primitive Sequences.

   Requirements b) and c) above apply to the latency associated with
   transporting FC frames, and the system MUST comply with the lower of
   the two timeouts. The mechanism controlling this latency is described
   below for the PE1 --> PE2 direction. A duplicate mechanism MUST be
   used to control the PE2 --> PE1 direction.




Roth, et al.           Expires - July 15, 2009               [Page 26]


INTERNET DRAFT             FC Flow Control                January 2009



   PE2 (the receiver) maintain a timer Td, set to the minimum timeout
   set by requirements b) and c), with a safety margin to allow a
   deviation of the estimated RTT from the actual RTT. PE2 SHOULD set
   Td = 0.8 x (0.5 x MIN(E_D_TOV,R_A_TOV) - 2 x RTT), where RTT is an
   average value calculated as specified in Section 6.1.2, and the
   factor 0.8 provides safety margins for RTT fluctuations. In case the
   calculated Td < 2 x RTT for two consecutive calculation periods, the
   FC PW MUST be shut down (this avoids getting into conditions where Td
   expiration is too frequent).

   To guarantee correct operation of this mechanism FC PW SHOULD NOT be
   used in environments where the RTT may have high variability, i.e.,
   environments where the estimated RTT may not be off by more than 5%
   of MIN(E_D_TOV,R_A_TOV). If the FC PW is used in an environment where
   this limit is exceeded, the safety margins MUST be increased to
   encompass twice the expected maximum variability in the RTT.

   Upon Td expiration PE2 declares WAN Down as defined in [FC-BB], send
   the Not Operational (NOS) Primitive Sequence to CE2, and flush its
   buffers.

   The timer Td is started when either of the following two conditions
   occurs:

   a) SR-RNR is sent by PE2 toward PE1, i.e., PE2 indicates
      backpressure, and stop PE1 from transmitting;

   b) SR-SREJ is sent by PE2 toward PE1, requiring retransmission.

   PE2 notes the sequence number (Nx) of the first frame to be received
   following the timer initiation (for SR_RNR this will be the next
   frame to be transmitted by PE1, i.e., the sequence number of the last
   frame received by PE2 before starting the timer plus 1. For SR_SREJ
   this frame will be the first sequence number in the retransmission
   list).

   The timer continues counting and is initialized in one of two cases:

   a) PE2 receives the frame with sequence number (Nx + k), where k is
      the Selective Retransmission window size;

   b) PE2 identifies idle period (all sent frames were acknowledged, and
      the CE-facing buffer is empty).






Roth, et al.           Expires - July 15, 2009               [Page 27]


INTERNET DRAFT             FC Flow Control                January 2009



4. Applicability Statement

   The methods specified in this document MUST be applied for the
   transport of FC PW over uncontrolled (i.e., providing excess
   information rate for the service) networks, in order to provide
   reliable Fibre Channel transport and TCP-friendly behavior under
   network congestion.


5. Normative References

   [FC-encap]  Roth, M., et al, "Encapsulation Methods for Transport of
               Fibre Channel frames Over MPLS Networks", RFC TBD, to
               appear.
               RFC Editor: Please contact authors to obtain the correct
               RFC number and date for the "to appear" in the above
               reference prior to publication.

   [RFC3985]   Bryant, S., et al, "Pseudo Wire Emulation Edge-to-Edge
               (PWE3) Architecture", RFC 3985, March 2005.

   [RFC3916]   Xiao, X., et al, "Requirements for Pseudo Wire Emulation
               Edge-to-Edge (PWE3)", RFC 3916, September 2004.

   [RFC3448]   Floyd, S., et al, "TCP Friendly Rate Control (TFRC):
               Protocol Specification", draft-ietf-dccp-rfc3448bis-06,
               April 2008.

   [RFC4446]   Martini, L., "IANA Allocations for Pseudowire Edge to
               Edge Emulation (PWE3)", RFC 4447, April 2006.

   [RFC4447]   Martini, L., et al, "Pseudowire Setup and Maintenance
               using the Label Distribution Protocol (LDP)", RFC 4447,
               April 2006.

   [RFC4385]   Bryant, S., et al, "Pseudowire Emulation Edge-to-Edge
               (PWE3) Control Word for use over an MPLS PSN", RFC 4385,
               February 2006.

   [RFC4623]   Malis, A., Townsley, M., "PWE3 Fragmentation and
               Reassembly", RFC 4623, August 2006.

   [FC-BB]     "Fibre Channel Backbone-4" (FC-BB-4), ANSI INCITS
               419:2008, to appear.
               RFC Editor: Please contact authors to obtain the correct
               date for the "to appear" in the above reference prior to
               publication.


Roth, et al.           Expires - July 15, 2009               [Page 28]


INTERNET DRAFT             FC Flow Control                January 2009




   [FC-SW]     "Fibre Channel - Switch Fabric - 4" (FC-SW-4), ANSI
               INCITS 418:2006, April 2006.

   [FC-FS]     "Fibre Channel - Framing and Signaling - 2" (FC-FS-2),
               ANSI INCITS 424:2007, February 2007.

   [BCP14]     Bradner, S., "Key words for use in RFCs to Indicate
               requirement Levels", BCP 14, RFC 2119, March 1997.


6. Informative references

   [RFC3668]   Bradner, S., "Intellectual Property Rights in IETF
               Technology", RFC 3668, February 2004.

   [RFC3821]   M. Rajogopal, E. Rodriguez, "Fibre Channel over TCP/IP
               (FCIP)", RFC 3821, July 2004.

   [RFC2914]   Floyd, S., "Congestion Control Principles", RFC 2914,
               September 2000.

   [RFC2581]   Allman, M., et al, "TCP Congestion Control", RFC 2581,
               April 1999.


7. Author's Addresses

   Moran Roth
   Corrigent Systems
   101, Metro Drive
   San Jose, CA 95110
   Phone: +1-408-392-9292
   Email: moranr@corrigent.com


   Ronen Solomon
   Corrigent Systems
   126, Yigal Alon st.
   Tel Aviv, ISRAEL
   Phone: +972-3-6945316
   Email: ronens@corrigent.com


   Munefumi Tsurusawa
   KDDI R&D Laboratories Inc.
   Ohara 2-1-15, Fujimino-shi,


Roth, et al.           Expires - July 15, 2009               [Page 29]


INTERNET DRAFT             FC Flow Control                January 2009



   Saitama, Japan
   Phone: +81-49-278-7828


8. Contributing Author Information

   David Zelig
   Corrigent Systems
   126, Yigal Alon st.
   Tel Aviv, ISRAEL
   Phone: +972-3-6945273
   Email: davidz@corrigent.com


   Leon Bruckman
   Corrigent Systems
   126, Yigal Alon st.
   Tel Aviv, ISRAEL
   Phone: +972-3-6945694
   Email: leonb@corrigent.com


   Luis Aguirre-Torres
   Corrigent Systems
   101 Metro Drive
   San Jose, CA 95110
   Phone: +1-408-392-9292
   Email: Luis@corrigent.com





















Roth, et al.           Expires - July 15, 2009               [Page 30]