-- *******************************************************************
-- Description of managed objects for Ethernet access interfaces.
--   
-- January 2005, Gunnar Lovblom
--   
-- Copyright (c) 2005, 2007, 2009 by Cisco Systems Inc.
-- All rights reserved.
-- ******************************************************************

CISCO-ETHERNET-ACCESS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    Integer32,
    MODULE-IDENTITY,
    OBJECT-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    ifIndex
        FROM IF-MIB
    vtpVlanIndex,
    managementDomainIndex
        FROM CISCO-VTP-MIB
    ciscoMgmt
        FROM CISCO-SMI;


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

            Postal: 170 W Tasman Drive
            San Jose, CA 95134

            Tel: +1 800 553-NETS

            E-mail: cs-dsbu@cisco.com"
    DESCRIPTION
        "The tables defined by this MIB module contain a collection
        of managed objects that are general in nature and apply to
        an edge device in an organizations network, e.g. a Metro 
        Ethernet network. An edge device, is a customer located 
        equipment, this is the first device which will connect the
        Service Provider's network and map subscriber traffic into
        the next layer. The access media could be either CAT5 or
        fiber. The access device (edge device) can be designed for
        DSL, Ethernet or other technologies, however, this MIB is 
        designed for Ethernet. 

        Terminology:
        UNI - User to Network Interface 
        NNI - Network to Network Interface.
        ENI - Enhanced Network Interface. Enhanced UNI port.
        module/device
            - In an environment (specifically, in an SNMP context)
              consisting of a single chassis which can contain
              multiple cards, the term 'module' refers to a card
              and the term 'device' refers to the whole chassis.
              In an environment where multiple chassis are 'stacked'
              together, the term 'module' refers to a chassis and
              the term 'device' refers to the whole stack.
              In an environment containing only a single chassis
              without removable cards, the terms 'device' and
              'module' both refer to the chassis and its contents."
    REVISION        "200709140000Z"
    DESCRIPTION
        "Added ENI as a new port type to the ceaPortType and
        ceaPortCapability objects."
    REVISION        "200501180000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 466 }


-- MIB Objects Definitions

ciscoEthernetAccessMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoEthernetAccessMIB 1 }

ciscoEthernetAccessMIBConform  OBJECT IDENTIFIER
    ::= { ciscoEthernetAccessMIB 2 }

ceaGlobals  OBJECT IDENTIFIER
    ::= { ciscoEthernetAccessMIBObjects 1 }

ceaConfig  OBJECT IDENTIFIER
    ::= { ciscoEthernetAccessMIBObjects 2 }


-- Textual Conventions

CeaVlanUNIType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The type of a VLAN.

        'other' -- this VLAN is not a UNI VLAN 

        'isolated' -- this VLAN is a UNI isolated VLAN.  
            UNI ports that are members of a UNI isolated VLAN can
            not communicate with other ports in that VLAN, however 
            NNI ports can communicate with UNI and NNI ports in the
            same VLAN. 

        'community' -- this VLAN is a UNI community VLAN.  
        UNI and NNI ports that are members of the community 
        VLAN can communicate with all other UNI and NNI ports 
        in the same VLAN."
    SYNTAX          INTEGER  {
                        other(1),
                        isolated(2),
                        community(3)
                    }

ceaMaxNNIPorts OBJECT-TYPE
    SYNTAX          Integer32 (0..512)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The max number of interfaces per module for which the
        ceaPortType can have the value 'nni'.
        The value of 0 is returned by this object if there is no 
        limitation to the number of NNI ports." 
    ::= { ceaGlobals 1 }

ceaMaxUNIVlanCommunityPorts OBJECT-TYPE
    SYNTAX          Integer32 (0..512)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum number of ports on this device for which
        the ceaUNIVlanType object can have the value 'community'.
        The value of 0 is returned by this object if there is no 
        limitation to the number of UNI VLAN Communities." 
    ::= { ceaGlobals 2 }
-- ceaPortTable

ceaPortTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CeaPortEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains Ethernet port specific information.
        There exists an entry for each Ethernet port with an ifType
        of 6 (ethernetCsmacd) in this table.
        Note that the maximum number of NNI ports that can be
        configured per module on this device is given by the value
        of ceaMaxNNIPorts."
    ::= { ceaConfig 1 }

ceaPortEntry OBJECT-TYPE
    SYNTAX          CeaPortEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A set of Ethernet port specific parameters for a device
        which can be configured with a mixture of port types 
        defined by the ceaPortType object."
    INDEX           { ifIndex } 
    ::= { ceaPortTable 1 }

CeaPortEntry ::= SEQUENCE {
        ceaPortType       INTEGER,
        ceaPortCapability BITS
}

ceaPortType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        unspecified(1),
                        uni(2),
                        nni(3),
                        eni(4)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The current configuration of the port. Only ports that are
        supported by the  ceaPortCapability object can be set.
        Unspecified port type is any other port type than NNI, 
        UNI or ENI.
        unspecified = Not UNI, or NNI, or ENI
        uni         = User to Network Interface port type.
        nni         = Network to Network Interface port type.
        eni         = Enhanced UNI port type." 
    ::= { ceaPortEntry 1 }

ceaPortCapability OBJECT-TYPE
    SYNTAX          BITS {
                        nni(0),
                        uni(1),
                        eni(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Types   supported by the Ethernet port. If a port doesn't
        support the port type the ceaPortType will not allow 
        set of the unsupported type.
        nni  = Port supports NNI.
        uni  = Port supports UNI.
        eni  = Port supports ENI." 
    ::= { ceaPortEntry 2 }
 

-- ceaUNIVlanTable

ceaUNIVlanTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CeaUNIVlanEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains UNI VLAN information for all the VLANs
        which currently exist on this device. 
        The number of UNI ports that can belong to a VLAN type 
        'community' is limited by the ceaMaxUNIVlanCommunityPorts 
        object."
    ::= { ceaConfig 2 }

ceaUNIVlanEntry OBJECT-TYPE
    SYNTAX          CeaUNIVlanEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "There is an entry in this table for each VLAN that
        exist on this device."
    INDEX           {
                        managementDomainIndex,
                        vtpVlanIndex
                    } 
    ::= { ceaUNIVlanTable 1 }

CeaUNIVlanEntry ::= SEQUENCE {
        ceaUNIVlanType CeaVlanUNIType
}

ceaUNIVlanType OBJECT-TYPE
    SYNTAX          CeaVlanUNIType
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Indicates the VLAN type defined for the UNI VLAN." 
    ::= { ceaUNIVlanEntry 1 }
 

-- MIB Conformance Statements

cEthernetAccessMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoEthernetAccessMIBConform 1 }

cEthernetAccessMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoEthernetAccessMIBConform 2 }


-- Compliance

cEthernetAccessMIBCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities that implement the
        CISCO-ETHERNET-ACCESS-MIB. Implementation of this MIB is
        mandatory for any platform that have Ethernet UNI/NNI 
        capable interfaces."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ceaPortGroup,
                        ceaVlanGroup
                    }

    OBJECT          ceaUNIVlanType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ceaPortType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { cEthernetAccessMIBCompliances 1 }

-- Units of Conformance

ceaPortGroup OBJECT-GROUP
    OBJECTS         {
                        ceaMaxNNIPorts,
                        ceaPortType,
                        ceaPortCapability
                    }
    STATUS          current
    DESCRIPTION
        "A collection of managed objects defining port types."
    ::= { cEthernetAccessMIBGroups 1 }

ceaVlanGroup OBJECT-GROUP
    OBJECTS         {
                        ceaMaxUNIVlanCommunityPorts,
                        ceaUNIVlanType
                    }
    STATUS          current
    DESCRIPTION
        "A collection of managed objects defining VLAN types."
    ::= { cEthernetAccessMIBGroups 2 }

END



