-- *****************************************************************
-- ciscoWanFrPortMIB
--
-- October 2002, Subra Hegde
--
-- Copyright (c) 2002 by cisco Systems, Inc.
-- All rights reserved.
-- ****************************************************************

CISCO-WAN-FR-PORT-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32
                               FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP               FROM SNMPv2-CONF
    frPort,
    frPortCnf,
    frPortCnt,
    frPortServiceQueGrp        FROM BASIS-MIB
    ciscoWan                   FROM CISCOWAN-SMI;

ciscoWanFrPortMIB MODULE-IDENTITY
    LAST-UPDATED    "200210170000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "       Cisco Systems
                        Customer Service

                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA

                        Tel: +1 800 553-NETS

                E-mail: cs-wanatm@cisco.com"
    DESCRIPTION
        "The MIB module to create/configure frame relay 
        ports/interfaces. This module contains tables related to
        frame relay port states and statistics.
        The frame relay logical port is referred to as
        'frame relay port' in this mib. 

       Terminologies Used:
    
       Channel : Generically refers to the user access channel
                 across which frame relay data travels. This
                 is also referred to use logical port/interface
                 in this MIB.

                 Within a given T1 or E1 physical line, a channel
                 can be one of the following, depending on how the
                 line is configured.

               Unchannelized :
                  The Entire T1/E1 line is considered a channel, where:
                   * The T1 line operates at the speed of 1.536 Mbps and
                     is single channel consisting of 24 T1 time slots.

                   * The E1 line operates at the speed of 1.984 Mbps and
                     is single channel consisting of 31 T1 time slots.
               Channelized:
                  The channel is any one of the N time slots within a 
                  given line, where:
                   * The T1 line consists of any one or more channels.
                     Each channel is any one of 24 time slots.

                   * The E1 line consists of one or more channels.
                     Each channel is any one of 31 time slots.
               Fractional:
                  The T1/E1 channel is one of the following groupings of
                  consecutively or nonconsecutively assigned time slots:
                   * N T1 time slots(N*56/64Kbps where N=1-23 T1 Time slots
                     per FT1 channel. 
                   * N E1 time slots(N*64Kbps where N=1-30 Time slots
                     per E1: channel. 

       SVC     :  Switched Virtual Circuits.
                  SVCs allow access through a Frame Relay 
                  Network by setting up a path to the destination
                  endpoints only when the need arises and
                  tearing down the path when it is no longer
                  needed.

                  Refer ITU Q.933 and Q.922

       FECN   :  Forward Explicit Congestion Notification
                 A bit set by a frame relay network to notify an
                 interface device(DTE) that congestion avoidance
                 procedures should be initiated by the receiving
                 device.
       BECN   :  Backward Explicit Congestion Notification
                 A bit set by a frame relay network to notify an
                 interface device(DTE) that congestion avoidance
                 procedures should be initiated by the sending
                 device.
       DE     :  Discard Eligibility
                 A user-bit set indicating that a frame may be 
                 discarded in preference to other frames if
                 congestion occurs, to maintain the committed
                 quality of service within the network. Frames
                 with the DE bit set are considered Be(Excess 
                 Burst Size)excess data.

       Unchannelized Service Modules: 
           Following Service Modules does not support channelized 
           interfaces(i.e supports only unchannelized).
            FRSM-VHS : FRSM-2T3/2E3, FRSM-HS2/HS2B, FRSM-T3B/E3B

        For following service modules, ifTable is supported:
         FRSM-12.
       "

    REVISION    "200210170000Z"
    DESCRIPTION
        "Initial version of the MIB.

        The content of this MIB was originally available
        in CISCO-WAN-AXIPOP-MIB defined using SMIv1.
        The applicable objects from CISCO-WAN-AXIPOP-MIB
        are defined using SMIv2 in this MIB. Also the
        descriptions of some of the objects have been 
        modified."
    ::= { ciscoWan 44 }


frPortCnfPortGrp    OBJECT IDENTIFIER ::= { frPortCnf 1 }
frPortStateGrp 	    OBJECT IDENTIFIER ::= { frPort 3 }
frPortCntPortGrp    OBJECT IDENTIFIER ::= { frPortCnt 1 }

-- *******************************************************************
--
--		LOGICAL PORT CONFIG Group
--
-- *******************************************************************


frPortCnfPortGrpTable	OBJECT-TYPE
    SYNTAX	SEQUENCE OF FrPortCnfPortGrpEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
        "This table is used for creating/configuring 
        Frame Relay Logical(referred to as frame relay port)Ports. 

        Relation with ifTable: 

            The modules in which ifTable is implemented,
            the creation of frame relay port in this table
            will cause an entry to be created in ifTable.
            The possible interfaces that are created in
            ifTable are identified by ifType = frameRelayService(44)
            and frForward(158).
 
            The deletion of an entry in this table causes
            the corresponding entry in ifTable to be deleted.
        "
    ::= { frPortCnfPortGrp 1 }

frPortCnfPortGrpEntry	OBJECT-TYPE
    SYNTAX	FrPortCnfPortGrpEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
        "An entry in the frame relay port table."
    INDEX	{ portNum }
    ::= { frPortCnfPortGrpTable 1 }

FrPortCnfPortGrpEntry ::=
    SEQUENCE {
        portNum        	         Integer32,
        portLineNum 	         Integer32,
      	portRowStatus            INTEGER,
        portDs0ConfigBitMap      Integer32,
      	portDs0Speed             INTEGER,
      	portFlagsBetweenFrames   Integer32,
      	portEqueueServiceRatio   Integer32,
        portSpeed                Integer32,
        portAdmin                INTEGER,
        portType                 INTEGER,
        portSvcStatus            INTEGER,
        portSvcInUse             INTEGER,
        portSvcShareLcn          INTEGER,
        portSvcLcnLow            Integer32,
        portSvcLcnHigh           Integer32,
        portSvcDlciLow           Integer32,
        portSvcDlciHigh          Integer32,
	portDeleteSvcs           INTEGER,
	portIngrSvcBandW         Integer32,
	portEgrSvcBandW          Integer32,
	portBERTEnable           INTEGER,
	portEnhancedSIW          INTEGER,
	portM32EgrQueueThresh    Integer32,
	portHeaderLen            INTEGER,
	portFrameChkSumType      INTEGER,
	portFileId               Integer32,
	portOverSubEnable        INTEGER
    }

portNum	OBJECT-TYPE
    SYNTAX	Integer32(1..2147483647)
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "This is the frame relay(logical) port number.

        For Service Modules, supporting ifTable, this 
        must be the ifIndex value of the frame relay port.
        
        The port number value supported depends upon the 
        following for each Service Module:

           - type(Channelized, Unchannelized, Fractional etc)
             of physical line and number of physical lines

           - Number of physical line supported

           - Limitations due to Service Module Hardware components.

        Port Number mapping is as follows:
         (NOTE:  All  the Supported Service Module information is 
          not provided here).

         T1(channelized)   : 24 Time Slots * Max #Lines Supported.
           Example: 8 Port Service Module  - 1..192(24*8)

         E1(channelized)   : 31 Time Slots * Max #Lines Supported.
           Example: 8 Port Service Module  - 1..248(31*8)
         T3 Channelized    : 
           Example: 2CT3 Service Module: 1-256(Limited by hardware)
           Unchannelized VHS   : Range is 1-2
           (T3/E3/HS2/T3B/E3B/HS2B-HSSI)

           FRSM-HS2B-12IN1     : Range is 1-8
           FRSM-12             : same as ifIndex value.
           
        With the above convention, Port Number mapping 
        is as follows:

           T1 Service Module   : Range is 1-192.
           E1 Service Module   : Range is 1-248.
           2CT3 Service Module : Range is 1-256

        NOTE:
        For other Service Modules(Where ifTable is supported):
           This value for this object must be same as the 
           ifIndex value for the frame relay port ifTable.
           The frame relay ports identified by ifType values
           frameRelayService(44) and frForward(158) are
           valid for this object.
           
          Since, Frame Relay Port table is used for creating
          entries in ifTable, it sounds odd to specify ifIndex
          value for this object, even before creating the
          ifTable entries!.
          The reason(s) for this is as follows:
            - There are tables in other frame relay mibs,
              which are indexed by auxiliary objects(objects 
              which are both specified in the INDEX clause
              and columnar objects of the same row) whose
              value is supposed to be same as 'portNum'.
              These MIBs have been used earlier by NMS Applications
              for the other product lines(MGX8250, MGX8220 etc).
              
            - The same frame relay tables in used in other
              products has been decided to use in new 
              products(for example MGX8850 with FRSM-12 Service Module).
              It is a requirement that ifTable must be supported
              in New Service Modules.

              If we use ifIndex value of the frame relay port
              (after creation) in other tables(FR Port Stats, FR R
              Resource Partition or FR Connection etc), and if ifIndex
              value is different than 'portNum', then it will
              break the NMS applications which have been
              using this MIB with the assumptions that 'portNum'
              and INDEXes(For example: frResPartPortNum,
              lmiCnfPortNum, etc) are same.
   
              To avoid this confusion, it is required that
              'portNum' value must be same as 'ifIndex' of
              the frame relay port. 
        "
    REFERENCE
        "CISCO-MGX8800-IF-MAPPING-MIB.my to get the ifIndex
         value of a port even before it appears in ifTable."
    ::= { frPortCnfPortGrpEntry 1}

portLineNum	OBJECT-TYPE
    SYNTAX	Integer32(1..2147483647)
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        "This object represents the physical line number 
        on which the frame relay port need to be created.

        For Service Modules, supporting ifTable, this 
        must be the ifIndex value of the physical line
        or logical interface. The ifIndex entries in
        ifTable applicable to this category are identified
        by ifType values of ds3(30), ds1(18)."
    ::= { frPortCnfPortGrpEntry 2}

portRowStatus  OBJECT-TYPE		
    SYNTAX	INTEGER {
                    add(1),
                    del(2),
                    mod(3)
                }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value of this object is used for creating
        modifying or deleting frame relay ports.

        The possible values are :
 
          add(1) : Create frame relay port
          del(2) : Delete frame relay port
          mod(3) : Modify the frame relay port. This value
                   is required to be set in Some Older Service Modules
                  (FRSM-8T1/E1, FRSM-VHS, FRSM-HS2B etc) to
                  modify the port parameters.

        In some service modules, when the port is successfully
        created(add(1)), this object is set internally to
        mod(3). The reason for this is, one can modify
        parameters of the port without requiring to go
        through an explicit mod(3) to modify the parameters."
    ::= { frPortCnfPortGrpEntry 3 }

portDs0ConfigBitMap	OBJECT-TYPE
    SYNTAX     Integer32 (0..'ffffff'h) 
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This respesents bit map of DS0s for a line/interface
        which are used to form this logical port.

        The Bit 0 represents DS0-1(First DS0 timeslot).

        This object is not applicable for unchannelized 
        service modules. In case of unchannelized interfaces,
        this field carries the value of 'ffffff'h."
    ::= { frPortCnfPortGrpEntry 4 }

portDs0Speed	OBJECT-TYPE
    SYNTAX	INTEGER {
                    speed56k (1),
                    speed64k (2),
                    unUsed   (3)
                }
    MAX-ACCESS      read-write
    STATUS	current
    DESCRIPTION
        "The value of this object is used for
        configuring the port speed(or data rate) of
        Ds0 in frame relay port.

        speed56k(1) : set to 56k
        speed64k(2) : set to 64k 
        unUsed(3)   : Not applicable.

        This field is not applicable for unchannelized
        interfaces/ports. In case of unchannelized interfaces
        this object is set to 'unUsed' always.
 
        This object can be specified only during
        port creation."
    DEFVAL { speed64k }
    ::= { frPortCnfPortGrpEntry 5 }

portFlagsBetweenFrames	OBJECT-TYPE
    SYNTAX	Integer32 (1..10) 
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        "Number of flags transmitted between FR frames
        For FRSM12 card:
        Only the values 1 to 8 are supported. The mapping is as follows:
        MIB object value      No. of HDLC flags inserted
            1                        1
            2                        2
            3                        4
            4                        8
            5                       16
            6                       32
            7                       64
            8                      128
        This object can not be modified if there are any
        frame relay connections that are configured on the port."
    DEFVAL { 1 }
    ::= { frPortCnfPortGrpEntry 6 }

portEqueueServiceRatio	OBJECT-TYPE
    SYNTAX	Integer32 (0..15) 
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        "Number of times queue 1 is serviced 
        for every time queue 2 is serviced.
        The value 0 is supported only by FRSM-VHS.
		
        FRSM-VHS supports two different egress queue
        servicing algorithms depending on the Egress
        Qos Feature.

        if EgrQosFeature is ENABLED, Weighted Fair
        queueing algorithm will be used to select
        one queue out of 4 data queues and this
        object will be set to a default value of
        0 in this case and this value cannot be
        modified by user.

        In case of EgrQosFeature being DISABLED,
        this object will be set to a default value
        of 1 and can be configured to user desired
        value. This value will be used to decide
        number of times High priority queue has
        to be serviced for every time low priority
        queue is serviced.

        For FRSM12 card:
            There is only one scheme of egress scheduling of COS queues
            within ports, which uses only two COS queues for user data.
            The scheduling scheme uses a pre-defined ratio to schedule
            these COS queues on a given port. This object will be
            used to decide number of times High priority queue
            has to be serviced for every time low priority queue
            is serviced."
    DEFVAL { 1 }
    ::= { frPortCnfPortGrpEntry 7 }

portSpeed OBJECT-TYPE
    SYNTAX    Integer32
    UNITS     "kbps"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of this object contains the 
        Configured speed of port."
    ::= { frPortCnfPortGrpEntry 8 }

portAdmin OBJECT-TYPE
    SYNTAX     INTEGER {
                   up         (1),
                   down       (2),
                   write-Only (3)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value of this object is used for
        changing the desired state of the port.

        up(1)   : Up the port;Admin up
        down(2) : Down the port;Admin down
       
        For Service Modules, supporting ifTable, this 
        is equivalent to 'ifAdminStatus' object. The write-only
        is not supported in these cases."
    ::= { frPortCnfPortGrpEntry 9 }

portType OBJECT-TYPE
    SYNTAX	INTEGER {
                    frame-relay   (1),
                    frFUNI        (2),
                    frame-forward (3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of this object identifies the network
        interface for this frame relay port.

         The Possible values are:
   
          frame-relay(1)  : Frame Relay Service Port

          frFUNI     (2)  : Frame based UNI Port.
                            when a frame arrives from the FUNI interface
                            the 2 byte FUNI header is removed and 
                            frame is segmented into ATM Cells by using
                            AAL5.

          frame-forward(3): Frame Forward Port.
                            In this case 2 byte Q.922 header is not assumed
                            or interpreted. The signaling(LMI) parameters
                            are not applicable for these ports.

         Relationship with ifTable:

           The service modules in which ifTable is
           implemented following side-effects will
           take place.

           For value frame-relay(1) an ifTable entry with
           ifType = frameRelayService(44) will be created.

           For value frame-forward(3) an ifTable entry with
           ifType = frForward(158) will be created.

           This object can not be modified after the port
           is created."
    DEFVAL { frame-relay }
    ::= { frPortCnfPortGrpEntry 10 }

portSvcStatus	OBJECT-TYPE
    SYNTAX	INTEGER {
                    disable (1),
                    enable  (2)
                }
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        "The value of this object is used for enabling/disabling
        the SVC operation on a frame relay port.
        For FRSM12 card: Not Supported "
    ::= { frPortCnfPortGrpEntry 11 }

portSvcInUse	OBJECT-TYPE
    SYNTAX	INTEGER {
                    not-use (1),
                    in-use  (2)
                }
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        "The value of this object is used for representing
        whether SVC is in use or not.
        For FRSM12 card: Not Supported
        "
    ::= { frPortCnfPortGrpEntry 12 }

portSvcShareLcn	OBJECT-TYPE
    SYNTAX	INTEGER {
                    port-based(1),
                    card-based(2)
                }
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "The value of this object identifies the
        SVC shared LCN type. 

        For FRSM12 card: Not Supported
    "
    ::= { frPortCnfPortGrpEntry 13 }

portSvcLcnLow	OBJECT-TYPE
    SYNTAX	Integer32 (16..4015)
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "The value of this object identifies the
        low end of the reserved LCN for SVC.
        For FRSM12 card: Not Supported
        "
    ::= { frPortCnfPortGrpEntry 14 }

portSvcLcnHigh	OBJECT-TYPE
    SYNTAX	Integer32 (16..4015)
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "The value of this object identifies the
        high end of reserved LCN for SVC.

        For FRSM12 card: Not Supported
        "
    ::= { frPortCnfPortGrpEntry 15 }

portSvcDlciLow	OBJECT-TYPE
    SYNTAX     Integer32 (0..1023)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of this object identifies the
        low end of reserved DLCI for SVC.
        For FRSM12 card: Not Supported."
    ::= { frPortCnfPortGrpEntry 16 }

portSvcDlciHigh	OBJECT-TYPE
    SYNTAX	Integer32 (0..1023)
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "The value of this object identifies the
        high end of reserved DLCI for SVC.

        For FRSM12 card: Not Supported."
    ::= { frPortCnfPortGrpEntry 17 }

portDeleteSvcs OBJECT-TYPE		
    SYNTAX	INTEGER {
                    delete (1),
                    other  (2)
                }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value of this object indicates 
        that all the SVC connections on a  given frame 
        relay port has to be deleted.

        For FRSM12 card: Not Supported
        "
    ::= { frPortCnfPortGrpEntry 18 }

portIngrSvcBandW	OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "The value of this object identifies the
        Ingress bandwidth reserved for SVC.
        For FRSM12 card: Not Supported
        "
    ::= { frPortCnfPortGrpEntry 19 }

portEgrSvcBandW	OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "The value of this object identifies the
        Egress bandwidth reserved for SVC.
        For FRSM12 card: Not Supported."
    ::= { frPortCnfPortGrpEntry 20 }

portBERTEnable OBJECT-TYPE
    SYNTAX	INTEGER {
                    disable (1),
                    enable  (2)
                }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The value of this object enables/disables the
        Bit Error Rate Testing (BERT) on the frame
        relay port.

        For FRSM12 card: Not Supported
        " 
    DEFVAL { disable }
    ::= { frPortCnfPortGrpEntry 21 }

portEnhancedSIW OBJECT-TYPE
    SYNTAX	INTEGER {
                    disable (1),
                    enable  (2)
                }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This variable enables/disables enhanced SIW feature.
        Enabling this permits support for SIW translation of
        Appletalk. This feature is supported only in 
        the FRSM-VHS card.

        This object is not required in FRSM12 since Appletalk is
        supported by default in FRF.8.1 and FRSM12 supports FRF.8.1
        " 
    DEFVAL {disable}
    ::= { frPortCnfPortGrpEntry 22 }

portM32EgrQueueThresh OBJECT-TYPE
    SYNTAX     Integer32 (1..6000)
    UNITS      "bytes"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This represents the M32 logical port Egress Queue
        threshold in bytes. Frames will not be queued 
        until the number of bytes in the queue is less than 
        the threshold. The default value is 6000. Using a very low
        value could under utilize the logical port.

        This is supported in FRSM 8t1e1 and FRSM 4t1e1 
        Service Modules only."
    DEFVAL { 6000 }
    ::= { frPortCnfPortGrpEntry 23 }

portHeaderLen OBJECT-TYPE 
    SYNTAX  INTEGER { 
                twoOctets  (1), 
                fourOctets (2) 
            } 
    UNITS      "Octets"
    MAX-ACCESS read-write 
    STATUS     current 
    DESCRIPTION 
        "The value of this object identifies the
        Q.922 address field length and DLCI length
        for this UNI/NNI logical port.

        This object can not be modified if there are any
        frame relay connections that are configured on the port.

        This object is not applicable to MGX Release 1.x.
        " 
    REFERENCE
        "Q.922 [25]"
    DEFVAL { twoOctets }
    ::= { frPortCnfPortGrpEntry 24 } 

portFrameChkSumType  OBJECT-TYPE 
    SYNTAX  INTEGER { 
                crc16(1), 
                crc32(2) 
            } 
    MAX-ACCESS read-write 
    STATUS     current 
    DESCRIPTION 
        "The value of this object identifies the CRC Length
        in the HDLC Packet. Applicable for FrameForwarding
        ports only.

        This object can not be modified if there are any
        frame relay connections that are configured on the port.

        This object is not applicable to MGX Release 1.x.
        " 
    DEFVAL { crc16 }
    ::= { frPortCnfPortGrpEntry 25 } 

portFileId OBJECT-TYPE
    SYNTAX     Integer32(0..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value of this object identifies the 
        Service Class Template(SCT) file ID.
        The SCT holds the module specific configuration
        parameters for the frame relay port.
 
        This object is not applicable to MGX Release 1.x."
        DEFVAL { 0 }
    ::= { frPortCnfPortGrpEntry 26 }


portOverSubEnable OBJECT-TYPE
    SYNTAX  INTEGER { 
                enable  (1), 
                disable (2) 
            } 
    MAX-ACCESS  read-write 
    STATUS  current 
    DESCRIPTION 
        "
        The value of this object enables/disables the
        port to be over subscribed.

        This object is not applicable to MGX Release 1.x.
        " 
    DEFVAL { disable }
    ::= { frPortCnfPortGrpEntry 27 } 


--	PORT usage scalars
--  These scalars are not used in FRSM-VHS and FRSM12

portsUsedLine1 	OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Each bits set represents a DS0 that is used by
        all the logical ports defined so far for that DS1,
        the most significant byte is invalid for DS1.
        This is for line."
    ::= { frPortCnfPortGrp 2 }

portsUsedLine2 	OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Each bits set represents a DS0 that is used by
        all the logical ports defined so far for that DS1,
        the most significant byte is invalid for DS1.
        This is for line 2."
    ::= { frPortCnfPortGrp 3 }

portsUsedLine3 	OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Each bits set represents a DS0 that is used by
        all the logical ports defined so far for that DS1.
        The most significant byte is invalid for DS1.
        This is for line 3."
    ::= { frPortCnfPortGrp 4 }

portsUsedLine4 	OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Each bits set represents a DS0 that is used by
        all the logical ports defined so far for that DS1.
        The most significant byte is invalid for DS1.
        This is for line 4."
    ::= { frPortCnfPortGrp 5 }

portsUsedLine5 	OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Each bits set represents a DS0 that is used by
        all the logical ports defined so far for that DS1.
        The most significant byte is invalid for DS1.
        This is for line 5."
    ::= { frPortCnfPortGrp 7 }

portsUsedLine6 	OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Each bits set represents a DS0 that is used by
        all the logical ports defined so far for that DS1.
        The most significant byte is invalid for DS1.
        This is for line 6."
    ::= { frPortCnfPortGrp 8 }

portsUsedLine7 	OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Each bits set represents a DS0 that is used by
        all the logical ports defined so far for that DS1.
        The most significant byte is invalid for DS1.
        This is for line 7."
    ::= { frPortCnfPortGrp 9 }

portsUsedLine8 	OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Each bits set represents a DS0 that is used by
        all the logical ports defined so far for that DS1.
        The most significant byte is invalid for DS1.
        This is for line 8."
    ::= { frPortCnfPortGrp 10 }

--
--	Next available port
--

portNextAvailable 	OBJECT-TYPE
    SYNTAX	Integer32 (0..256) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "This variable contains the next UNUSED logical port number.
        This number can be used in channel config table, the 
        portNextAvailable gets updated if the number gets
        used to create a logical port.  
        A '0' indicates that no more ports are available.

        For FRSM12 Card: Not Supported
        "
    ::= { frPortCnfPortGrp 6 }



-- ------------------------------------------------------------------------
--
-- Group frChannelState
-- Contains status information for channels
--
-- ------------------------------------------------------------------------


frPortStateGrpTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF FrPortStateGrpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Table of transmit/receive states of ports.
        "
    ::= { frPortStateGrp 1 }

frPortStateGrpEntry OBJECT-TYPE
    SYNTAX FrPortStateGrpEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry for logical port.
        "
    INDEX	{ statePortNum }
    ::= { frPortStateGrpTable 1 }

FrPortStateGrpEntry ::=
    SEQUENCE {
        statePortNum         Integer32,
        portState            INTEGER,
        portSignallingState  Integer32,
        portOversubscribed   INTEGER,
        portIngrPercentUtil  Integer32,
        portEgrPercentUtil   Integer32
    }

statePortNum OBJECT-TYPE
    SYNTAX	Integer32(1..2147483647)
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "This is the frame relay(logical) port number.

        The value of this object must match with the
        value of object 'portNum' in frPortCnfPortGrpTable."
    ::= { frPortStateGrpEntry 1}

portState OBJECT-TYPE
    SYNTAX  INTEGER {
                notConfigured         (1),
                active                (2),
                remoteLoopback        (3),
                failedDueToLine       (4),
                failedDueToSignalling (5),
                inactive              (6),
                inBert                (7),
                farEndRemoteLoopback  (8),
                latchDS0DropFeLoop    (9),
                latchDS0LineFeLoop    (10),
                latchOcuFeLoop        (11),
                latchCsuFeLoop        (12),
                latchDsuFeLoop        (13),
                latchHL96FeLoop       (14),
                v54PolynomialFeLoop   (15)
            }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This variable indicates the state of the
        logical port
        "
    ::= { frPortStateGrpEntry 2}
 
portSignallingState OBJECT-TYPE
    SYNTAX	Integer32 (0..'ffffff'h) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Bit 0 = 0 -> LMI O.K. or not enabled
        Bit 0 = 1 -> LMI failed
        Bit 1 = 0 -> CLLM O.K. or not enabled
        Bit 1 = 1 -> CLLM failed
        "
    ::= { frPortStateGrpEntry 3}


portOversubscribed  OBJECT-TYPE		
    SYNTAX	INTEGER {
                    false (1),
                    true  (2)
                }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This variable indicates the whether the port is 
        over subscribed or not."
    ::= { frPortStateGrpEntry 4}

portIngrPercentUtil		OBJECT-TYPE
    SYNTAX     Integer32 (0..1000)  
    MAX-ACCESS read-only 
    STATUS     current  
    DESCRIPTION    
        "Percentage Utilization of the Port in the Ingress
        direction." 
    ::= { frPortStateGrpEntry 5}

portEgrPercentUtil		OBJECT-TYPE
    SYNTAX  Integer32 (0..1000)  
    MAX-ACCESS read-only 
    STATUS  current  
    DESCRIPTION    
        "Percentage Utilization of the Port in the Egress
        direction." 
    ::= { frPortStateGrpEntry 6}




-- ------------------------------------------------------------------------
--
-- frPortCounters group
-- Channel OR VC COUNTERS 
--
-- ------------------------------------------------------------------------


frPortCntPortGrpTable	OBJECT-TYPE
    SYNTAX	SEQUENCE OF FrPortCntPortGrpEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
        "The config table is for logical port interface
        there are upto 248 entries (for 8 E1s) or 192 
        (for 8 T1s). In FRSM-VHS, there is support for
        upto 256 entries.
        "
    ::= { frPortCntPortGrp 1 }


frPortCntPortGrpEntry	OBJECT-TYPE
    SYNTAX	FrPortCntPortGrpEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
        " An entry for logical port
        "
    INDEX	{ cntPortNum }
    ::= { frPortCntPortGrpTable 1}

FrPortCntPortGrpEntry ::=
    SEQUENCE {
        cntPortNum                        Integer32,
-- Rcv Counters
	rcvPortFrames                     Counter32,
	rcvPortBytes                      Counter32,
	rcvPortFramesDE		          Counter32,
	rcvPortFramesFECN                 Counter32,
	rcvPortFramesBECN                 Counter32,
-- Discarded due to 
	rcvFramesDiscCRCError             Counter32,
	rcvFramesDiscAlignmentError       Counter32,
	rcvFramesDiscIllegalLen           Counter32,
	rcvFramesDiscIllegalHeader        Counter32,
	rcvFramesAbort                    Counter32,
	rcvFramesUnknownDLCI              Counter32,
	rcvLastUnknownDLCI                Integer32,
-- Rcv Congestion
	rcvPortFramesTaggedFECN           Counter32,
	rcvPortFramesTaggedBECN           Counter32,
	rcvPortFramesTaggedDE             Counter32,
	rcvPortFramesDiscXceedDEThresh    Counter32,
	rcvPortKbpsAIR                    Integer32,
	rcvBufNotAvailable                Counter32,
-- Xmt Counters
	xmtPortFrames                     Counter32,
	xmtPortBytes                      Counter32,
	xmtPortFramesFECN                 Counter32,
	xmtPortFramesBECN                 Counter32,
	xmtPortFramesDiscXceedQDepth      Counter32,
	xmtPortBytesDiscXceedQDepth       Counter32,
	xmtPortFramesDuringLMIAlarm       Counter32,
	xmtPortBytesDuringLMIAlarm        Counter32,
	xmtFramesAbort		          Counter32,
	xmtFramesUnderrun                 Counter32,
	xmtPortKbpsAIR                    Integer32,
	xmtBufNotAvailable                Counter32,
	portClrButton                     INTEGER,
	rcvFramesDiscNoChan               Counter32,
	rcvFramesDiscOverrun              Counter32,
	rcvPortFramesDiscard 		  Counter32,
	xmtPortFramesDE 		  Counter32,
	xmtPortBytesDE 		          Counter32,
	rcvPortBytesDE                    Counter32,
	xmtPortFramesDiscXceedDEThresh 	  Counter32,
	xmtPortBytesDiscXceedDEThresh 	  Counter32,
	rcvPortBytesDiscXceedDEThresh 	  Counter32
    }

cntPortNum OBJECT-TYPE
    SYNTAX	Integer32(1..2147483647)
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "This is the frame relay(logical) port number.

        The value of this object must be same as the 
        value of object 'portNum' in frPortCnfPortGrpTable."
    ::= { frPortCntPortGrpEntry 1}

rcvPortFrames OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames Received on the ingress."
    ::= { frPortCntPortGrpEntry	2 }

rcvPortBytes OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Bytes"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of bytes Received on the ingress."
    ::= { frPortCntPortGrpEntry	3 }

rcvPortFramesDE OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames with DE bit set 
        received on the ingress."
    ::= { frPortCntPortGrpEntry	4 }

rcvPortFramesFECN OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames with FECN bit set 
        received on the ingress."
    ::= { frPortCntPortGrpEntry	5 }

rcvPortFramesBECN OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames with BECN bit set
        received on the ingress."
    ::= { frPortCntPortGrpEntry	6 }

rcvFramesDiscCRCError OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames discarded on the ingress
        due to CRC error."
    ::= { frPortCntPortGrpEntry	7 }

rcvFramesDiscAlignmentError OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames discarded on the ingress
        due to Alignment error."
    ::= { frPortCntPortGrpEntry	8 }

rcvFramesDiscIllegalLen OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames discarded on the ingress
        due to illegal length."
    ::= { frPortCntPortGrpEntry	9 }

rcvFramesDiscIllegalHeader OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames discarded on the ingress
        due to illegal header."
    ::= { frPortCntPortGrpEntry	10 }

rcvFramesAbort OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of received frames aborted
        "
    ::= { frPortCntPortGrpEntry	11 }

rcvFramesUnknownDLCI OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames received with an unknown DLCI."
    ::= { frPortCntPortGrpEntry	12 }

rcvLastUnknownDLCI OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The last unknown DLCI received."
::= { frPortCntPortGrpEntry	13 }

rcvPortFramesTaggedFECN OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames received that were
        tagged with FECN bit."
    ::= { frPortCntPortGrpEntry	14 }

rcvPortFramesTaggedBECN OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames received that were
        tagged with BECN bit."
    ::= { frPortCntPortGrpEntry	15 }

rcvPortFramesTaggedDE OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames received that were
        tagged with DE bit."
    ::= { frPortCntPortGrpEntry	16 }

rcvPortFramesDiscXceedDEThresh OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "Frames"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION		  
        "The number of frames discarded on the ingress
        due to exceeded DE Threshold."
    ::= { frPortCntPortGrpEntry	17 }

rcvPortKbpsAIR OBJECT-TYPE
    SYNTAX	Integer32
    UNITS       "kbps"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "Received Average Information Rate in KBPS."
    ::= { frPortCntPortGrpEntry	18 }

rcvBufNotAvailable OBJECT-TYPE
    SYNTAX	Counter32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of times the receiver is turned off
        "
    ::= { frPortCntPortGrpEntry	19 }

xmtPortFrames OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames transmitted."
    ::= { frPortCntPortGrpEntry	20 }

xmtPortBytes OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Bytes"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of bytes transmitted."
    ::= { frPortCntPortGrpEntry	21 }

xmtPortFramesFECN OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames transmitted with
        FECN bit already set."
    ::= { frPortCntPortGrpEntry	22 }

xmtPortFramesBECN OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames transmitted with
        BECN bit already set."
    ::= { frPortCntPortGrpEntry	23 }

xmtPortFramesDiscXceedQDepth OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames discarded on the egress
        due to exceeded queue depth

        For FRSM12 Card: Not Supported
        "
    ::= { frPortCntPortGrpEntry	24 }

xmtPortBytesDiscXceedQDepth OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "Bytes"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION		  
        "The number of bytes discarded on the egress
        due to exceeded queue depth

        For FRSM12 Card: Not Supported
        "
    ::= { frPortCntPortGrpEntry	25 }

xmtPortFramesDuringLMIAlarm OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames transmitted during
        LMI logical port alarm
        "
    ::= { frPortCntPortGrpEntry	26 }

xmtPortBytesDuringLMIAlarm OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Bytes"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of bytes transmitted during
        LMI logical port alarm
        "
    ::= { frPortCntPortGrpEntry	27 }

xmtFramesAbort OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of transmit frames aborted
        For FRSM12 Card: Not Supported
        "
    ::= { frPortCntPortGrpEntry	28 }

xmtFramesUnderrun OBJECT-TYPE
    SYNTAX	Counter32
    UNITS      "Frames"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of frames discarded due to underrun."
    ::= { frPortCntPortGrpEntry	29 }

xmtPortKbpsAIR OBJECT-TYPE
    SYNTAX	Integer32
    UNITS       "Kbps"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "Transmit Average Information Rate in KBPS."
    ::= { frPortCntPortGrpEntry	30 }

xmtBufNotAvailable OBJECT-TYPE
    SYNTAX	Counter32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION		  
        "The number of times the transmitter is turned off

        For FRSM12 Card: Not Supported
        "
::= { frPortCntPortGrpEntry	31 }

portClrButton OBJECT-TYPE
    SYNTAX	INTEGER {
                    noaction (1),
                    clear    (2)
                }
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION		  
        "The value of this object is used for clearing
        all the port related statistics counters.

        clear(2)    : Clears the Counters.
        noaction(1) : No action taken."
    ::= { frPortCntPortGrpEntry	32 }

rcvFramesDiscNoChan OBJECT-TYPE
    SYNTAX  Counter32
    UNITS      "Frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The number of frames received when no
        channel is setup."
    ::= { frPortCntPortGrpEntry     33 }

rcvFramesDiscOverrun OBJECT-TYPE
    SYNTAX  Counter32
    UNITS      "Frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        " The number of frames discarded in Ingress direction
        due to FIFO overrun in HDLC Controller.

        This object is not applicable to MGX Release 1.x
    "
    ::= { frPortCntPortGrpEntry     34 }

rcvPortFramesDiscard OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    " Number of framesdiscarded in the ingress direction by 
	      the port
            "
	::= { frPortCntPortGrpEntry	35 }

xmtPortFramesDE OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    " Number of frames transmitted in the egress direction
	      by the port with DE bit set to 1
	    "
	::= { frPortCntPortGrpEntry	36 }

xmtPortBytesDE OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    " Number of bytes transmitted in the egress direction
	      by the port with DE bit set to 1
	    "
	::= { frPortCntPortGrpEntry	37 }

rcvPortBytesDE OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    " Number of bytes received in the ingress direction
	      by the port with DE bit set to 1
	    "
	::= { frPortCntPortGrpEntry	38 }

xmtPortFramesDiscXceedDEThresh OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    " Number of frames discarded in the egress direction
	      by the port due to exceeded DE Threshold
	    "
	::= { frPortCntPortGrpEntry	39 }

xmtPortBytesDiscXceedDEThresh OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
	    " Number of bytes discarded in the egress direction
	      by the port due to exceeded DE Threshold
	    "
	::= { frPortCntPortGrpEntry	40 }

rcvPortBytesDiscXceedDEThresh OBJECT-TYPE
	SYNTAX     Counter32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
	    " Number of bytes discarded in the ingress direction
	      by the port due to exceeded DE Threshold
	    "
	::= { frPortCntPortGrpEntry	41 }

-- Pors Usage table specific to FRSM VHS Card.

frPortsUsedLineGrpTable         OBJECT-TYPE
    SYNTAX     SEQUENCE OF FrPortsUsedLineGrpEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table Contains information on the DS0 time slots
        used in each DS1 interface."
    ::= { frPortCnfPortGrp 11 }

frPortsUsedLineGrpEntry         OBJECT-TYPE
    SYNTAX     FrPortsUsedLineGrpEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry for each DS1 interface."
    INDEX   { frPortsUsedLineIndex }
    ::= { frPortsUsedLineGrpTable 1 }

FrPortsUsedLineGrpEntry ::=
    SEQUENCE {
        frPortsUsedLineIndex Integer32,
        frPortsUsedLine      Integer32
    }

frPortsUsedLineIndex    OBJECT-TYPE
    SYNTAX     Integer32(1..56)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object uniquely identifies the
        DS1 interface."
    ::= { frPortsUsedLineGrpEntry 1 }

frPortsUsedLine   OBJECT-TYPE
    SYNTAX     Integer32 (0..'ffffff'h)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of this object provides the information
        on DS0 time slots used by the DS1 identified by
        'frPortsUsedLineIndex' object. 

        A bit set represents a DS0 that is used by all the
        logical ports defined so far for DS1 interface.
        The most significant byte is invalid for DS1."
    ::= { frPortsUsedLineGrpEntry 2 }


-- --------------------------------------------------------------------
--
--
--		LOGICAL PORT CONFIG Group
--
--
-- --------------------------------------------------------------------


frPortServiceQueGrpTable	OBJECT-TYPE
    SYNTAX	SEQUENCE OF FrPortServiceQueGrpEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
        "The config table is for logical port interface. 
        In FRSM-VHS, there are 256 entries for FRSM-2CT3 card and
        2 entries for FRSM-T3/E3/HS2/T3B/E3B/HS2B-HSSI cards and
        8 entries for FRSM-HS2B-12IN1. The table is 
        supported only in FRSM-VHS when the object egrQosFeature
        in the cardSpecific group is set to egrQosFeatureEnabled. 
        "
    ::= { frPortServiceQueGrp 1 }

frPortServiceQueGrpEntry	OBJECT-TYPE
    SYNTAX	FrPortServiceQueGrpEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
        " An entry for logical port."
    INDEX	{frServPortNum, portServiceQueueNo }
    ::= { frPortServiceQueGrpTable 1 }

FrPortServiceQueGrpEntry ::=
    SEQUENCE {
        frServPortNum 	             Integer32,
        portServiceQueueNo           INTEGER,
        portEgresQDepth              Integer32,
        portEgresECNThresh           Integer32,
        portEgresDEThresh            Integer32,
        portQBwInc                   Integer32,
        portBytesDiscXceedQueFull    Counter32,
        portBytesDiscXceedDEThresh   Counter32
    }

frServPortNum	OBJECT-TYPE
    SYNTAX	Integer32 (1..2147483647) 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "This is the frame relay port number.

        The value of this object must match with the
        value of object 'portNum' in frPortCnfPortGrpTable."
    ::= { frPortServiceQueGrpEntry 1}

portServiceQueueNo      OBJECT-TYPE
    SYNTAX  INTEGER{
                highpriorityQ (1),
                rtVBRQ        (2),
                nrtVBRandABRQ (3),
                uBRQ          (4),
                queue5        (5),
                queue6        (6),
                queue7        (7),
                queue8        (8)
            }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This identifies the Q depending on the Service Type
            1 High Priority Queue
            2 rt VBR Queue
            3 nrt VBR and ABR Queue
            4 UBR Queue
            queue5(5) to queue8(8) are reserved for future use
            There are 8 queues but only four are being used as of now.
        "
    ::= { frPortServiceQueGrpEntry 2 }

portEgresQDepth      OBJECT-TYPE
    SYNTAX  Integer32(0..2097151)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Indicates the peak Egress queue depth for 
        the frame relay port. The total queue depth of
        all connections mapped to this queue should not 
        exceed this value."
    DEFVAL {1048575}
    ::= { frPortServiceQueGrpEntry 3 }

portEgresECNThresh        OBJECT-TYPE
    SYNTAX  Integer32(0..2097151)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "ECN threshold for the frame relay port.
        If the total queue depth of all connections 
        mapped to this port queue exceeds this threshold,
        then the appropriate ECN bit (FECN in the downstream direction and
        BECN in the upstream direction) get set."
    DEFVAL {104857}
    ::= { frPortServiceQueGrpEntry 4 }

portEgresDEThresh OBJECT-TYPE
    SYNTAX  Integer32(0..2097151)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "DE threshold for the frame relay port. 
        If the total queue depth of all connections 
        mapped to this port queue exceeds this threshold,
        and the DE bit is set in the incoming frame, then
        the frame gets dropped."
    DEFVAL {524287}
    ::= { frPortServiceQueGrpEntry 5 }

portQBwInc      OBJECT-TYPE
    SYNTAX  Integer32(0..16383)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Denotes the bandwidth increment for this 
        port queue. The bandwidth increment is the 
        percentage of the port bandwidth used by all
        connections mapped to a particular queue scaled
        by the value 16384."
    ::= { frPortServiceQueGrpEntry 6 }

portBytesDiscXceedQueFull OBJECT-TYPE
    SYNTAX	Counter32
    UNITS       "Bytes"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Counter maintained for the no of bytes 
        discarded due to port queue depth exceeded."
    ::= { frPortServiceQueGrpEntry 7 }

portBytesDiscXceedDEThresh	OBJECT-TYPE
    SYNTAX	Counter32
    UNITS       "Bytes"
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
        "Counter maintained for the no of bytes
        discarded due to DE threshold exceeded."
    ::= { frPortServiceQueGrpEntry 8 }


-- conformance information

ciscoWanFrPortMIBConformance  OBJECT IDENTIFIER ::= { ciscoWanFrPortMIB 2 }

ciscoWanFrPortMIBGroups       OBJECT IDENTIFIER ::= 
                              { ciscoWanFrPortMIBConformance 1 }

ciscoWanFrPortMIBCompliances  OBJECT IDENTIFIER ::= 
                              { ciscoWanFrPortMIBConformance 2 }

-- compliance statements

ciscoWanFrPortCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for objects related
        to Frame Relay Ports."
    MODULE  -- this module
        MANDATORY-GROUPS {
            ciscoWanFrPortConfGroup,
            ciscoWanFrPortStateGroup,
            ciscoWanFrPortStatsGroup
        }
    GROUP ciscoWanFrPortSvcGroup
    DESCRIPTION
        "This group is current for those frame relay
        interfaces where SVC is supported."

    GROUP ciscoWanFrPortDs0InDs1Group
    DESCRIPTION
        "This group is mandatory for those frame relay
        interfaces where DS0 time slots are supported
        in a DS1 interface."

    GROUP ciscoWanFrPortsUsedGroup
    DESCRIPTION
        "This group is mandatory for those frame relay
        interfaces where DS0 time slot information
        is supported."
    GROUP ciscoWanFrPortServiceQueueGroup 
    DESCRIPTION
        "This group is mandatory for those frame relay
        interfaces where Service Queue is supported."
    ::= { ciscoWanFrPortMIBCompliances 1 }

ciscoWanFrPortConfGroup OBJECT-GROUP
    OBJECTS {
        portNum,
        portLineNum,	
        portRowStatus,
        portDs0ConfigBitMap,	 	
        portDs0Speed,
        portFlagsBetweenFrames,
        portEqueueServiceRatio,
        portSpeed,
        portAdmin,
        portType,
        portBERTEnable,
        portEnhancedSIW,
        portM32EgrQueueThresh,
        portHeaderLen,
        portFrameChkSumType,
        portFileId,
        portOverSubEnable
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used to represent
          Frame Relay Port information."
      ::= { ciscoWanFrPortMIBGroups 1 }
  
ciscoWanFrPortSvcGroup OBJECT-GROUP
    OBJECTS {
        portSvcStatus,
        portSvcInUse,
        portSvcShareLcn,
        portSvcLcnLow,
        portSvcLcnHigh,
        portSvcDlciLow,
        portSvcDlciHigh,
        portDeleteSvcs,
        portIngrSvcBandW,
        portEgrSvcBandW
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used to represent
          SVC characteristics of a Frame Relay Port."
      ::= { ciscoWanFrPortMIBGroups 2 }

ciscoWanFrPortDs0InDs1Group OBJECT-GROUP
    OBJECTS {
        portsUsedLine1,
        portsUsedLine2,
        portsUsedLine3,
        portsUsedLine4,
        portsUsedLine5,
        portsUsedLine6,
        portsUsedLine7,
        portsUsedLine8,
        portNextAvailable
      }
    STATUS current
      DESCRIPTION 
         "The objects representing the DS0(in DS1) that are 
         used by the frame relay logical ports."
      ::= { ciscoWanFrPortMIBGroups 3 }

ciscoWanFrPortStateGroup OBJECT-GROUP
    OBJECTS {
        statePortNum,
        portState,
        portSignallingState,
        portOversubscribed,
	portIngrPercentUtil,
	portEgrPercentUtil
      }
    STATUS current
      DESCRIPTION 
         "The collection of objects related to
         state information of Frame Relay Ports."
      ::= { ciscoWanFrPortMIBGroups 4 }
  
ciscoWanFrPortStatsGroup OBJECT-GROUP
    OBJECTS {
        cntPortNum,
	rcvPortFrames,		
	rcvPortBytes,		
	rcvPortFramesDE,		
	rcvPortFramesFECN,
	rcvPortFramesBECN,
	rcvFramesDiscCRCError,	
	rcvFramesDiscAlignmentError,
	rcvFramesDiscIllegalLen,
	rcvFramesDiscIllegalHeader,
	rcvFramesAbort,
	rcvFramesUnknownDLCI,
	rcvLastUnknownDLCI,
	rcvPortFramesTaggedFECN,
	rcvPortFramesTaggedBECN,
	rcvPortFramesTaggedDE,
	rcvPortFramesDiscXceedDEThresh,
	rcvPortKbpsAIR,
	rcvBufNotAvailable,
	xmtPortFrames,		
	xmtPortBytes,		
	xmtPortFramesFECN,
	xmtPortFramesBECN,
	xmtPortFramesDiscXceedQDepth,
	xmtPortBytesDiscXceedQDepth,
	xmtPortFramesDuringLMIAlarm,
	xmtPortBytesDuringLMIAlarm,
	xmtFramesAbort,		
	xmtFramesUnderrun,		
	xmtPortKbpsAIR,
	xmtBufNotAvailable,
	portClrButton,
	rcvFramesDiscNoChan,
	rcvFramesDiscOverrun,
	rcvPortFramesDiscard,
	xmtPortFramesDE,
	xmtPortBytesDE,
	rcvPortBytesDE,
	xmtPortFramesDiscXceedDEThresh,
	xmtPortBytesDiscXceedDEThresh,
	rcvPortBytesDiscXceedDEThresh
    }
    STATUS current
    DESCRIPTION 
        "The collection of objects related to
        statistics information of frame relay ports."
    ::= { ciscoWanFrPortMIBGroups 5 }

ciscoWanFrPortServiceQueueGroup OBJECT-GROUP
    OBJECTS {
        frServPortNum,	
	portServiceQueueNo,
        portEgresQDepth,
        portEgresECNThresh,
        portEgresDEThresh,
	portQBwInc,
	portBytesDiscXceedQueFull,
	portBytesDiscXceedDEThresh
    }
    STATUS current
    DESCRIPTION 
        "The collection of objects related to
        service queue on frame relay ports."
    ::= { ciscoWanFrPortMIBGroups 6 }

ciscoWanFrPortsUsedGroup OBJECT-GROUP
    OBJECTS {
        frPortsUsedLineIndex,
        frPortsUsedLine
    }
    STATUS current
    DESCRIPTION 
        "The collection of objects related to information
        on DS0 time slots used in each DS1 line."
    ::= { ciscoWanFrPortMIBGroups 7 }

END

