--          *****************************
--          *                           *
--          *         ONEOS MIB         *
--          *                           *
--          *****************************
--
--          ONEOS_MIB_STD_V05.1.R002_E004
--
--          Creation date : 07/08/2010

ONEACCESS-VLAN-CONFIG-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32, Unsigned32,
        Counter32,
        Gauge32,
        Counter64
                FROM SNMPv2-SMI

        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF

        TEXTUAL-CONVENTION,
        DisplayString,
        RowStatus
                FROM SNMPv2-TC

	    ifIndex, InterfaceIndex
                FROM IF-MIB
        oacExpIMIp, oacMIBModules
		        FROM ONEACCESS-GLOBAL-REG;


oaVlanConfigMIB MODULE-IDENTITY

        LAST-UPDATED    "201106150000Z"
        ORGANIZATION    " OneAccess "
        CONTACT-INFO
           "Pascal KESTELOOT
            Postal: ONE ACCESS
                    381 Avenue du Gnral de Gaulle
                    92140 Clamart, France
		    FRANCE

            Tel: (+33) 01 41 87 70 00
            Fax: (+33) 01 41 87 74 00

            E-mail: pascal.kesteloot@oneaccess-net.com"

    DESCRIPTION
                    "Contact updated"
    REVISION        "201106150000Z"
    
	DESCRIPTION
		"Fixed minor corrections."
	REVISION	"201007080001Z"

	DESCRIPTION
        "This MIB defines configuration capabilities relating to
        Vlan, Vlan QinQ and Vlan Mapping on interfaces.

        IEEE 802.1Q VLAN specification provides for an option to tag
        Ethernet frames with two VLAN tags:

        - An inner tag that specifies the customer's VLAN ID.  This tag
          is called the 'C-VLAN'.

        - An outer tag that specifies the service provider's VLAN ID.
          This tag is called the 'SP-VLAN'."

	::= { oacMIBModules 681 }

-- Textual Conventions



SPVlanEtherType ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention defines the different EtherType of a SPVLAN.

        etherType-8100 - Specifies Ethertype value 0x8100,
        				as defined in IEEE Standard 802.1q

        etherType-9100 - Specifies Ethertype value 0x9100

        etherType-88a8 - Specifies Ethertype value 0x88a8,
        				as defined in IEEE Standard 802.1ad "
    SYNTAX  INTEGER
		{
        etherType-8100(1),
        etherType-9100(2),
        etherType-88a8(3)
    }

--
-- Node definitions
--
		oacVlanConfig OBJECT IDENTIFIER ::= {oacExpIMIp 6 }

		oacVlanConfigObjects      OBJECT IDENTIFIER ::= { oacVlanConfig 1  }
		oacVlanConfigConformance  OBJECT IDENTIFIER ::= { oacVlanConfig 2  }

-- Vlan and QinQ Config

oacVlanMappingConfigInterfaceObjects OBJECT IDENTIFIER ::= {oacVlanConfigObjects 1 }

oacVlanConfigInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OacVlanConfigInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains the Vlan or Vlan QinQ configuration
        on interfaces.

        The ifIndex in the INDEX clause identifies the interface
        where Vlan configuration is applied"

        ::= { oacVlanMappingConfigInterfaceObjects 1 }

oacVlanConfigInterfaceEntry OBJECT-TYPE
    SYNTAX      OacVlanConfigInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in this table defines a Vlan interface."
    INDEX    { ifIndex}
    ::= { oacVlanConfigInterfaceTable 1 }

OacVlanConfigInterfaceEntry ::= SEQUENCE {
    oacVlanConfigInterfaceDot1qValue
        INTEGER,
    oacVlanConfigInterfaceSecondDot1qValue
        INTEGER,
    oacVlanConfigInterfaceDefaultPriority
        INTEGER,
    oacVlanConfigInterfaceRowStatus
        RowStatus
}

oacVlanConfigInterfaceDot1qValue OBJECT-TYPE
    SYNTAX INTEGER (0..4095)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The VLAN IDs of a frame.
         Default Value 0 for no VLAN ID configured."
    DEFVAL { 0 }
    ::= { oacVlanConfigInterfaceEntry 1 }

oacVlanConfigInterfaceSecondDot1qValue OBJECT-TYPE
    SYNTAX      INTEGER (0..4095)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The Second VLAN IDs of a QinQ frame.
         Default Value 0 for no Second VLAN ID configured."
    DEFVAL { 0 }
    ::= { oacVlanConfigInterfaceEntry 2 }

oacVlanConfigInterfaceDefaultPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Default IEEE 802.1p class of service/user priority
         By default Value = 0."
    DEFVAL { 0 }
    ::= { oacVlanConfigInterfaceEntry 3 }

oacVlanConfigInterfaceRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows the creation, modification, or deletion of the row"
    ::= { oacVlanConfigInterfaceEntry 4 }

-- VlanMapping

oacVlanMappingConfigObjects OBJECT IDENTIFIER ::= {oacVlanConfigObjects 2 }


vlanMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VlanMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains the Vlan Mapping configuration
        on interfaces.

        The ifIndex in the INDEX clause identifies the interface
        where Vlan Mapping is applied."

        ::= { oacVlanMappingConfigObjects 1 }

vlanMappingEntry OBJECT-TYPE
    SYNTAX      VlanMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in this table defines a QinQ interface."
    INDEX    { ifIndex, outerSPVlan}
    ::= { vlanMappingTable 1 }

VlanMappingEntry ::= SEQUENCE {
    innerCVlan      	OCTET STRING,
    outerSPVlan     Unsigned32,
    outerEtherType    SPVlanEtherType,
    vlanMappingRowStatus    RowStatus
}

innerCVlan OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..100))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The CVLAN IDs of the inner tag of a QinQ frame.
         Authorized value:
         		untagged - specify untagged frame
         		vlanid   - CVlan ID (example 100)
         		range    - A range of cvlan id (example 100-120)
         		default  - All other CVlan not matched
         		"
    ::= { vlanMappingEntry 1 }

outerSPVlan OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4095)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The SPVLAN ID of the outer tag of a QinQ frame."
    ::= { vlanMappingEntry 2 }

outerEtherType OBJECT-TYPE
    SYNTAX      SPVlanEtherType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This textual convention defines the different EtherType of a SPVLAN.

        etherType-8100 - Specifies Ethertype value 0x8100,
        				as defined in IEEE Standard 802.1q

        etherType-9100 - Specifies Ethertype value 0x9100

        etherType-88a8 - Specifies Ethertype value 0x88a8,
        				as defined in IEEE Standard 802.1ad "
     ::= { vlanMappingEntry 3 }


vlanMappingRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows the creation, modification, or deletion of the row"
    ::= { vlanMappingEntry 4 }



END
