Network Working Group
Request for Comments: 2124
Category: Informational
P. Amsden
J. Amweg
P. Calato
S. Bensley
G. Lyons
Cabletron Systems Inc.
March 1997

Cabletron's Light-weight Flow Admission Protocol Specification

                              Version 1.0

Status of this Memo

This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.

Abstract

Light-weight Flow Admission Protocol, LFAP, allows an external Flow
Admission Service (FAS) to manage flow admission at the switch,
allowing flexible Flow Admission Services to be deployed by a vendor
or customer without changes to, or undue burden on, the switch.

Specifically, this document specifies the protocol between the switch
Connection Control Entity (CCE) and the external FAS. Using LFAP, a
Flow Admission Service can: allow or disallow flows, define the
parameters under which a given flow is to operate (operating policy)
or, redirect the flow to an alternate destination. The FAS may also
maintain details of current or historical flows for billing, capacity
planning and other purposes.

Table of Contents

1.  Introduction ..................................................    2
2.  Message Flows .................................................    3
3.  Message Contents and Format ...................................    4
     3.1.  IE Formats .............................................    5
     3.2.  Flow Admission Request (FAR) Message ...................   14
     3.3.  Flow Admission Acknowledge (FAA) Message ...............   15
     3.4.  Flow Admission Update (FAU) Message ....................   15
     3.5  Flow Update Notification (FUN) Message ..................   16
     3.6.  Flow Update Acknowledge (FUA) Message ..................   16
     3.7.  Flow Change Request (FCR) Message ......................   17
     3.8.  Flow Change Acknowledge (FCA) Message ..................   17
     3.9.  Administrative Request (AR) Message ....................   18
     3.10.  Administrative Request Acknowledge (ARA) Message ......   18
4.  Error Handling ................................................   18

     4.1.  FAA Related Error Handling .............................   19
     4.2.  FUA Related Error Handling .............................   19
     4.3.  FCA Related Error Handling .............................   19
     4.4.  ARA Related Error Handling .............................   20
5.  Security Considerations .......................................   20
6.  Author's Addresses ............................................   20
7.  References ....................................................   21

1. Introduction

Light-weight Flow Admission Protocol, LFAP, allows an external Flow
Admission Service (FAS) to manage flow admission at the switch,
allowing flexible Flow Admission Services to be deployed by a vendor
or customer without changes to, or undue burden on, the switch. It
provides a means for network managers, or management systems, to
establish connection admission parameters for multiple switches in a
single management domain by configuring policy information and other
data via a single centralized connection admission control point.

Specifically, this document specifies the protocol between the switch
Connection Control Entity (CCE) and the external FAS. Using LFAP, a
Flow Admission Service can: allow or disallow flows, define the
parameters under which a given flow is to operate (operating policy)
or, redirect the flow to an alternate destination. The FAS may also
maintain details of current or historical flows for billing, capacity
planning and other purposes.

A significant advantage of this protocol is that it relieves switch
vendors from the complexity of policy enforcement under any number of
policy representation schemes. Similarly, switch configuration
managers do not need to translate organization-determined policy or
usage procedures, limitations and guidelines into an arbitrarily
large set of vendor-specific representations. Finally, use of such a
scheme makes possible plug-and-play connection management at the
present time - in the absence of a standardized representation for
connection policies.

This document describes the message flow between switch CCE and FAS,
the messages used and error handling that applies. This constitutes
the LFAP interface definition.

2. Message Flows

Initiating message flows between CCE and FAS entities always
originate at the switch. Therefore, the switch is the point at which
connectivity is originated. The CCE must have IP reachability using
some approach described elsewhere (e.g. [1577] or [LANE]) and an IP
address for the FAS must be preconfigured at the switch CCE. The CCE
establishes TCP connectivity using the registered port number - ###.

As shown below, Flow Admission Request (FAR) messages are sent by a
switch's Call Control Entity (CCE) to the Flow Admission Service
(FAS). These messages are sent when a flow is about to be set up by
the switch and contain specific information relating to the flow -
such as flow identifier, source/destination and qualifying
information about the flow - that may be required to determine the
admissibility of the flow and any operating policies that apply to
the flow if it is admitted.

The FAS responds with a Flow Admission Acknowledge (FAA) message (to
the CCE) with a status indicating connection admissibility and any
operating policy information that applies to the flow. If a FAA
message contains mandatory operating policies that the switch CCE
does not understand, the switch would abort the flow using the Flow
Admission Update (FAU) message.

    ,--------------------.            ,--------------------.
    |        FAS         |            |       Switch       |
    |                    |            |        CCE         |
    `--+----+----+-------'            `------+-----+----+--'
     ^ | ^  ^ |  ^ |  ^ ^              ^ ^  ^ |  ^ |  | ^ |
     | | |  | |  | |  | |     AR       | |  | |  | |  | | |
     | | |  | |  | |  | '--------------' |  | |  | |  | | |
     | | |  | |  | |  |       ARA        |  | |  | |  | | |
     | | |  | |  | |  '------------------'  | |  | |  | | |
     | | |  | |  | |          FUA           | |  | |  | | |
     | | |  | |  | `------------------------' |  | |  | | |
     | | |  | |  |            FUN             |  | |  | | |
     | | |  | |  `----------------------------'  | |  | | |
     | | |  | |               FCR                | |  | | |
     | | |  | `----------------------------------' |  | | |
     | | |  |                 FCA                  |  | | |
     | | |  `--------------------------------------'  | | |
     | | |                    FAU                     | | |
     | | '--------------------------------------------' | |
     | |                      FAA                       | |
     | `------------------------------------------------' |
     |                        FAR                         |
     `----------------------------------------------------'

When a connection is established, periodically during the course of
maintaining the connection and when a change in connection state
occurs, the switch CCE sends a Flow Update Notification (FUN) message
to the FAS. The FAS, in turn, responds with a Flow Update
Acknowledge (FUA) message with a Flow failure code if a an error
condition has been detected. An example of error conditions would be
receipt of a FUN message indicating octets received and sent for a
connection never admitted.

The FAS may send a Flow Change Request (FCR) to the CCE either to
effect a change in the state of a specific connection or to set any
new/changed policy information that applies to the flow.

   The CCE replies with a Flow Change Acknowledge (FCA) message and may
   respond  with a flow failure code indicating the offending flow or
   policy change.

Either the CCE or the FAS may initiate a Administrative Request (AR).
The CCE uses it to get a Flow Identifier Prefix. The FAS uses it to
request FUN messages be returned on some set of flows.

The requested entity (FAS or CCE) replies with a Administrative
Request Acknowledge. The FAS uses the ARA to return the requested
Flow Prefix. The CCE uses the ARA to return any Flow Identifiers that
were in error on the AR.

3. Message Contents and Format

   LFAP defines nine messages: "Flow Admission Request", "Flow Admission
   Acknowledge", "Flow Admission Update", "Flow Update Notification",
   "Flow Update Acknowledge", "Flow Change Request", "Flow Change
   Acknowledge", "Administrative Request" and "Administrative Request
   Acknowledge" (FAR, FAA, FAU, FUN, FUA, FCR, FCA, AR, ARA
   respectively).

FAR messages are sent by a switch call control entity (CCE) to the
Flow Admission Service (FAS). FAA messages are responses from the FAS
to the CCE. FUA messages are responses from the CCE only under error
conditions. FUN messages originate at switches and are acknowledged
by FUA messages from the FAS. FCR messages are sent by the FAS to the
CCE and are acknowledged by FCA messages. AR messages are sent by
either the Entity (FAS or CCE) and are acknowledged by the ARA
messages.

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Version    |    Op Code    |   Reserved    |    Status     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Message ID           |         Message Length        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                 Information Element (IE) Fields               ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The general message format for all LFAP messages is as shown above.
Version is 1 and Op Codes are as follows:

             FAR - 1
             FAA - 2
             FAU - 3
             FUN - 4
             FUA - 5
             FCR - 6
             FCA - 7
             AR  - 8
             ARA - 9

The Status field serves as a Status on the overall message. The
values that Status may assume are:

STATUS:

             SUCCESS   = 0
             CORRUPTED = 1
             VERSION   = 2

Message ID is used to associate each original message with its
corresponding response and must be unique for the combination of
sender and responder while an original message is pending. The
Message Length excludes the 8 octets of the message header.

3.1. IE Formats

IE fields consist of 2-octet TYPE, 2-octet LENGTH and a variable
length VALUE sub-fields. All IEs are even multiples of 4 octets in
length, left-aligned and zero filled if necessary. Length is computed
excluding the 4 octet TYPE and LENGTH fields.

Individual IEs are formated as described in following sections.

Byte Count IE

Contains the count of octets sent and received associated with the
identified connection. IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         TYPE = 1 or 2         |          LENGTH = 16          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +-+-+-+-+-                Bytes Received               -+-+-+-+-+
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +-+-+-+-+-                  Bytes Sent                 -+-+-+-+-+
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   
   Type 1 Means that the byte count is a running counter and is the
          count from the beginning of the flow establishment.
   Type 2 Means that the byte count is a delta counter and is the
          count since the last FUN message.

Packet Count IE

Contains the count of packets cells or frames sent and received
associated with the identified connection. IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         TYPE = 3 or 4         |          LENGTH = 16          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +-+-+-+-+-        Packets/Cells/Frames Received        -+-+-+-+-+
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +-+-+-+-+-          Packets/Cells/Frames Sent          -+-+-+-+-+
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   
   Type 3 Means that the packet/cell/frame count is a running counter
          and is the count from the beginning of the flow establishment.
   Type 4 Means that the packet/cell/frame count is a delta counter
          and is the count since the last FUN message.

Client Data IE

For use in determination of admission policy relative to a specific
connection request based on arbitrary client data (OCTET STRING
[8824]). IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 5            |            LENGTH             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                           Client Data                         ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Destination Address IE

Destination address associated with a message. IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 6            |             LENGTH            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Address Family Number     |         Address Length        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                             Address                           ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The Address Length field contains the length of the address excluding
any pad of zeros used to align the address field.

Address Family Numbers include:

          1 - 14 (decimal) as specified in [1700]
          15               E.164 with NSAP format subaddress

Flow ID IE

In order to accumulate the flow accounting statistics across multiple
FAS's in case of a FAS failure a globally unique flow identifier
needs to be formed. To accomplish this the FAS assigns a prefix if
requested by the CCE. The CCE then assigns a CCE flow identifier
that it guaranties to be unique for the use of the FAS flow
identifier prefix for each flow admitted. If the CCE needs to reuse
a CCE flow ID it must acquire a new FAS prefix. If a CCE cannot
support the FAS flow identifier then it does not request a FAS prefix
and uses a FAS length of 0 in all updates to the flow. If the CCE
does not support the FAS identifier prefix then when a CCE fails over
all calls will need to be readmitted and will be seen as two separate
calls at the accumulation point. Flow ID IE is copied exactly in all
messages that refer to this flow. IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 7            |FAS Length = 8 |CCE Length = 4 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |+-+-+-+-+-   FAS assigned Flow Identifier Prefix      -+-+-+-+-+
   |                                                               |
   +-+-+-+-+-+-+-+-+                              +-+-+-+--+-+-+-+-+
   |                 CCE assigned Flow Identifier                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Flow State IE

Flow state is the intended end state for the Flow associated with the
message containing this IE. IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 8            |          LENGTH = 4           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Flow State                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Flow state has one of the following values and meanings:

          0 - INACTIVE    - Flow is inactive
          1 - ACTIVE      - Flow is active

Policy IE's

There are two basic types of Policy IE's Optional and Mandatory. In
the case of optional operating policy if the combination of policy
and value given cannot be interpreted by a switch CCE it may be
safely ignored. In the case of mandatory operating policy if the
combination of policy and value given cannot be interpreted by a
switch CCE it must abort the flow state. Examples of optional
operating policies are Checkpoint Timer and Connection Priority.

There are also two forms of the policy ID. The first is where the
policy ID is a number and the second is where the policy ID is an
Object Identifier. The policy ID's with number values are identified
in this document and its proposed changes over time. The Object
Identifier IDs can be used by individual implementers to apply
proprietary or experimental additions to this document and still be
compliant with the general form of this document.

Operating Policy IEs are comprised of Policy ID, a length and a
value. In the case of the policies defined in this document a length
is required and specified here. In the case of policies using the OID
format the length may be implied by the OID or be part of the policy
value as determined by individual implementation.

Policy IE format for Policy ID's defined in this document

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 9 + 10       |             LENGTH            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Policy ID           |    Policy Value length        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |                                                               |
   ~                          Policy Value                         ~
   |                                                               |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                   Additional Policy Pairs                     ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type 9 is an Optional Policy and type 10 is a Mandatory Policy.

The following policy ID's and policy values are presently defined or
under consideration.

  Policy               ID         Value    Meaning
  
  Usage               01xx                 The purpose of this set of
                                           policies is for usage
                                           constraints. This set of
                                           policies in the future may
                                           include Connection Count,
                                           Maximum Bandwidth and Connect
                                           Time.
  
  Routing             02xx                 The purpose of these polices
                                           is to allow for various
                                           routing policies to be
                                           enforced in the a switching
                                           environment. This set of
                                           policies may include
                                           Optimization, Designated
                                           Transit List, Restricted
                                           Transit List and Path Cost.
  
   Administrative      03xx
     Keep Statistics  0301       = 0       Keep statistics on this flow
                                 Not= 0    Do Not keep statistics on flow
     Connection       0302       1 - 255   Priority of this connection
         Priority                          Less is higher
     Checkpoint       0303       1 - 2^31  Seconds between FUN on a flow
         Timer
     Checkpoint
         Threshold    0304       1 - 2^63  # of bytes to collect before
                                           sending a FUN on a flow
  
  Connectionless      04xx                 The purpose of these policies
                                           is to control connection
                                           unaware calls. This set will
                                           include Inactivity Timer and
                                           Bandwidth allocation.

Policy IE format when Policy ID is a Object Identifier

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         TYPE = 11 + 12        |             LENGTH            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                           Policy OID                          ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                            Policy                             ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                   Additional Policy Pairs                     ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type 11 is an optional policy and type 12 is a mandatory policy.

Service Identifier IE

Used in determination of admission policy relative to a specific
connection request based on service type. Service Identifier is
specified as an OCTET STRING [8824].

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 13           |             LENGTH            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Service Identifier                       ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Source Address IE

Source address associated with a message. TYPE is 14, format is as
shown for Destination Address IE.

Source Switch Address IE

Source Switch address associated with a message. TYPE is 15, format
is as shown for Destination Address IE.

Destination Switch Address IE

Destination Switch address associated with a message. TYPE is 16,
format is as shown for Destination Address IE.

Time IE

The time (as a SNMPv2 TimeStamp [1443]) associated with the
status/statistics observed. TYPE is 17 and format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 17           |          LENGTH = 4           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              Time                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Multiple Record IE

The Multiple Record IE is composed of 4 parts. The record
descriptor, fixed information, record format IEs and individual
records. The record descriptor consist of two fields the first field
is the length of the fixed information field. The second is the
length of the Record format section. The fixed information is the
IE's that apply to all the records that follow. The Record Format is
the list of IE's that make up each record. The individual record
section contains the individual records that are being reported in
the format given by the Record Format section.

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 18           |          LENGTH               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Length of fixed Information  |   Length of Record Format     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                     Fixed Information                         ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                       Record Format                           ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                    Individual Record (1)                      |
   |                    Individual Record (2)                      |
   |                    Individual Record (3)                      |
   |                             .                                 |
   ~                             .                                 ~
   |                             .                                 |
   |                    Individual Record (n)                      |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Flow Failure Code IE

Flow failure code is the reason why a operation an a given flow
failed. IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 19           |          LENGTH = 4           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Flow Failure Code                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Flow failure code has one of the following values and meanings:

     0 - POLICY_REJECT        - A policy reject has occurred
     1 - NO_SUCH_FLOW         - The specified was flow was not found
     2 - AMBIGUOUS            - Duplicate FAR caused this error
     3 - DESTINATION_UNKNOWN  - The redirect destination was unknown

Command Code IE

Command Code is a administrative request command to perform a
particular function. IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 20           |          LENGTH = 4           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Command  Code                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Command code has one of the following values and meanings:

     0 - RETURN_INDICATED_FLOWS    - Return FUNs indicated
     1 - RETURN_ALL_CHANGED_FLOWS  - Return FUNs indicated
     2 - RETURN_ALL_FLOWS          - Return FUNs indicated
     3 - RETURN_FLOW_PREFIX        - Return a new flow prefix

Flow Identifier Prefix IE

The flow Identifier prefix IE gives the prefix that the FAS has
created to maintain a globally unique ID. IE format is:

    0                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           TYPE = 21           |          Length = 8           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |+-+-+-+-+-   FAS assigned Flow Identifier Prefix      -+-+-+-+-+
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.2. Flow Admission Request (FAR) Message

Status is set to SUCCESS in FAR messages. In addition, FAR messages
may contain the following IEs:

      Source Switch Address IE  - address of switch making request
      Dest Switch Address IE    - address of switch to which the
                                  request is made
      Source Address IE         - flow "from" address
      Destination Address IE    - flow "to" address
      Service Identifier IE     - identifier for service requested
      Flow ID IE                - locally unique identifier for flow
                                  (unique to update reporting entity)
      Client Data IE            - client data as applied to this request
      Time IE                   - switch time of admission request

Mandatory IE's

Source Address
Destination Address
Flow ID
Time

Optional IE's

Source Switch Address
Destination Switch Address
Client Data

FAR messages are sent by a switch CCE when it seeks verification of
validity of a flow that is about to be established. FAR messages
refer to a single flow only and do not multi IE functionality. Source
and destination addresses are those determined by the switch CCE as
the points of origin and termination of a flow. Service ID is the
service type/category associated with the desired flow. The client
data is arbitrary information about the client associated with the
desired flow.

3.3. Flow Admission Acknowledge (FAA) Message

Status reflects the result of the corresponding FAR message (see
Error Handling for details). Message ID is copied from the FAR
message. In addition, FAA messages may have the following IEs:

      Optional Operating Policy IE  - policy(s) that may apply to
                                      this flow.
      Mandatory Operating Policy IE - policy(s) that must apply to
                                      this flow.
      
      Destination Address IE        - may be included if the flow
                                      should be redirected.
      Flow Failure Code IE          - indicates the cause of flow
                                      failure

FAA messages are sent by a FAS in response to FAR messages received
from a switch CCE. Operating policy information is that determined by
the FAS as either desirable or required for the flow specified in the
corresponding FAR message.

3.4. Flow Admission Update (FAU) Message

Status reflects the result of the corresponding FAA message (see
Error Handling for details). Message ID is copied from the FAR or
FAA message. In addition, FAU messages may have the following IEs:

      Flow ID IE           - identifier for the flow
      Flow Failure Code IE - indicates the cause of flow failure

FUA messages are sent by a switch CCE in response to FAA messages
received from a FAS. The FAU message is returned by the switch CCE
only if an a error was detected as a result of the FAA message.

3.5. Flow Update Notification (FUN) Message

Status is set to SUCCESS in FUN messages. In addition, FUN messages
may contain the following IEs:

      Time IE         - switch time of notification
      Flow ID IE      - identifier for the flow
      Flow State IE   - state of the flow at time of notification
      Byte Count IE   - octets sent and received for this flow
      Packet Count IE - packets sent and received for this flow

Mandatory IE's

Time - If multiple IE, only needs to be given once in fixed

information section. If given in record format must be
in each individual record.

Optional IE's at least one must be present

Flow State
Byte Count
Packet Count

FUN messages are sent periodically (possibly as specified in an
operating policy associated with the flow) by an CCE to the FAS. The
Time IE may be given first and only once. If it is only a single flow
being reported on then just the IE's and their values are returned.
If multiple flows are to be reported on then the multiple record IE
should be used. This results in reduced overhead on transmissions.
FUN messages may are also be sent as a result of a AR message or a
FCR message. The FCR message would be one that request that the flow
state be set to inactive.

The flow ID identifies the flow to which this update applies. Flow
state is the state of the flow at the time this message is sent.
Counts are as specified in the IE definitions. The FAS's are
coordinated and will resolve the reception of FUN information from a
CCE who has lost connection with its FAS and has gone to a
alternative FAS.

3.6. Flow Update Acknowledge (FUA) Message

Status is set to SUCCESS in FUA messages unless an error is detected
(see "Error Handling"). Message ID is copied from the FUN message.

FUA messages are sent by the FAS to acknowledge a FUN message from
the switch CCE. If a FUN message contained a multiple record IE and
any of the updates had a error then the FUA would contain a multiple
IE with a Flow ID and Flow Failure Code. A status of SUCCESS
indicates that the information in the corresponding FUN message has
been accepted and is now the responsibility of the FAS.

3.7. Flow Change Request (FCR) Message

Status is set to SUCCESS in FCR messages. In addition, a FCR message
may contain the following IEs:

      Flow ID IE                    - identifier for the flow.
      Flow State IE                 - set to inactive to stop a flow.
      Optional Operating Policy IE  - possibly new policy(s) that may
                                      apply to this flow.
      Mandatory Operating Policy IE - possibly new policy(s) that must
                                      apply to this flow.

Mandatory IE's

      Flow ID

Optional IE's

Flow State
Optional Operating Policy
Mandatory Operating Policy

FCR messages are sent by the FAS to the CCE to provide additional (or
change existing) operating policy information or to stop a flow.
Flow ID is used to identify the flow to which this message applies.
The FAS can stop a flow by setting it's flow state to inactive. This
will cause the CCE to generate a FUN message with the final flow
statistics. It will also cause the CCE to return a inactive flow
state on the given flow. If the FAS wishes to change operating
policy information it merely includes the new information in the FCR
message along with the flow id.

3.8. Flow Change Acknowledge (FCA) Message

Status is set to SUCCESS in FCA messages unless an error is detected
(see "Error Handling"). Message ID is copied from the FCR message.
FCA messages contain IEs if a error was detected in the corresponding
FCR message (see "Error Handling").

If an error occurs then a FCR may contain the following IE's

      Flow ID IE        - if FAS requested statistics on an
                          unknown flow.

Flow Failure Code - for the Flow ID IE above.

FCA messages are sent by a switch CCE in response to an FCR.

3.9. Administrative Request (AR) Message

Status is set to SUCCESS in AR messages. In addition, AR messages may
contain the Command IEs:

Mandatory IE's

      Command IE

AR messages are sent by either the a switch CCE or the FAS when they
seeks to perform one of the Command IE's.

3.10. Administrative Request Acknowledge (ARA) Message

Status reflects the result of the corresponding AR message (see Error
Handling for details). Message ID is copied from the AR message. In
addition, ARA messages may have the following IEs:

      Flow ID IE                 - if FAS requested statistics on an
                                   unknown flow.
      Flow Failure Code          - for the Flow ID IE above.
      Flow Identifier Prefix IE  - if the ARA is the response to a CCE
                                   Command to RETURN_FLOW_PREFIX.

ARA messages are sent by a FAS or CCE in response to AR message
received CCE or FAS respectively.

4. Error Handling

Incompatible version - Receipt of any LFAP request or notification
message, with a version number other than that (or those) supported
by the receiving component will result in a response (acknowledge)
message with a Status of VERSION. The resulting message will contain
no IEs and, as a result, may be considered a generic FAILURE message.

Corrupted message contents - Receipt of a LFAP message which cannot
be understood will result in a similar generic FAILURE message with
Status set to CORRUPTED. A FAA message may contain a Flow ID IE only
if this IE is included in the portion of the corrupt LFAP message
that is before the point where corruption occurs. The LFAP sender
should re-send the original message at least one time if it is still
desired to admit the requested connection.

With the exception of incompatible version and corrupted message
contents, error handling is naturally related to the processing of
response messages by both response sender and receiver. Below
sections are thus organized around processing of FAA, FUA, FCA and
ARA messages.

4.1. FAA Related Error Handling

Non-unique Flow ID - Receipt of a FAR message with a non-unique Flow
ID may occur for two reasons: the CCE may have re-sent a FAR message
and an error may have occurred in the ID generation function. If the
entire message is the same in every respect, with the possible
exception of Message ID, as a FAR message received previously, the
FAS will respond in the same way as it would have responded to that
prior message. Otherwise, the Flow ID will be returned with a Flow
Failure Code set to AMBIGUOUS. The CCE should choose a new Flow ID
and retry the FAR message if it is still desired to admit the
requested connection.

Flow is inadmissible - The FAS may determine that flow is not
admissible for policy reasons. In this case the Flow ID is returned
along with the Flow Failure Code of POLICY_REJECT.

4.2. FUA Related Error Handling

Flow Not Admitted - Receipt of Flow information for an unadmitted
connection. Flow ID IE identifies a flow which was not admitted or
for which admission status has been lost. The FAS will return the
Flow ID and a Flow Failure Code of NO_SUCH_FLOW. The switch CCE
should send an appropriate FAR message. The FAS may track occurrences
of this error and send a FCR message to the CCE requesting dropping
of the reported connection.

4.3. FCA Related Error Handling

Flow change requested for a non-existent flow - The Flow ID IE
identifies a connection for which this CCE has no state information.
The FCA message has the Flow ID and a Flow Failure Code set to
NO_SUCH_FLOW and contains the Flow ID and copied from the
corresponding FCR message.

Policy changes requested were not supported by the CCE. The FCA
message has the Flow ID and a Flow Failure Code set to POLICY_REJECT
and contains the Flow ID copied from the corresponding FCR message.

4.4. ARA Related Error Handling

Flow statistics requested for a non-existent flow - The Flow ID IE
identified a connection for which this CCE has no state information.
The ARA message has the Flow ID and a Flow Failure Code set to
NO_SUCH_FLOW and contains the Flow ID copied from the corresponding
FCR message. If there were multiple flows that were non-existent
then the multi ie format could have the Flow Failure Code in the
fixed information section and the individual Flow ID's in the record
section.

5. Security Considerations

Security issues are not discussed in this memo.

6. Author's Addresses

    Paul Amsden
    Phone:  +1 (603) 337-7408
    EMail:  amsden@ctron.com
    
    Jim Amweg
    Phone:  +1 (603) 337-5247
    EMail:  amsden@ctron.com
    
    Paul Calato
    Phone:  +1 (603) 337-7625
    EMail:  amsden@ctron.com
    
    Stephen Bensley
    Phone:  +1 (603) 337-7061
    EMail:  amsden@ctron.com
    
    Gregory Lyons
    Phone:  +1 (603) 337-5318
    EMail:  amsden@ctron.com

Cabletron Systems, Inc. is located at:

    P.O. Box 5005
    Rochester, NH, 03866-5005
    USA

7. References

   [363]   "B-ISDN ATM Adaptation Layer (AAL) Specification,"
           International Telecommunication Union, ITU-T Recommendation
           I.363, Mar. 1993.
   
   [1443]  "Textual Conventions for version 2 of the Simple Network
           Management Protocol (SNMPv2)", RFC 1443, April 1993.
   
   [1700]  Reynolds, J., and J. Postel, "Assigned Numbers", STD 2,
           RFC 1700, October 1994.
   
   [8824]  Information technology - Open Systems Interconnection -
           "Specification of Abstract Syntax Notation One (ASN.1),
           Second edition", ISO/IEC TR 8824: 1990 (E) 1990-12-15.
   
   [9577]  "Telecommunications and Information Exchange Between Systems
           - Protocol Identification in the Network Layer", ISO/IEC TR
           9577: 1990 (E) 1990-10-15.
   
   [LANE]  "LAN Emulation Over ATM Specification - Version 1.0", ATM
           Forum af-lane-021.000, January, 1995.