One document matched: draft-ietf-pwe3-fc-flow-00.txt


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] 

PAFTECH AB 2003-20262026-04-22 19:22:57