-- *****************************************************************
-- CISCO-WAN-BBIF-PORT-MIB
--  Broad Band Interface Port MIB
--
-- August 2002, Subra Hegde
--
-- Copyright (c) 2002 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-WAN-BBIF-PORT-MIB DEFINITIONS ::= BEGIN
IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE, 
        Integer32,
        Counter32       FROM    SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP    FROM    SNMPv2-CONF
        bbIfCnf,
        bbIfCnt,
        bbIfStateGrp    FROM    BASIS-MIB
        ciscoWan        FROM    CISCOWAN-SMI;

ciscoWanBbifPortMIB MODULE-IDENTITY
        LAST-UPDATED    "200208300000Z"
        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 for configuration of ATM logical
        ports in PXM1 Service module in MGX82xx series.
        This MIB contains information on ATM Logical
        port statistics."

    REVISION    "200208300000Z"
    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 32 }

bbIfCnfPortGrp      OBJECT IDENTIFIER ::= { bbIfCnf 1}
 
-- *************************************************************************
--
--
--      BROADBAND INTERFACE  CONFIG Group
--
--
-- *************************************************************************
 
 
bbIfCnfPortGrpTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BbIfCnfPortGrpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION "
        The Broadband Interface config table is for logical interface.
        There will an entry for each of the logical partition of the 
        physical line.
    "
    ::= { bbIfCnfPortGrp 1 }

bbIfCnfPortGrpEntry OBJECT-TYPE
    SYNTAX  BbIfCnfPortGrpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION "
        An entry for the logical interface. The interface may be further
        be configured to be used as a virtual trunk OR as a UNI Port.
    "
    INDEX   { bbIfNum }
    ::= { bbIfCnfPortGrpTable  1 }

BbIfCnfPortGrpEntry ::=
    SEQUENCE {
        bbIfNum               Integer32,
        bbIfRowStatus         INTEGER,
        bbIfAdmin             INTEGER,
        bbIfLineNum           Integer32,
        bbIfIngrPctBandwidth  Integer32,
        bbIfEgrPctBandwidth   Integer32,
        bbIfMinVpi            Integer32,
        bbIfMaxVpi            Integer32,
        bbIfSpeed             Integer32,
        bbIfMaxCellRatePct    Integer32
    }

bbIfNum OBJECT-TYPE
    SYNTAX  Integer32 (1..32)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This is logical interface number within a physical line num.
        In MGX PXM1 card, a physical port can have a maximum of 32 logical
        interfaces."
    ::= { bbIfCnfPortGrpEntry 1}
 
bbIfRowStatus  OBJECT-TYPE
    SYNTAX  INTEGER {
        add (1),
        del (2),
        mod (3)
    }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "This variable enables or disables the logical interface.
         1 - enable
         2 - disable
         3 - modify"
    ::= { bbIfCnfPortGrpEntry 2 }

bbIfAdmin OBJECT-TYPE
    SYNTAX  INTEGER {
        up        (1),
        down      (2),
        writeOnly (3)
    }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "This variable enables or disables the logical interface.
        1 - up
        2 - down
        3 - writeOnly"
    ::= { bbIfCnfPortGrpEntry 3 }

bbIfLineNum OBJECT-TYPE
    SYNTAX     Integer32 (1..4)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The line number associated with the logical interface. 
        For PXM1, there  is currently 4 physical lines."
    ::= { bbIfCnfPortGrpEntry 4 }

bbIfIngrPctBandwidth OBJECT-TYPE
    SYNTAX     Integer32 ( 0..100 )
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The percentage of aggregate physical line bandwidth, available for
        this broadband interface - Ingress. Default is 0 %."
    DEFVAL { 0 }
    ::= { bbIfCnfPortGrpEntry  5 }

bbIfEgrPctBandwidth OBJECT-TYPE
    SYNTAX     Integer32 ( 0..100 )
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The percentage of aggregate physical line bandwidth, available for
        this broadband interface - Egress . Default is 0 %."
    DEFVAL { 0 }
    ::= { bbIfCnfPortGrpEntry  6 }

bbIfMinVpi OBJECT-TYPE
    SYNTAX     Integer32 ( 0..4095 )
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The lower limit of VPI range to be reserved for 
        this logical interface."
    ::= { bbIfCnfPortGrpEntry  7 }
 
bbIfMaxVpi OBJECT-TYPE
    SYNTAX     Integer32 ( 0..4095 )
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        "The upper limit of VPI range to be reserved 
        for this logical interface.

        For virtual trunks, bbIfMinVpi and bbIfMaxVpi should 
        be the same."
    ::= { bbIfCnfPortGrpEntry  8 }

bbIfSpeed  OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The speed of the port in cells per second."
    ::= { bbIfCnfPortGrpEntry 9 }

bbIfMaxCellRatePct  OBJECT-TYPE
    SYNTAX  Integer32 ( 0..100 )
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The maximum cell rate allowed for the port in terms of
        percentage.  Must be greater than or equal to 
        bbIfIngrPctBandwidth.
        The default is 100 percent."
    ::= { bbIfCnfPortGrpEntry 10 }

-- Scalars in the bbIfCnfPortGrp
 
nextBbIfNumAvailable    OBJECT-TYPE
    SYNTAX  INTEGER(1..32)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Indicates the next logical broadband interface  
        number that is available."
    ::= { bbIfCnfPortGrp 2 }


-- *************************************************************************
--
--
--      BROADBAND INTERFACE  STATE Group
--
--
-- *************************************************************************
 
bbIfStateGrpTable   OBJECT-TYPE
	SYNTAX  SEQUENCE OF BbIfStateGrpEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
            "The state table for the logical  interface."
	::= { bbIfStateGrp 1 }
 
bbIfStateGrpEntry   OBJECT-TYPE
	SYNTAX  BbIfStateGrpEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION 
	    "An entry for each logical interface representing
            the state."
	INDEX   { bbStateIfNum }
    ::= { bbIfStateGrpTable 1 }

BbIfStateGrpEntry ::=
	SEQUENCE {
		bbStateIfNum           INTEGER,
		bbIfState              INTEGER,
		bbIfOversubscribed     INTEGER,
		bbIfIngrPercentUtil    INTEGER,
		bbIfEgrPercentUtil     INTEGER
	}

bbStateIfNum        OBJECT-TYPE
	SYNTAX  INTEGER (1..32) 
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
            "This is logical interface number within a physical line num.
            In MGX PXM1 card, a physical port can have a maximum of 
            32 logical interfaces."
	::= { bbIfStateGrpEntry 1}

bbIfState  OBJECT-TYPE
    SYNTAX  INTEGER {
                notConfigured     (1),
		active            (2),
		linefailure       (4),
		signallingfailure (5),
		inactive          (6),
		lineinloopback    (7)

	}
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "This variable indicates the status of the logical interface.

            The following values are not supported for the logical interface.

              remoteloopback (3),
              outofcelldelineation (6),
              localloopback (7)."
	::= { bbIfStateGrpEntry 2 }
 
bbIfOversubscribed  OBJECT-TYPE
	SYNTAX  INTEGER {
		false (1),
		true  (2)
	}
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
            "This variable indicates the whether the logical interface is 
	    over subscribed or not."
	::= { bbIfStateGrpEntry 3 }

bbIfIngrPercentUtil OBJECT-TYPE
	SYNTAX  INTEGER (0..1000)  
	MAX-ACCESS  read-only 
	STATUS  current  
	DESCRIPTION
            "Percentage Utilization of the interface in the
            Ingress direction." 
	::= { bbIfStateGrpEntry  4 }

bbIfEgrPercentUtil OBJECT-TYPE
	SYNTAX  INTEGER (0..1000)  
	MAX-ACCESS  read-only 
	STATUS  current  
	DESCRIPTION
	    "Percentage Utilization of the interface in 
            the Egress direction." 
	::= { bbIfStateGrpEntry  5 }


bbIfCntGrp      OBJECT IDENTIFIER ::= { bbIfCnt 1}
 
-- *************************************************************************
--
--
--      BROADBAND INTERFACE  COUNT Group
--
--
-- *************************************************************************
 
bbIfCntGrpTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BbIfCntGrpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The Broadband Interface Count table is for logical interface.
        There will an entry for each of the logical partition of the
        physical line."
    ::= { bbIfCntGrp 1 }
 
bbIfCntGrpEntry OBJECT-TYPE
    SYNTAX  BbIfCntGrpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION 
        "An entry for logical interface."
    INDEX   { bbCntIfNum }
    ::= { bbIfCntGrpTable 1 }
 
BbIfCntGrpEntry ::=
    SEQUENCE {
		bbCntIfNum              INTEGER,
		bbIfTotalCells          Counter32,
		bbIfRcvValidOAMCells    Counter32,
		bbIfRcvRmCells          Counter32,
		bbIfRcvClp0Cells        Counter32,
		bbIfRcvClp1Cells        Counter32,
		bbIfRcvClp0DiscCells    Counter32,
		bbIfRcvClp1DiscCells    Counter32,
		bbIfXmtOAMCells         Counter32,
		bbIfXmtRmCells          Counter32,
		bbIfXmtClp0Cells        Counter32,
		bbIfXmtClp1Cells        Counter32,
		bbIfCntClrButton        INTEGER,
		bbIfRcvErroredCells     Counter32
	}

bbCntIfNum OBJECT-TYPE
	SYNTAX  INTEGER (1..32)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
            "Refers to the logical interface index."
	::= { bbIfCntGrpEntry 1}

bbIfTotalCells OBJECT-TYPE
	SYNTAX  Counter32 
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION 
            "Total number of cells (VC plus Qbin) that belong 
            to this Interface. This maps on to the virtual interface of QE."
	::= { bbIfCntGrpEntry 2  }

bbIfRcvValidOAMCells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Total number of OAM cell received."
	::= { bbIfCntGrpEntry 3 }

bbIfRcvRmCells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
            "Total number of RM cells Received."
	::= { bbIfCntGrpEntry 4 }

bbIfRcvClp0Cells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
            "Total number of CLP-0 cells Received."
	::= { bbIfCntGrpEntry 5 }
 
bbIfRcvClp1Cells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION 
	    "Total number of CLP-1 cells Received."
	::= { bbIfCntGrpEntry 6 }
 
bbIfRcvClp0DiscCells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Total number of CLP-0 cells discarded at Ingress."
	::= { bbIfCntGrpEntry 7 }

bbIfRcvClp1DiscCells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Total number of CLP-1 cells discarded at Ingress."
	::= { bbIfCntGrpEntry 8 }

bbIfXmtOAMCells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Total number of OAM cells transmitted."
	::= { bbIfCntGrpEntry 9 }
 
bbIfXmtRmCells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Total number of RM cells transmitted."
	::= { bbIfCntGrpEntry 10 }
 
bbIfXmtClp0Cells  OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Total number of CLP-0 cells transmitted."
	::= { bbIfCntGrpEntry 11 }
 
bbIfXmtClp1Cells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Total number of CLP-1 cells transmitted."
	::= { bbIfCntGrpEntry 12 }
 
bbIfCntClrButton OBJECT-TYPE
    SYNTAX  INTEGER {
		noAction (1),
		resetCounter32s (2)
	}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
	"Writing a value of 2 resets all the counters."
    ::= { bbIfCntGrpEntry 13 }

bbIfRcvErroredCells OBJECT-TYPE
	SYNTAX  Counter32
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
	    "Total number of cells with Invalid VPI VCI or
            Invalid PTI fields This is a card level counter and 
            hence will be the same for all instances of the ports."
	::= { bbIfCntGrpEntry 14 }

-- conformance information

cwbPortMIBConformance  OBJECT IDENTIFIER ::= { ciscoWanBbifPortMIB 2 }

cwbPortMIBGroups       OBJECT IDENTIFIER ::= { cwbPortMIBConformance 1 }

cwbPortMIBCompliances  OBJECT IDENTIFIER ::= { cwbPortMIBConformance 2 }

-- compliance statements

cwbPortCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for objects related
        to SRM MIB."
    MODULE  -- this module
    MANDATORY-GROUPS {
        cwbPortConfGroup,
        cwbPortStatsGroup
    }
    ::= { cwbPortMIBCompliances 1 }

cwbPortGenearlGroup OBJECT-GROUP
    OBJECTS {
        nextBbIfNumAvailable
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are applicable
          for general information about logical ports."
      ::= { cwbPortMIBGroups 1 }
  
cwbPortConfGroup OBJECT-GROUP
    OBJECTS {
        bbIfNum,
        bbIfRowStatus,
        bbIfAdmin,
        bbIfLineNum,
        bbIfIngrPctBandwidth,
        bbIfEgrPctBandwidth,
        bbIfMinVpi,
        bbIfMaxVpi,
        bbIfSpeed,
        bbIfMaxCellRatePct
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used for
          configuring ATM logical ports(known as 
          broad band interface ports)."
      ::= { cwbPortMIBGroups 2 }
  
cwbPortStateGroup OBJECT-GROUP
    OBJECTS {
        bbStateIfNum,
	bbIfState,
	bbIfOversubscribed,
	bbIfIngrPercentUtil,
	bbIfEgrPercentUtil
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used for
          finding the state of ATM logical ports(known as 
          broad band interface ports)."
      ::= { cwbPortMIBGroups 3 }
  
cwbPortStatsGroup OBJECT-GROUP
    OBJECTS {
        bbCntIfNum,
	bbIfTotalCells,
        bbIfRcvValidOAMCells,
	bbIfRcvRmCells,
	bbIfRcvClp0Cells,
	bbIfRcvClp1Cells,
	bbIfRcvClp0DiscCells,
	bbIfRcvClp1DiscCells,
	bbIfXmtOAMCells,
	bbIfXmtRmCells,
	bbIfXmtClp0Cells,
	bbIfXmtClp1Cells,
	bbIfCntClrButton,
	bbIfRcvErroredCells
    }
    STATUS current
    DESCRIPTION
        "The collection of objects containing
        the statistics information for   
        ATM Logical ports."
    ::= { cwbPortMIBGroups 4 }

END
