INTERNET-DRAFT                                                S. Akkala
<draft-ietf-ips-fcip-mib-00.txt>                           R. Natarajan
Expires January 2002                           Lightsand Communications

                                                      Anil Rijhsinghani
                                                     McDATA Corporation

                                                              July 2001


                Definition of Managed Objects for FCIP


1. Status of this Memo:

   This document is an Internet-Draft and is in full conformance with all
   provisions of Section 10 of RFC2026.

   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.

1.1.  Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

2. Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in TCP/IP based internets.
   In particular it defines objects for managing a FCIP device, as
   defined in [FCIP]. This MIB is defined such that it can be viewed as
   an extension to the existing FC Management Framework Integration MIB,
   as specified in [FCMGMT].

3. The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

    o   An overall architecture, described in RFC 2571 [RFC2571].

    o   Mechanisms for describing and naming objects and events for the
        purpose of management.  The first version of this Structure of
        Management Information (SMI) is called SMIv1 and described in
        STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
        1215 [RFC1215].  The second version, called SMIv2, is described
        in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and
        STD 58, RFC 2580 [RFC2580].

    o   Message protocols for transferring management information.  The
        first version of the SNMP message protocol is called SNMPv1 and
        described in STD 15, RFC 1157 [RFC1157].  A second version of
        the SNMP message protocol, which is not an Internet standards
        track protocol, is called SNMPv2c and described in RFC 1901
        [RFC1901] and RFC 1906 [RFC1906].  The third version of the
        message protocol is called SNMPv3 and described in RFC 1906
        [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].

    o   Protocol operations for accessing management information.  The
        first set of protocol operations and associated PDU formats is
        described in STD 15, RFC 1157 [RFC1157].  A second set of
        protocol operations and associated PDU formats is described in
        RFC 1905 [RFC1905].

    o   A set of fundamental applications described in RFC 2573
        [RFC2573] and the view-based access control mechanism described
        in RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2.  A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations.  The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (use of Counter64).  Some machine readable
   information in SMIv2 will be converted into textual descriptions in
   SMIv1 during the translation process.  However, this loss of machine
   readable information is not considered to change the semantics of the
   MIB.

4. Overview of FCIP Device Based Interconnection Model

   Note that the FCIP Device is fully described in [FCIP] from a functional
   point of view; whereas this section describes the FCIP Device from
   management point of view.

   Editors Note: This section to be updated as a result of the updated
   FCIP Entity model in [FCIP].

   The FCIP device is modeled as a "gateway" FC Connectivity Unit, since the
   FCIP device acts as a gateway connection unit to bridge the FC onto the
   IP technology.

   The FCIP devices provides IP-based interconnection model to interconnect
   the FC fabric elements. In this model, the FCIP-devices, along with
   their IP-network, provides a new FCIP transport network. The FC fabric
   elements (FC-FEs) will support the Logical FC Links in their overlay
   network that resides on this FCIP transport network.

   This IP-based FCIP Interconnection Model supports the following
   topology:
   o The FCIP-based transport network is formed by
     interconnecting the FCIP-devices.
   o The peer FCIP-devices are interconnected by the Virtual-Links.
     - An FCIP-device establishes Virtual-Links with its
       peer FCIP devices.
     - There will be only one Virtual-Link between two
       peer FCIP devices.
   o A single Virtual-Link consists of multiple sets of TCP
     connections (known as the TCP Links in this document).
     - There could be one of set of TCP links for
       transmitting FC frames.
     - There could be another set of TCP links for
       transmitting control and priority messages.
   o An FCIP-device may have one or more FCIP-endpoints (known
     as the FCIP-ports in this document) facing the IP network.
     - One FCIP-port can be used to form one or more
       Virtual-Links.
   o An FCIP-device may have one or more B-ports or E-Ports
     facing the FC fabric side.
     - These ports might connect one or more FC-FEs to the
       FCIP-device.
     - If the B-port is used to connect the neighboring
       FC-FE and FCIP_device, it establishes a bridge-
       links between the FC-FE and FCIP-device.
   o The FCIP-device can work as a stand-alone box or as part
     of a FC fabric element.

   The MIB specified in this document supports the above FCIP-devices,
   FCIP-based transport network, and FC overlay network under the existing
   overall FC management framework [FCMGMT] by extending/augmenting the
   framework MIB [FCMGMT].

   Note that a Virtual Inter-Switch Link, as per [1], is a Logical FC Link
   between two E-ports. The association between the Virtual Inter-Switch
   Link (Virtual-Link) and the related Virtual-Links and Bridge-Links is as
   follows:
   o One Virtual Inter-Switch Link spans one Virtual-Link if both the
     FCIP-devices, through which this Virtual-Link passes through,
     operate in E-port mode.
   o One Virtual Inter-Switch Link spans one Virtual-Link and two
     Bridge-Links if both the FCIP-devices, through which this Virtual-
     Link passes through, operate in B-port mode.
   o One Virtual Inter-Switch Link spans one Virtual-Link and one
     Bridge-Link if one FCIP-device operates in B-port mode and the
     other FCIP-Device operates in E-port mode.

5.   MIB Definitions

FCIP-MGMT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE,
    MODULE-IDENTITY,
    Integer32,
    Unsigned32,
    Counter32,
    IpAddress,
    mib-2               FROM SNMPv2-SMI
    TEXTUAL-CONVENTION  FROM SNMPv2-TC
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP  FROM SNMPv2-CONF
    fcConnUnitId,
    fcConnUnitLinkIndex,
    fcConnUnitPortIndex,
    fcConnUnitPortTable  FROM FIBRE-CHANNEL-MGMT-MIB;  --<draft-ietf-ipfc-fcmgmt-int-mib-06.txt>

fcipMgmtMIB MODULE-IDENTITY
    LAST-UPDATED "200104200000Z"
    ORGANIZATION "IETF IPFC Working Group"
    CONTACT-INFO "S. Akkala
                  LightSand Communication
                  375 Los Coches Street
                  Milpitas, CA 95035
                  U.S.A
                  Tel: +1 408 404 3150
                  Fax: +1 408 941 2166
                  Email: sudara@lightsand.com"
    DESCRIPTION "The FCIP management MIB module."
    ::= { mib-2 8889 } -- TO BE ASSIGNED by IANA

fcipMgmtObjects       OBJECT IDENTIFIER ::= { fcipMgmtMIB 1 }
fcipMgmtConformance   OBJECT IDENTIFIER ::= { fcipMgmtMIB 2 }

fcipMgmtConfig        OBJECT IDENTIFIER ::= { fcipMgmtObjects 1 }

fcipMgmtCompliances   OBJECT IDENTIFIER ::= { fcipMgmtConformance 1 }
fcipMgmtGroups        OBJECT IDENTIFIER ::= { fcipMgmtConformance 2 }

--
-- The FCIP group
--
-- This group defines the global scalar objects applicable to FCIP
-- devices only
--

fcFcipMode OBJECT-TYPE
    SYNTAX  INTEGER {
                e-port-mode(1),
                b-port-mode(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the mode in which the FCIP-device operates"
    ::= { fcipMgmtConfig 1 }

fcFcipDynIpConfType     OBJECT-TYPE
    SYNTAX INTEGER {
                not-applied (1),
                ldap            (2),
                dhcp            (3),
                isns            (4),
                lsp             (5),
                other           (6)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the type of IP discovery protocol used for dynamic
        IP address discovery.
        If the value is not-applied, the IP discovery is not performed.
        I.e., the IP discovery is enabled by setting to different value."
    ::= { fcipMgmtConfig 2 }

--
-- fcConnUnitLinkTable extensions
--

-- The fcConnUnitFcipLinkTable augments the fcConnUnitLinkTable
-- by adding additional objects and additional semantics to
-- support the FCIP-devices
--

fcConnUnitFcipLinkTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcConnUnitFcipLinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table augments the fcConnUnitLinkTable in [FCMGMT] to
        support additional link types. This table extends the
        fcConnUnitLinkTable to include new columns (i.e., objects)"
    ::= { fcipMgmtConfig 3 }

fcConnUnitFcipLinkEntry OBJECT-TYPE
    SYNTAX FcConnUnitFcipLinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry describing additional information on a particular link."
    --AUGMENTS { fcConnUnitLinkTable }
    INDEX { fcConnUnitId, fcConnUnitLinkIndex }
    ::= { fcConnUnitFcipLinkTable 1 }

FcConnUnitFcipLinkEntry ::=
    SEQUENCE {
              fcConnUnitFcipLinkType            INTEGER
            }

fcConnUnitFcipLinkType        OBJECT-TYPE
    SYNTAX INTEGER {
                is-link (1),
                virtual-Link    (2),
                bridge-link (3),
                others (4)
                }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the type of link.
        The is-link indicates the Inter-switch-link, which is formed
between BBWs and it is supported by a FC switch.
The Virtual-Link indicates the virtual-link, which is
formed between two peer-FCIP devices over the IP network.
The bridge-link indicates the link, which is formed between an FC
switch and an FCIP device. This link is valid only if the FCIP
device is implemented as a stand-alone box"
    ::= { fcConnUnitFcipLinkEntry 1 }


--
-- fcConnUnitVLinkTable
--

-- The fcConnUnitVLinkTable defines additional link information for the
-- Virtual-Links. The fcConnUnitVLinkTable link table contains Virtual
-- Links information. A Virtual link will have an entry in this table
-- only if the link is of type Virtual-Link (i.e., fcConnUnitFcipLinkType
-- Virtual-Link in fcConnUnitFcipLinkTable).
--

fcConnUnitVLinkTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcConnUnitVLinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table contains Virtual-Link specific information."
    ::= { fcipMgmtConfig 4 }

fcConnUnitVLinkEntry OBJECT-TYPE
    SYNTAX FcConnUnitVLinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry describing additional information for a Virtual-Link"
    INDEX { fcConnUnitId, fcConnUnitLinkIndex }
    ::= { fcConnUnitVLinkTable 1 }

FcConnUnitVLinkEntry ::=
    SEQUENCE {
                fcConnUnitVLinkPortIndex   Unsigned32,
                fcConnUnitVLinkSecAuth     INTEGER,
                fcConnUnitVLinkDestIPAddr  IpAddress
}

fcConnUnitVLinkPortIndex   OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the source fcip port that is used to form this Virtual-Link
       for peer-to-peer FCIP communication. It indicates the index of the fcip-
       port in the local fcConnUnitFcipPortTable. One FCIP-port might support
       multiple Virtual-Links “ in that case, all those Virtual-Links will have
       the same fcip-port index."
    ::= { fcConnUnitVLinkEntry 1 }


fcConnUnitVLinkSecAuth     OBJECT-TYPE
    SYNTAX INTEGER {
                none (1),
                ipsec (2),
                other (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "It indicates whether the FCIP-device authenticates the IP packets
        on this VIS Link or not. If it authenticates, then it indicates
        the security protocol used such as the IPSec protocol. The authen-
        tication is applied in both directions - i.e., the outgoing messages
        are authenticated before sending and the incoming messages are authen-
        ticated before accepting."
    ::= { fcConnUnitVLinkEntry 2 }

fcConnUnitVLinkDestIPAddr  OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the destination IP address on a peer FCIP-device
        that the local FCIP device will
        use to communicate with that remote peer FCIP-device for
        forwarding the incoming FC frames on this VLink."
    ::= { fcConnUnitVLinkEntry 3 }


--
-- fcConnUnitTcpLinkTable
--

-- The fcConnUnitTcpLinkTable defines TCP connection information for
-- each TCP connection. Here, these TCP connections are called as TCP
-- links as they are the finer granular links within the larger VISL
-- link. Each Virtual Link will use set of tcp connections for FC data
-- transmission and set of tcp connections for control and priority
-- Messages. This table contains all the tcp connections that are
-- created for all the Virtual-Links will be included here. All the tcp
-- connections that are used for a Virtual-Link will have the same
-- Virtual-Link index. The Virtual-Link index will be the index of
-- the Virtual-Link entry in the fcConnUnitVLinkTable.

fcConnUnitTcpLinkTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcConnUnitTcpLinkTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table contains tcp-link specific information."
    ::= { fcipMgmtConfig 5 }

fcConnUnitTcpLinkTableEntry OBJECT-TYPE
    SYNTAX FcConnUnitTcpLinkTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry describing additional information for a tcp-link"
    INDEX { fcConnUnitId, fcConnUnitTcpLinkIndex }
    ::= { fcConnUnitTcpLinkTable 1 }

FcConnUnitTcpLinkTableEntry ::=
    SEQUENCE {
                fcConnUnitTcpLinkIndex            Unsigned32,
                fcConnUnitTcpLinkVisIndex         Unsigned32,
                fcConnUnitTcpLinkPurpose          INTEGER,
                fcConnUnitTcpLinkDestTcpPortNum   Unsigned32,
                fcConnUnitTcpLinkSrcTcpPortNum    Unsigned32,
                fcConnUnitTcpLinkTcpMSS           Unsigned32,
                fcConnUnitTcpLinkTcpTimeOut       Unsigned32
}

fcConnUnitTcpLinkIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "It indicates the index for the tcp link table"
    ::= { fcConnUnitTcpLinkTableEntry 1 }

fcConnUnitTcpLinkVisIndex   OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the index of the Virtual Link for which this tcp
link is created. It is the fcConnUnitLinkIndex value in the
        fcConnUnitLinkTable."
    ::= { fcConnUnitTcpLinkTableEntry 2 }


fcConnUnitTcpLinkPurpose OBJECT-TYPE
    SYNTAX INTEGER {
                control-messages (1),
                data-messages (2),
                both (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It groups the tcp links based on the purpose for which this tcp
link has been created. A tcp link can be used for sending control
messages, data messages, or both the control and data messages"
    ::= { fcConnUnitTcpLinkTableEntry 3 }

fcConnUnitTcpLinkDestTcpPortNum  OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the destination TCP port number on a peer FCIP-
device."
    ::= { fcConnUnitTcpLinkTableEntry 4 }

fcConnUnitTcpLinkSrcTcpPortNum  OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "It indicates the source TCP port number at the local FCIP-
device."
    ::= { fcConnUnitTcpLinkTableEntry 5 }


fcConnUnitTcpLinkTcpMSS      OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "It indicates the TCP Maximum Segment Size (MSS) used on the IP
network."
    ::= { fcConnUnitTcpLinkTableEntry 6 }


fcConnUnitTcpLinkTcpTimeOut   OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the TCP timeout value used."
    ::= { fcConnUnitTcpLinkTableEntry 7 }


--
-- fcConnUnitBLinkTable
--
--
-- This fcConnUnitBLinkTable is used only if the FCIP-device operates
-- in B-port mode. The fcConnUnitBLinkTable further extends the fcConn-
-- UnitLinkTable by defining additional link information for the bridge-links.
-- The fcConnUnitBLinkTable link table contains specific information that
-- is applicable to only the bridge-links. A bridge-link will have an entry
-- in this table only if that link is of type bridge-link
-- (i.e., fcConnUnitFcipLinkType = bridge-link in fcConnUnitFcipLinkTable).
--

fcConnUnitBLinkTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcConnUnitBLinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table contains bridge-link specific information."
    ::= { fcipMgmtConfig 6 }

fcConnUnitBLinkEntry OBJECT-TYPE
    SYNTAX FcConnUnitBLinkEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry describing additional information for a Bridge-link."
    INDEX { fcConnUnitId, fcConnUnitLinkIndex }
    ::= { fcConnUnitBLinkTable 1 }

FcConnUnitBLinkEntry ::=
    SEQUENCE {
                fcConnUnitBLinkFCTimeOut   Unsigned32
            }

fcConnUnitBLinkFCTimeOut   OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
     "It indicates the TCP timeout value used on the bridge-link."
    ::= { fcConnUnitBLinkEntry 1 }


--
-- fcConnUnitPortTable extensions for semantics
--
-- The objects in the fcConnUnitPortTable have to provide additional
-- semantics as mentioned below:
--     - the fcConnUnitPortType should be ipstore for the FCIP-endport
--       entry
--       - the fcConnUnitPortType should be bPort for the B-port entry
--              [note: this value has to be added as one of the
--              enumerated values for this object]


--
-- additional fcConnUnitPortTable extensions for IP-ports
--
--
--    fcConnUnitFcipPortTable
--
-- This fcConnUnitFcipPortTable defines additional port information
-- for Fcip-ports (note: these Fcip-ports are referred as the FCIP
-- end-points facing the IP network in [FCIP]). fcConnUnitFcipPortTable
-- port table contains specific information that is applicable to only
-- the Fcip-ports. A port will have an entry in this table only if that
-- port is of type Fcip-port (i.e., fcConnUnitPortType = ipstore
-- in fcConnUnitPortTable).
--
-- There could be more than one Fcip-port on FCIP-device as the FCIP
-- device might use more than one ip ports.
--

fcConnUnitFcipPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcConnUnitFcipPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table contains Fcip-port specific information."
    ::= { fcipMgmtConfig 7 }

fcConnUnitFcipPortEntry OBJECT-TYPE
    SYNTAX FcConnUnitFcipPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry describing a particular Fcip-port."
    INDEX { fcConnUnitId, fcConnUnitPortIndex }
    ::= { fcConnUnitFcipPortTable 1 }

FcConnUnitFcipPortEntry ::=
    SEQUENCE {
                fcConnUnitFcipPortSrcIPAddr        IpAddress,
                fcConnUnitFcipPortCost             Unsigned32,
                fcConnUnitFcipPortCategory         INTEGER,
                fcConnUnitFcipPortPathMTU          Unsigned32
            }

fcConnUnitFcipPortSrcIPAddr      OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the source IP address on the Fcip-port that is
used by the local FCIP device."
    ::= { fcConnUnitFcipPortEntry 1 }

fcConnUnitFcipPortCost     OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the link cost associated with the Virtual-Links
formed on this FCIP port.
This link cost will be used in routing."
    ::= { fcConnUnitFcipPortEntry 2 }

fcConnUnitFcipPortCategory  OBJECT-TYPE
    SYNTAX  INTEGER {
                ethernet (1),
                token-ring (2),
                other (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "It indicates the category of the IP port which is used for
indicating additional info that is applicable
to those categories. For instance, the bit-error-rate (BER)
applicable on a IP-port is derived from the Ethernet BER
if this port is an Ethernet port"
    ::= { fcConnUnitFcipPortEntry 3 }

fcConnUnitFcipPortPathMTU     OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the size of the Path MTU of the IP network
        to which the FCIP-device is connected."
    ::= { fcConnUnitFcipPortEntry 4 }

--
--    fcConnUnitFCIPRouteTable
--
-- This fcConnUnitFCIPRouteTable defines the routing data which the FCIP
-- device uses in routing the incoming FC data based on the destination
-- address identifier (D_ID). This table is added to allow administrator
-- to setup the routing data in case the FCIP-device can not automatically
-- gather this information. In the case where the FCIP-device automatically
-- gathers the routing information, this table allow network users to access
-- that information.
--

fcConnUnitFCIPRouteTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcConnUnitFCIPRouteEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table contains FCIP routing entries."
    ::= { fcipMgmtConfig 8 }

fcConnUnitFCIPRouteEntry OBJECT-TYPE
    SYNTAX FcConnUnitFCIPRouteEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry describing one FCIP route."
    INDEX { fcConnUnitId, fcConnUnitFCIPRouteIndex}
    ::= { fcConnUnitFCIPRouteTable 1 }

FcConnUnitFCIPRouteEntry ::=
    SEQUENCE {
                fcConnUnitFCIPRouteIndex Unsigned32,
                fcConnUnitFCIPRouteDID   OCTET STRING,
                fcConnUnitFCIPRouteVLinkIndex    Unsigned32
            }

fcConnUnitFCIPRouteIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the index in the routing table. There will be
one entry in this table for each D_ID expected to be handled by
 the local FCIP device"
    ::= { fcConnUnitFCIPRouteEntry 1 }

fcConnUnitFCIPRouteDID   OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the D_ID of a FC destination for which the
        local FCIP-device routes the FC frames"
    ::= { fcConnUnitFCIPRouteEntry 2 }

fcConnUnitFCIPRouteVLinkIndex    OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "It indicates the index of the Virtual-Link entry (in the
        fcConnUnitLinkTable) on which the incoming FC frames
        containing this entry's D_ID will be sent"
    ::= { fcConnUnitFCIPRouteEntry 3 }

--
-- fcConnUnitTcpConnParamTable
--
--
-- This fcConnUnitTcpConnParamTable denotes the TCP connection
-- parameters used on a TCP connection. This table is indexed by the
-- FcConnUnitTcpLinkIndex.
--

fcConnUnitTcpConnParamTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcConnUnitTcpConnParamEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table contains TCP connection parameters."
    ::= { fcipMgmtConfig 9 }

fcConnUnitTcpConnParamEntry OBJECT-TYPE
    SYNTAX FcConnUnitTcpConnParamEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry describing a particular set of tcp connection
parameters."
    INDEX { fcConnUnitId, fcConnUnitTcpLinkIndex }
    ::= { fcConnUnitTcpConnParamTable 1 }

FcConnUnitTcpConnParamEntry ::=
    SEQUENCE {
                fcConnUnitTcpConnParamSACKOption INTEGER,
                fcConnUnitTcpConnParamIPDSCPSettingOption INTEGER,
                fcConnUnitTcpConnParamProcAgtSeqNumWrapOption INTEGER
        }

fcConnUnitTcpConnParamSACKOption OBJECT-TYPE
    SYNTAX      INTEGER {
        enabled      (1),
        disabled     (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Indicates whether the TCP Selective Acknowledgement
Option(RFC 2883)
            is enabled to allow receiving end to acknowledge multiple
lost packets in a single ACK, enabling faster recovery."
    ::= { fcConnUnitTcpConnParamEntry  1 }


fcConnUnitTcpConnParamIPDSCPSettingOption OBJECT-TYPE
    SYNTAX      INTEGER {
        enabled      (1),
        disabled     (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Indicates whether the IP DSCP field setting option is
enabled to set the IP DSCP to the value 101110.(ie Upper
6 bits of IP TOS field.)"
    ::= { fcConnUnitTcpConnParamEntry  2 }


fcConnUnitTcpConnParamProcAgtSeqNumWrapOption OBJECT-TYPE
    SYNTAX      INTEGER {
        enabled      (1),
        disabled     (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Indicates whether the protection against sequence number
wrap is enabled at this TCP connection."
    ::= { fcConnUnitTcpConnParamEntry  3}

--
-- fcConnUnitTcpOpParamTable
--
--
-- This fcConnUnitTcpOpParamTable denotes the TCP operational parameters
-- on per ISL basis. On per ISL basis, the FCIP-device maintains commulative
-- TCP operational parameters from all the TCP connections that were used for
-- that ISL link. This table will be indexed by the ISL link index in the
-- fcConnUnitLinkTable.
--

fcConnUnitTcpOpParamTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcConnUnitTcpOpParamEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table contains per ISL based TCP operational parameters."
    ::= { fcipMgmtConfig 10 }

fcConnUnitTcpOpParamEntry OBJECT-TYPE
    SYNTAX FcConnUnitTcpOpParamEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry describing a particular set of tcp operational
parameters."
    INDEX { fcConnUnitId, fcConnUnitLinkIndex }
    ::= { fcConnUnitTcpOpParamTable 1 }

FcConnUnitTcpOpParamEntry ::=
    SEQUENCE {
                fcConnUnitTcpOpParamRtoAlgorithm      INTEGER,
                fcConnUnitTcpOpParamRtoMin Integer32,
                fcConnUnitTcpOpParamRtoMax Integer32,
                fcConnUnitTcpOpParamActiveOpens Counter32,
                fcConnUnitTcpOpParamPassiveOpens Counter32,
                fcConnUnitTcpOpParamAttemptFails Counter32,
                fcConnUnitTcpOpParamEstabResets Counter32,
                fcConnUnitTcpOpParamInSegs Counter32,
                fcConnUnitTcpOpParamOutSegs Counter32,
                fcConnUnitTcpOpParamRetransSegs Counter32,
                fcConnUnitTcpOpParamInErrs Counter32,
                fcConnUnitTcpOpParamOutRsts Counter32

            }

fcConnUnitTcpOpParamRtoAlgorithm      OBJECT-TYPE
    SYNTAX      INTEGER {
                    other(1),    -- none of the following
                    constant(2), -- a constant rto
                    rsre(3),     -- MIL-STD-1778, Appendix B
                    vanj(4)      -- Van Jacobson's algorithm [5]
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The algorithm used to determine the timeout value used for
            retransmitting unacknowledged octets."
    ::= { fcConnUnitTcpOpParamEntry  1 }

fcConnUnitTcpOpParamRtoMin OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The minimum value for the retransmission timer on this tcp
connection."
    ::= { fcConnUnitTcpOpParamEntry  2 }

fcConnUnitTcpOpParamRtoMax OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The maximum value for the retransmission timer on this tcp
connection."
    ::= { fcConnUnitTcpOpParamEntry  3 }

fcConnUnitTcpOpParamActiveOpens OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of active opens this connection supported."
    ::= { fcConnUnitTcpOpParamEntry  4 }

fcConnUnitTcpOpParamPassiveOpens OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of passive opens this connection supported."
    ::= { fcConnUnitTcpOpParamEntry  5 }

fcConnUnitTcpOpParamAttemptFails OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of failed connection attempts that have occured
at this connection."
    ::= { fcConnUnitTcpOpParamEntry  6 }

fcConnUnitTcpOpParamEstabResets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of resets that have occured at this
connection."
    ::= { fcConnUnitTcpOpParamEntry  7 }

fcConnUnitTcpOpParamInSegs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of segments received, including those
            received in error on this connection."
    ::= { fcConnUnitTcpOpParamEntry  8 }

fcConnUnitTcpOpParamOutSegs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"The total number of segments sent, excluding those
containing
            only retransmitted octets."
    ::= { fcConnUnitTcpOpParamEntry  9 }

fcConnUnitTcpOpParamRetransSegs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of retransmitted segments on this
connection."
    ::= { fcConnUnitTcpOpParamEntry  10 }

fcConnUnitTcpOpParamInErrs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of error segments received on this
connection."
    ::= { fcConnUnitTcpOpParamEntry  11 }

fcConnUnitTcpOpParamOutRsts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of TCP segments sent containing the RST flag."
    ::= { fcConnUnitTcpOpParamEntry  12 }
   END

--
-- TCP/IP performance data in the FCIP-device at Connectivity-Unit level
--
-- Note: use the TCP Group under MIB-II (RFC 2012) to gather the above
-- kind of TCP performance data,
--
-- Note: use the IP Group under MIB-II (RFC 2011) to gather the above
-- kind of IP performance data,
--
-- Note: use the RFC 2024 for to gather the data link level performance
-- data



11. References:

[FCIP]      Rajagopal, M., et al "Fiber Channel Over TCP/IP (FCIP)",
            <draft-ietf-ips-fcovertcpip-03.txt>, June 2001.

[FCMGMT]    Blumenau, S., "Fiber Channel Management Framework Integration MIB",
            <draft-ietf-ipfc-fcmgmt-int-mib-06.txt>, February 2001.

[RFC2571]   Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture
            for Describing SNMP Management Frameworks", RFC 2571, April
            1999.

[RFC1155]   Rose, M., and K. McCloghrie, "Structure and Identification
            of Management Information for TCP/IP-based Internets", STD
            16, RFC 1155, May 1990.

[RFC1212]   Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD
            16, RFC 1212, March 1991.

[RFC1215]   M. Rose, "A Convention for Defining Traps for use with the
            SNMP", RFC 1215, March 1991.

[RFC2578]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Structure of Management
            Information Version 2 (SMIv2)", STD 58, RFC 2578, April
            1999.

[RFC2579]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Textual Conventions for
            SMIv2", STD 58, RFC 2579, April 1999.

[RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Conformance Statements for
            SMIv2", STD 58, RFC 2580, April 1999.

[RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Conformance Statements for
            SMIv2", STD 58, RFC 2580, April 1999.

[RFC1157]   Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
            Network Management Protocol", STD 15, RFC 1157, May 1990.

[RFC1901]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Introduction to Community-based SNMPv2", RFC 1901, January
            1996.

[RFC1906]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Transport Mappings for Version 2 of the Simple Network
            Management Protocol (SNMPv2)", RFC 1906, January 1996.

[RFC2572]   Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
            Processing and Dispatching for the Simple Network Management
            Protocol (SNMP)", RFC 2572, April 1999.

[RFC2574]   Blumenthal, U., and B. Wijnen, "User-based Security Model
            (USM) for version 3 of the Simple Network Management
            Protocol (SNMPv3)", RFC 2574, April 1999.

[RFC1905]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Protocol Operations for Version 2 of the Simple Network


13. Authors' Addresses

    Anil Rijhsinghani
    McDATA Corp.
    310 Interlocken Parkway
    Broomfield, CO 80021
    USA
    E-mail: anil@mcdata.com

    S. Akkala
    LightSand Communications, Inc.
    24411 Ridge Route Dr.
    Suite 135
    Laguna Hills, CA 92653
    USA
    E-mail: sudara@lightsand.com

    R. Natarajan
    LightSand Communications, Inc.
    24411 Ridge Route Dr.
    Suite 135
    Laguna Hills, CA 92653
    USA
    E-mail: ravin@lightsand.com