--****************************************************************
-- CISCO-DMN-DSG-MPE.mib : MPE mib file.
--
-- August 2010, TEL MIB team.
--
-- Copyright (c) 2010, Cisco systems Inc.
-- All rights reserved.
--*****************************************************************

CISCO-DMN-DSG-MPE-MIB

DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE, Integer32, IpAddress
        FROM SNMPv2-SMI
    RowStatus
        FROM SNMPv2-TC
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    ciscoDSGUtilities
        FROM CISCO-DMN-DSG-ROOT-MIB;

ciscoDSGMPE     MODULE-IDENTITY
    LAST-UPDATED    "201008301100Z" -- August 30 2010 11:00:00 GMT
    ORGANIZATION    "Cisco systems, Inc."
    CONTACT-INFO
           "Cisco Systems, Inc.
            Customer Service
            Postal: 170 W Tasman Drive
            San Jose, CA 95134
            USA
            Tel: +1 800 553 NETS
            E-mail: cs-ipsla@cisco.com"
    DESCRIPTION     "Cisco DSG MPE (Multi Protocol Encapsulation) MIB."

    REVISION       "201008301100Z"
    DESCRIPTION    "V01.00.03 2010-08-30
                   Updated for adherence to SNMPv2 format."

    REVISION       "201005070630Z"
    DESCRIPTION    "V01.00.02 2010-05-07
                    Added saticMulticastTable."

    REVISION       "201005031100Z"
    DESCRIPTION    "V01.00.01 2010-05-03
                    mpeConfigForwarding item options - correction."

    REVISION       "201004120600Z"
    DESCRIPTION    "V01.00.00 2010-04-12
                    Initial Revision."

    ::= { ciscoDSGUtilities 26 }

mpeTable                     OBJECT IDENTIFIER ::= { ciscoDSGMPE 2 }

--*******************************
-- MPE table branch
--******************************

--*******************************
-- MPE Config table branch
--******************************

mpeConfigTable  OBJECT-TYPE
    SYNTAX  SEQUENCE OF MpeConfigEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "MPE cofiguraton table."
     ::= { mpeTable 1 }

mpeConfigEntry  OBJECT-TYPE
    SYNTAX  MpeConfigEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Entry for MPE Config Table."
    INDEX    { mpeConfigPortID }
     ::= { mpeConfigTable 1 }

MpeConfigEntry    ::= SEQUENCE
{
    mpeConfigPortID         Integer32,
    mpeConfigForwarding     INTEGER,
    mpeConfigIGMP           INTEGER,
    mpeConfigRIP            INTEGER,
    mpeMultipacket          INTEGER
}

mpeConfigPortID    OBJECT-TYPE
    SYNTAX    Integer32(1..2)
    MAX-ACCESS    not-accessible
    STATUS    current
    DESCRIPTION
        "Ethernet port ID.Index for MPE Configuration table."
     ::= { mpeConfigEntry 1 }

mpeConfigForwarding    OBJECT-TYPE
    SYNTAX      INTEGER {
                forwardNone(1),
                forwardAll(2),
                forwardFilteredList(3)
            }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "MPECFG forwarding Mode."
    ::= { mpeConfigEntry 2 }

mpeConfigIGMP   OBJECT-TYPE
    SYNTAX      INTEGER {
                no(1),
                yes(2)
            }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "MPECFG IGMP support."
    ::= { mpeConfigEntry 3 }

mpeConfigRIP    OBJECT-TYPE
    SYNTAX      INTEGER {
                no(1),
                yes(2)
            }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "MPECFG RIP support."
    ::= { mpeConfigEntry 4 }

mpeMultipacket    OBJECT-TYPE
   SYNTAX      INTEGER {
                lowerJitter(1),
                higherBitRate(24)
          }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION
      "Multipacket Control."
    ::= { mpeConfigEntry 5 }


--***************************************
-- Unicast Table branch
--***************************************

unicastTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF UnicastEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Unicast Table."
    ::= { mpeTable 2 }

unicastEntry    OBJECT-TYPE
    SYNTAX      UnicastEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entry for Unicast Table."
    INDEX   { unicastIdx }
    ::= { unicastTable 1 }

UnicastEntry    ::= SEQUENCE
{
    unicastIdx            Integer32,
    unicastRoute          IpAddress,
    unicastMask           Integer32,
    unicastOutputPortID   Integer32,
    unicastGatewayAddr    IpAddress,
    unicastRowStatus      RowStatus
}

unicastIdx      OBJECT-TYPE
    SYNTAX      Integer32(1..6)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index for Unicast Table."
    ::= { unicastEntry 1 }

unicastRoute    OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Destination IP adddress to which the data is to be forwarded.
         Format: ###.###.###.###, Range of ### is 0 to 255."
    ::= { unicastEntry 2 }

unicastMask     OBJECT-TYPE
    SYNTAX      Integer32(8..32)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "IP Mask for Destination IP address."
    ::= { unicastEntry 3 }

unicastOutputPortID     OBJECT-TYPE
    SYNTAX      Integer32(1..2)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Unicast Output port ID."
    ::= { unicastEntry 4 }

unicastGatewayAddr      OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Unicast Gateway Address.
         Format: ###.###.###.###, Range of ### is 0 to 255."
    ::= { unicastEntry 5 }

unicastRowStatus    OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        " MPECFG:UnicastRowStatus.Used to add or delete rows in
          unicast table."
    ::= { unicastEntry 6 }


--***************************************
-- Static Multicast Table branch
--***************************************

staticMulticastTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF StaticMulticastEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Static Multicast Table."
    ::= { mpeTable 3 }

staticMulticastEntry   OBJECT-TYPE
    SYNTAX      StaticMulticastEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entry for Static Multicast Table."
    INDEX   { staticMulticastIdx }
    ::= { staticMulticastTable 1 }

StaticMulticastEntry    ::= SEQUENCE
{
    staticMulticastIdx             Integer32,
    staticMulticastGroupAddress    IpAddress,
    staticMulticastRowstatus       RowStatus
}

staticMulticastIdx   OBJECT-TYPE
    SYNTAX      Integer32(1..16)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index for Static Multicast Table."
    ::= { staticMulticastEntry 1 }

staticMulticastGroupAddress   OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Static Multicast group address.
         The allowed range is from 224.0.0.0 to 239.255.255.255."
    ::= { staticMulticastEntry 2 }

staticMulticastRowstatus   OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Static Multicast table row status.
         Used to add or delete rows in this table."
    ::= { staticMulticastEntry 3 }


--**********************************
-- MPE MIB Group conformance
--**********************************

mpeMIBConformance          OBJECT IDENTIFIER ::= { ciscoDSGMPE 3 }
mpeMIBCompliances          OBJECT IDENTIFIER ::= { mpeMIBConformance 1 }
mpeMIBGroups               OBJECT IDENTIFIER ::= { mpeMIBConformance 2 }

mpeCompliance   MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
                "The compliance statement for SNMP entities
                which implement the MPE mib."
    MODULE  -- this module
    MANDATORY-GROUPS    { mpeConfigGroup,
                          unicastGroup,
                          staticMulticastGroup }
    ::= { mpeMIBCompliances 1 }

mpeConfigGroup   OBJECT-GROUP
    OBJECTS { mpeConfigForwarding,
              mpeConfigIGMP,
              mpeConfigRIP,
              mpeMultipacket }
    STATUS          current
    DESCRIPTION     "A collection of objects for MPE configuration."
    ::= { mpeMIBGroups 1 }

unicastGroup    OBJECT-GROUP
    OBJECTS { unicastRoute,
              unicastMask,
              unicastOutputPortID,
              unicastGatewayAddr,
              unicastRowStatus }
    STATUS       current
    DESCRIPTION  "A collection of objects for Unicast table."
    ::= { mpeMIBGroups 2 }

staticMulticastGroup    OBJECT-GROUP
    OBJECTS { staticMulticastGroupAddress,
              staticMulticastRowstatus }
    STATUS       current
    DESCRIPTION  "A collection of objects for Static Multicast table."
    ::= { mpeMIBGroups 3 }


END

