-- *****************************************************************
-- NMS-VLAN-EXT-MIB.my: NMS VLAN EXT MIB
--
-- January 2010
-- Edit by LIUQIANG
-- Copyright (c) 2010 by NMS, Inc.
-- All rights reserved.
-- *****************************************************************

NMS-VLAN-EXT-MIB DEFINITIONS ::= BEGIN 

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, Unsigned32,Counter64             FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, TimeStamp,
    TruthValue                                  FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP,
    NOTIFICATION-GROUP                          FROM SNMPv2-CONF
    nmsMgmt, nmslocal                                   	FROM NMS-SMI
    IpAddress, Counter                          FROM RFC1155-SMI
    DisplayString, PhysAddress,ifIndex		FROM RFC1213-MIB
    VlanIndex                                   FROM Q-BRIDGE-MIB
    EnabledStatus                               FROM P-BRIDGE-MIB;

--definition of nms device VLAN extended informations

               nmsvlanExt         OBJECT IDENTIFIER ::= { nmsMgmt 182 }
               
               
               dot1qVlanTransparentMode OBJECT-TYPE
                   SYNTAX  INTEGER{
                                   True(1), 
                                   False(2)
                                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "Vlan global transport mode.Not supported in S8500 series. "
                   ::= { nmsvlanExt 1 }
               
               dot1qVlanUntagged OBJECT-TYPE
                   SYNTAX  OCTET STRING
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "Vlan global transport mode.Not supported in S8500 series. "
                   ::= { nmsvlanExt 2 }     
      
              dot1qPortVlanTable OBJECT-TYPE
                   SYNTAX  SEQUENCE OF Dot1qPortVlanTableEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                            "A table of dot1qVlan operation."
                   ::= { nmsvlanExt 3 }

               dot1qPortVlanTableEntry OBJECT-TYPE
                   SYNTAX  Dot1qPortVlanTableEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                            "A collection of dot1qVlan operation."
                   INDEX { ifIndex }
               ::= { dot1qPortVlanTable 1 }

               Dot1qPortVlanTableEntry ::=
                   SEQUENCE {
                       dot1qPvid
                           VlanIndex,
                       dot1qPortType
                           INTEGER,
                       dot1qPortSwitchingMode
                       	   INTEGER,
                       dot1qPortAllowedVlans
                       	   OCTET STRING,
                       dot1qPortUntaggedVlans
                       	   OCTET STRING,
                       dot1qPortAcceptableFrameTypes
                           INTEGER,
		       dot1qPortIngressFiltering                       
                           TruthValue,
                       dot1qPortGvrpStatus
                           EnabledStatus,
		       dot1qPortGvrpFailedRegistrations 
		           Counter64,       
		       dot1qPortGvrpLastPduOrigin
                       	   PhysAddress,
                       dot1qUplinkPortTpid
                           INTEGER		                          
                  }

	
               dot1qPvid OBJECT-TYPE
                   SYNTAX VlanIndex
                   ACCESS read-write
                   STATUS mandatory
                   DESCRIPTION
                       "The PVID, the VLAN ID assigned to untagged frames or
                       Priority-Tagged frames received on this port."
                   REFERENCE
                       "IEEE 802.1Q/D11 Section 12.10.1.1, the same name with Q-BRIDGE-MIB"
                   DEFVAL { 1 }
                   ::= { dot1qPortVlanTableEntry 1 }
                   
               dot1qPortType OBJECT-TYPE
                   SYNTAX  INTEGER{FastEthernet(2), 
                                   GigaEthernet(3), 
                                   TGigaEthernet(4), 
                                   EPON(5), 
                                   EPONLLID(6), 
                                   PortChannel(11)
                                   }
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port vlan type."
                   ::= { dot1qPortVlanTableEntry 2 }
                   
               dot1qPortSwitchingMode OBJECT-TYPE
                   SYNTAX  INTEGER{Access(1), 
                                   Trunk(2), 
                                   Dot1qTunnel(3), 
                                   Dot1qTranslatingTunnel(4), 
                                   Dot1qTunnelUplink(5)
                                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port vlan mode."
                   ::= { dot1qPortVlanTableEntry 3 }
               
               dot1qPortAllowedVlans OBJECT-TYPE
                   SYNTAX  OCTET STRING
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port allowed vlan list."
                   ::= { dot1qPortVlanTableEntry 4 }
               
               dot1qPortUntaggedVlans OBJECT-TYPE
                   SYNTAX  OCTET STRING
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port untagged vlan list."
                   ::= { dot1qPortVlanTableEntry 5 }

               dot1qPortAcceptableFrameTypes OBJECT-TYPE
                   SYNTAX INTEGER {
                       admitAll(1),
                       admitOnlyVlanTagged(2)
                       }
                   ACCESS read-write
                   STATUS mandatory
                   DESCRIPTION
                       "When this is admitOnlyVlanTagged(2) the device will
                       discard untagged frames or Priority-Tagged frames
                       received on this port.  When admitAll(1), untagged
                       frames or Priority-Tagged frames received on this port
                       will be accepted and assigned to the PVID for this port.
                       
                       This control does not affect VLAN independent BPDU
                       frames, such as GVRP and STP.  It does affect VLAN
                       dependent BPDU frames, such as GMRP."
                   REFERENCE
                       "IEEE 802.1Q/D11 Section 12.10.1.3"
                   DEFVAL { admitAll }
                   ::= { dot1qPortVlanTableEntry 6 }

                dot1qPortIngressFiltering OBJECT-TYPE
                    SYNTAX TruthValue
                    ACCESS read-write
                    STATUS mandatory
                    DESCRIPTION
                        "When this is true(1) the device will discard incoming
                        frames for VLANs which do not include this Port in its
                        Member set.  When false(2), the port will accept all
                        incoming frames.
                        
                        This control does not affect VLAN independent BPDU
                        frames, such as GVRP and STP.  It does affect VLAN
                        dependent BPDU frames, such as GMRP."
                    REFERENCE
                        "IEEE 802.1Q/D11 Section 12.10.1.4"
                    DEFVAL { false }
                    ::= { dot1qPortVlanTableEntry 7 }


                dot1qPortGvrpStatus OBJECT-TYPE
                    SYNTAX EnabledStatus
                    ACCESS read-write
                    STATUS mandatory
                    DESCRIPTION
                        "The state of GVRP operation on this port.  The value
                        enabled(1) indicates that GVRP is enabled on this port,
                        as long as dot1qGvrpStatus is also enabled for this
                        device.  When disabled(2) but dot1qGvrpStatus is still
                        enabled for the device, GVRP is disabled on this port:
                        any GVRP packets received will be silently discarded and
                        no GVRP registrations will be propagated from other
                        ports.  This object affects all GVRP Applicant and
                        Registrar state machines on this port.  A transition
                        from disabled(2) to enabled(1) will cause a reset of all
                        GVRP state machines on this port."
                    DEFVAL { enabled }
                    ::= { dot1qPortVlanTableEntry 8 }

                dot1qPortGvrpFailedRegistrations OBJECT-TYPE
                    SYNTAX Counter64
                    ACCESS read-only
                    STATUS mandatory
                    DESCRIPTION
                        "The total number of failed GVRP registrations, for any
                        reason, on this port."
                    ::= { dot1qPortVlanTableEntry 9 }
                
                dot1qPortGvrpLastPduOrigin OBJECT-TYPE
                    SYNTAX PhysAddress
                    ACCESS read-only
                    STATUS mandatory
                    DESCRIPTION
                        "The Source MAC Address of the last GVRP message
                        received on this port."
                    ::= { dot1qPortVlanTableEntry 10 }

                dot1qUplinkPortTpid OBJECT-TYPE
                    SYNTAX INTEGER
                    ACCESS read-write
                    STATUS mandatory
                    DESCRIPTION
                        "Default value is 0x8100. Note: only when the value of 'dot1qPortSwitchingMode' is 'Dot1qTunnelUplink', this value is available."
                    ::= { dot1qPortVlanTableEntry 11 }
                    
                    




               dot1qPortVlanTranslateTable OBJECT-TYPE
                   SYNTAX  SEQUENCE OF Dot1qPortVlanTranslateTableEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                            "A table of dot1q Port Vlan Translate Table operation."
                   ::= { nmsvlanExt 4 }

               dot1qPortVlanTranslateTableEntry OBJECT-TYPE
                   SYNTAX  Dot1qPortVlanTranslateTableEntry
                   ACCESS  not-accessible
                   STATUS  mandatory
                   DESCRIPTION
                            "A collection of dot1qVlan Translate operation. Attention:
                             When VLAN is created, dttTeMode,dttTeOldVlanIddttTeNewVlanId 
                             should be provided, and dttTePri is optional. When item is 
                             deleted, only dttTeMode and dttTeOldVlanId needs to provide."
                   INDEX { ifIndex, dttTeOldVlanId}
               ::= { dot1qPortVlanTranslateTable 1 }

               Dot1qPortVlanTranslateTableEntry ::=
                   SEQUENCE {
                       dttTeMode
                           INTEGER,
                       dttTeOldVlanId
                           INTEGER,
                       dttTeNewVlanId
                       	   INTEGER,
                       dttTePri
                       	   INTEGER,
                       dttTeRowStatus
                           RowStatus
                  }

               dttTeMode OBJECT-TYPE
                   SYNTAX  INTEGER{DttTeModeFlat(1),
				   DttTeModeQinQ(2)
                                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port vlan translation item mode. The default value is DttTeModeQinQ(2)."
                   ::= { dot1qPortVlanTranslateTableEntry 1 }
             
               dttTeOldVlanId OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-only
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port old vlan id to be translated."
                   ::= { dot1qPortVlanTranslateTableEntry 2 }
             
               dttTeNewVlanId OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port new vlan id to be translated."
                   ::= { dot1qPortVlanTranslateTableEntry 3 }
             
               dttTePri OBJECT-TYPE
                   SYNTAX  INTEGER
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port new vlan id priority to be translated."
                   ::= { dot1qPortVlanTranslateTableEntry 4 }
             
               dttTeRowStatus OBJECT-TYPE
                   SYNTAX  RowStatus
                   ACCESS  read-create
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port vlan translation row status."
                   ::= { dot1qPortVlanTranslateTableEntry 5 }
             

               dot1qTunnel OBJECT-TYPE
                   SYNTAX  INTEGER{
                                    enabled(1),
				    disabled(2)
                                   }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "Dot1qTunnel enable operation.  enabled(1),disabled(2). Default value is disable."
                   ::= { nmsvlanExt 5 }
                 
             	dot1qVlanTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF Dot1qVlanTableEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                            "A table of dot1qVlan operation."
                ::= { nmsvlanExt 6 }     
                   
             	dot1qVlanTableEntry OBJECT-TYPE
	               SYNTAX  Dot1qVlanTableEntry
	               ACCESS  not-accessible
	               STATUS  mandatory
	               DESCRIPTION
	                   "A collection of dot1qVlan operation."
	               INDEX { dot1qVlanIndex }
               	::= { dot1qVlanTable 1 }

                Dot1qVlanTableEntry ::=
                SEQUENCE {
                     dot1qVlanTagged
                       	 OCTET STRING,
                     dot1qVlanStaticRowStatus
            			 RowStatus
					}    
					
					
			 	 dot1qVlanTagged OBJECT-TYPE
                   SYNTAX  OCTET STRING
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port allowed vlan list."
                   ::= { dot1qVlanTableEntry 1 }   
                   
                 dot1qVlanStaticRowStatus OBJECT-TYPE
				    SYNTAX      RowStatus
				    MAX-ACCESS  read-create
				    STATUS      mandatory

				    DESCRIPTION
				        "This object indicates the status of this entry."
				    ::= { dot1qVlanTableEntry 2 }

                  portDttConfigTable OBJECT-TYPE
					SYNTAX SEQUENCE OF PortDttConfigEntry
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
                    "dot1q-translating-tunnel configuraton Table"
                    ::= { nmsvlanExt 9 }
                    
                   portDttConfigEntry OBJECT-TYPE
					SYNTAX PortDttConfigEntry
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					" "
					INDEX { ifIndex, dttStartVlanId, dttEndVlanId }
					::= { portDttConfigTable 1 } 
					
				   PortDttConfigEntry ::=
				   SEQUENCE {
					dttStartVlanId
					INTEGER,
					dttEndVlanId
					INTEGER,
					dttSVlanId
					INTEGER,
					dttTeMode
					INTEGER,
					dttSTagCosNewValue
					INTEGER,
					dttRowStatus 
					 RowStatus,
					dttTeModeType
					INTEGER
					}     
					
					dttStartVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					"
					The starting VLAN ID, working together with endVlanId,
					consists of a VLAN group. The VLAN ID match the VLAN group
					will be QinQed or flated  with specified outer VLAN
					"
					::= { portDttConfigEntry 1 }
					
					dttEndVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					"
					The ending VLAN ID, working together with startVlanId,
					consists of a VLAN range. The VLAN ID match the VLAN range
					will be QinQed or flated with specified outer VLAN
					"
					::= { portDttConfigEntry 2 } 
					
					dttSVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS read-create
					STATUS mandatory
					DESCRIPTION
					"The outer VLAN id to be QinQed or flated"
					::= { portDttConfigEntry 3 }  

	 			   dttTeMode OBJECT-TYPE
                   SYNTAX  INTEGER
                   		{
                   			dttTeModeFlat(1),
				   			dttTeModeQinQ(2)
                        }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port vlan translation item mode. The default value is DttTeModeQinQ(2)."
                   ::= { portDttConfigEntry 4 }
					
					dttSTagCosNewValue OBJECT-TYPE
					SYNTAX INTEGER (0..7)
					MAX-ACCESS read-create
					STATUS current
					DESCRIPTION
					"The new STAG COS value to be set"
					DEFVAL { 0 }
					::= { portDttConfigEntry 5 }

					dttRowStatus OBJECT-TYPE
					SYNTAX RowStatus
					MAX-ACCESS read-create
					STATUS mandatory
					DESCRIPTION
					""
					::= { portDttConfigEntry 6 }
					
					dttTeModeType OBJECT-TYPE
                    SYNTAX  INTEGER
                    	{
                   	  		dttTeModeType1to1(1),
				    		dttTeModeTypento1(2)
                        }
                    ACCESS  read-write
                    STATUS  mandatory
                    DESCRIPTION
                            "value for port vlan translation item mode type."
                    ::= { portDttConfigEntry 7 }
                     
                     portDttMaskConfigTable OBJECT-TYPE
					SYNTAX SEQUENCE OF portDttMaskConfigEntry
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
                    "dot1q-translating-tunnel configuraton Table of mask mode, configuration order:
                    firist the dttMaskTesMode or dttMaskSTagCosNewValue, the dttMaskSVlanId must be configurated last,
                    if not it would return error"
                    ::= { nmsvlanExt 10 }
                    
                   portDttMaskConfigEntry OBJECT-TYPE
					SYNTAX portDttMaskConfigEntry
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					" "
					INDEX { ifIndex, dttMaskStartVlanId, dttMaskEndVlanId }
					::= { portDttMaskConfigTable 1 } 
					
				   portDttMaskConfigEntry ::=
				   SEQUENCE {
					dttMaskStartVlanId
					INTEGER,
					dttMaskEndVlanId
					INTEGER,
					dttMaskSVlanId
					INTEGER,
					dttMaskTesMode
					INTEGER,
					dttMaskSTagCosNewValue
					INTEGER,
					dttMaskRowStatus 
					 RowStatus
					}     
					
					dttMaskStartVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					"
					The starting VLAN ID, working together with endVlanId,
					consists of a VLAN group. The VLAN ID match the VLAN group
					will be QinQed or flated  with specified outer VLAN
					"
					::= { portDttMaskConfigEntry 1 }
					
					dttMaskEndVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					"
					The ending VLAN ID, working together with startVlanId,
					consists of a VLAN range. The VLAN ID match the VLAN range
					will be QinQed or flated with specified outer VLAN
					"
					::= { portDttMaskConfigEntry 2 } 
					
					dttMaskSVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS read-create
					STATUS mandatory
					DESCRIPTION
					"The outer VLAN id to be QinQed or flated"
					::= { portDttMaskConfigEntry 3 }  

	 			   dttMaskTesMode OBJECT-TYPE
                   SYNTAX  INTEGER
                   		{
                   			dttTeModeFlat(1),
				   			dttTeModeQinQ(2)
                        }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port vlan translation item mode. The default value is DttTeModeQinQ(2)."
                   ::= { portDttMaskConfigEntry 4 }
					
					dttMaskSTagCosNewValue OBJECT-TYPE
					SYNTAX INTEGER (0..7)
					MAX-ACCESS read-create
					STATUS current
					DESCRIPTION
					"The new STAG COS value to be set"
					DEFVAL { 0 }
					::= { portDttMaskConfigEntry 5 }

					dttMaskRowStatus OBJECT-TYPE
					SYNTAX RowStatus
					MAX-ACCESS read-create
					STATUS mandatory
					DESCRIPTION
					""
					::= { portDttMaskConfigEntry 6 }

                     portDttRangeConfigTable OBJECT-TYPE
					SYNTAX SEQUENCE OF portDttRangeConfigEntry
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
                    "dot1q-translating-tunnel configuraton Table of range mode, configuration order is the same as Mask"
                    ::= { nmsvlanExt 11 }
                    
                   portDttRangeConfigEntry OBJECT-TYPE
					SYNTAX portDttRangeConfigEntry
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					" "
					INDEX { ifIndex, dttRangeStartVlanId, dttRangeEndVlanId }
					::= { portDttRangeConfigTable 1 } 
					
				   portDttRangeConfigEntry ::=
				   SEQUENCE {
					dttRangeStartVlanId
					INTEGER,
					dttRangeEndVlanId
					INTEGER,
					dttRangeSVlanId
					INTEGER,
					dttRangeTesMode
					INTEGER,
					dttRangeSTagCosNewValue
					INTEGER,
					dttRangeRowStatus 
					 RowStatus
					}     
					
					dttRangeStartVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					"
					The starting VLAN ID, working together with endVlanId,
					consists of a VLAN group. The VLAN ID match the VLAN group
					will be QinQed or flated  with specified outer VLAN
					"
					::= { portDttRangeConfigEntry 1 }
					
					dttRangeEndVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS not-accessible
					STATUS mandatory
					DESCRIPTION
					"
					The ending VLAN ID, working together with startVlanId,
					consists of a VLAN range. The VLAN ID match the VLAN range
					will be QinQed or flated with specified outer VLAN
					"
					::= { portDttRangeConfigEntry 2 } 
					
					dttRangeSVlanId OBJECT-TYPE
					SYNTAX INTEGER
					MAX-ACCESS read-create
					STATUS mandatory
					DESCRIPTION
					"The outer VLAN id to be QinQed or flated"
					::= { portDttRangeConfigEntry 3 }  

	 			   dttRangeTesMode OBJECT-TYPE
                   SYNTAX  INTEGER
                   		{
                   			DttTeModeFlat(1),
				   			DttTeModeQinQ(2)
                        }
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "value for port vlan translation item mode. The default value is DttTeModeQinQ(2)."
                   ::= { portDttRangeConfigEntry 4 }
					
					dttRangeSTagCosNewValue OBJECT-TYPE
					SYNTAX INTEGER (0..7)
					MAX-ACCESS read-create
					STATUS current
					DESCRIPTION
					"The new STAG COS value to be set"
					DEFVAL { 0 }
					::= { portDttRangeConfigEntry 5 }

					dttRangeRowStatus OBJECT-TYPE
					SYNTAX RowStatus
					MAX-ACCESS read-create
					STATUS mandatory
					DESCRIPTION
					""
					::= { portDttRangeConfigEntry 6 } 
					
				   dot1qVlanBatchConfig OBJECT-TYPE
                   SYNTAX  OCTET STRING
                   ACCESS  read-write
                   STATUS  mandatory
                   DESCRIPTION
                           "vlan batch operation.."
                   ::= { nmsvlanExt 13 }



END
