
NSCRTV-EPON-VLAN-MGM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Unsigned32, TimeTicks
        FROM SNMPv2-SMI
    DateAndTime, MacAddress, TimeStamp, RowStatus, TruthValue, DisplayString, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    EponDeviceIndex, EponCardIndex, EponPortIndex, EponAlarmCode, EponAlarmInstance, EponSeverityType,
    AutoNegotiationTechAbility, TAddress, EponStats15MinRecordType, EponStats24HourRecordType, EponStatsThresholdType
		FROM NSCRTV-EPONEOC-EPON-MIB
    vlanManagementObjects
        FROM NSCRTV-EPONEOC-EPON-MIB;
        
--------------------------------------------------------------------------------
--  vlanManagementObjects [VLAN](1.3.6.1.4.1.17409.2.3.7)
--------------------------------------------------------------------------------    
    vlanGlobalInfoTable OBJECT-TYPE
      SYNTAX SEQUENCE OF VlanGlobalInfoEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ȫVLANϢ"
      ::= { vlanManagementObjects 1 }
    
    vlanGlobalInfoEntry OBJECT-TYPE
      SYNTAX VlanGlobalInfoEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { vlanDeviceIndex }
      ::= { vlanGlobalInfoTable 1 }
    
    VlanGlobalInfoEntry ::=
      SEQUENCE { 
        vlanDeviceIndex
          INTEGER,
        maxVlanId
          INTEGER,
        maxSupportVlans
          INTEGER,
        createdVlanNumber
          INTEGER
       }

    vlanDeviceIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        豸š        
        For OLT, set to corresponding device ID
        For ONU, set to 0"
      ::= { vlanGlobalInfoEntry 1 }

    maxVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        VLAN ID"
      ::= { vlanGlobalInfoEntry 2 }
    
    maxSupportVlans OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        ֵ֧VLAN"
      ::= { vlanGlobalInfoEntry 3 }
    
    createdVlanNumber OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        ѴVLAN"
      ::= { vlanGlobalInfoEntry 4 }

    vlanConfigGroup OBJECT-IDENTITY
      STATUS current
      DESCRIPTION 
        "
        Vlan"
      ::= { vlanManagementObjects 2 }
    
    oltVlanConfigTable OBJECT-TYPE
      SYNTAX SEQUENCE OF OltVlanConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT VLANԱñ"
      ::= { vlanConfigGroup 1 }
    
    oltVlanConfigEntry OBJECT-TYPE
      SYNTAX OltVlanConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { oltVlanIndex, oltVlanDeviceIndex}
      ::= { oltVlanConfigTable 1 }
    
    OltVlanConfigEntry ::=
      SEQUENCE {
        oltVlanIndex
          INTEGER,
        oltVlanDeviceIndex
          INTEGER,
        oltVlanName
          OCTET STRING,
        taggedPort
          OCTET STRING,
        untaggedPort
          OCTET STRING,
        oltVlanRowStatus
          RowStatus
       }
              
    oltVlanIndex  OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Vlan"
      ::= { oltVlanConfigEntry 1 }
            
    oltVlanDeviceIndex  OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT豸š   
        "
      ::= { oltVlanConfigEntry 2 }

    oltVlanName OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (0..128))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        OLT VLAN name"
      ::= { oltVlanConfigEntry 3 }
    
    taggedPort OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        VlantagPON/SNI in OLT        
        It is presented by member port list. Each member port is identified
        by 4-byte format, same as TC of EponDeviceIndex. The actual length of
        this string depends of the number of member ports in the port list.
        The relationship is:
        Length of the string = 4 * (NUM of member ports)  
        For example, if device 1, port 1/2 and 2/3 is the member ports, 
        then this object will be presented as:
        01 01 02 00 01 02 03 00       
        "
      ::= { oltVlanConfigEntry 4 }
    
    untaggedPort OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        VlanUntagPON/SNI in OLT        
        It is presented by member port list. Each member port is identified
        by 4-byte format, same as TC of EponDeviceIndex. The actual length of
        this string depends of the number of member ports in the port list.
        The relationship is:
        Length of the string = 4 * (NUM of member ports)  
        For example, if device 1, port 1/2 and 2/3 is the member ports, 
        then this object will be presented as:
        01 01 02 00 01 02 03 00         
        "
      ::= { oltVlanConfigEntry 5 }
    
    oltVlanRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        ״̬"
      ::= { oltVlanConfigEntry 6 }
    
    onuVlanConfigTable OBJECT-TYPE
      SYNTAX SEQUENCE OF OnuVlanConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ONU VLANԱñ
        It is maintained by ONU itself.
        "
      ::= { vlanConfigGroup 2 }
    
    onuVlanConfigEntry OBJECT-TYPE
      SYNTAX OnuVlanConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { onuVlanIndex }
      ::= { onuVlanConfigTable 1 }
    
    OnuVlanConfigEntry ::=
      SEQUENCE { 
        onuVlanIndex
          INTEGER,
        onuVlanName 
          OCTET STRING,
        onuVlanTaggedPort
          OCTET STRING,
        onuVlanUntaggedPort
          OCTET STRING,
        onuVlanRowStatus
          RowStatus
       }

    onuVlanIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Vlan"
      ::= { onuVlanConfigEntry 1 }    

    onuVlanName OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (0..128))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        ONU VLAN name"
      ::= { onuVlanConfigEntry 2 }
    
    onuVlanTaggedPort OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        VlantagUNI˿ڡ        
        It is presented by member port list. Each member port is identified
        by 2-byte format, One for slot ID, the last for port ID. The actual 
        length of this string depends of the number of tagged member ports 
        in the VLAN. If the ONU is fixed (not modulized), set slot ID to 0,
        the NMS could ignore the slot info.        
        Note that, slot here shall follow the last byte definition of 
        EponCardIndex to indicate the main-slot and sub-slot index.  
        The relationship is:
        Length of the string = 2 * (NUM of member ports)  
        For example, if port 1/2 and 3/4 is the tagged member ports of the
        VLAN, then the object is presented as:
        01 02 03 04
        "           
      ::= { onuVlanConfigEntry 3 }
    
    onuVlanUntaggedPort OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        VlanUntagUNI˿ڡ        
        It is presented by member port list. Each member port is identified
        by 2-byte format, One for slot ID, the last for port ID. The actual 
        length of this string depends of the number of untagged member ports 
        in the VLAN. If the ONU is fixed (not modulized), set slot ID to FF,
        the NMS could ignore the slot info.  
        Note that, slot here shall follow the last byte definition of 
        EponCardIndex to indicate the main-slot and sub-slot index. 
        The relationship is:
        Length of the string = 2 * (NUM of member ports)  
        For example, if port 1/2 and 3/4 is the untagged member ports of the
        VLAN, then the object is presented as:
        01 02 03 04       
        "
      ::= { onuVlanConfigEntry 4 }
    
    onuVlanRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        ״̬"
      ::= { onuVlanConfigEntry 5 }
    
    portVlanGroup OBJECT-IDENTITY
      STATUS current
      DESCRIPTION 
        "
        ˿Vlan飨sniuniponport"
      ::= { vlanManagementObjects 3 }
    
    portVlanTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortVlanEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ˿Vlan        
        This table applies on OLT pon port, OLT SNI, OLT onu ID, ONU UNI.        
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pvlanDeviceIndex shall be set to 0,
        /OLT SNI     pvlanCardIndex, and pvlanPortIndex set to 0 indicates
                 meaningless 
        OLT onu ID   - Set pvlanDeviceIndex to corresponding ONU ID,
                 pvlanCardIndex, and pvlanPortIndex set to 0 indicates
                 meaningless        
        ONU UNI    - Set pvlanDeviceIndex to corresponding ONU ID,
                 pvlanCardIndex, and pvlanPortIndex set to the corresponding 
                 value        
        2. If the table is maintained in ONU device:
        pvlanDeviceIndex shall be set to 0 to indicate meaningless.
        pvlanCardIndex shall be set to corresponding slot.
        pvlanPortIndex shall be set to corresponding port.        
        "
        
      ::= { portVlanGroup 1 }
    
    portVlanEntry OBJECT-TYPE
      SYNTAX PortVlanEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { pvlanDeviceIndex, pvlanCardIndex, pvlanPortIndex}
      ::= { portVlanTable 1 }
    
    PortVlanEntry ::=
      SEQUENCE {
        pvlanDeviceIndex
          EponDeviceIndex,
        pvlanCardIndex
          EponCardIndex,
        pvlanPortIndex
          EponPortIndex, 
        vlanTagTpid
          OCTET STRING,
        vlanTagCfi
          TruthValue,
        vlanTagPriority
          INTEGER,
        vlanPVid
          INTEGER,
        vlanMode
          INTEGER
       }
  
    pvlanDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT/ONU豸š"
      ::= { portVlanEntry 1 }

    pvlanCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        忨
        "
      ::= { portVlanEntry 2 }

    pvlanPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        pon˿/uni/sni˿
        "
      ::= { portVlanEntry 3 }
  
    vlanTagTpid OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (2))
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        ǵЭʶ        
        It shall be presented in hexadecimal format. For example, 81 00
        to indicate 0x8100"
      ::= { portVlanEntry 4 }
    
    vlanTagCfi OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        ʽָʾ"
      ::= { portVlanEntry 5 }
    
    vlanTagPriority OBJECT-TYPE
      SYNTAX INTEGER (0..7)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        vlanȼ"
      ::= { portVlanEntry 6 }
    
    vlanPVid OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        port Vlan ID"
      ::= { portVlanEntry 7 }
    
    vlanMode OBJECT-TYPE
      SYNTAX INTEGER
        {
        transparent(0),
        tag(1),
        translation(2),
        aggregation(3),
        trunk(4),
        stacking(5)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        vlanģʽ
        "
      ::= { portVlanEntry 8 }
    
    portVlanTranslationTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortVlanTranslationEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ˿Vlan
        This table applies on OLT pon port, OLT SNI, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pvtDeviceIndex shall be set to 0,
        /OLT SNI     pvtCardIndex, and pvtPortIndex set to 0 indicates
                 meaningless 
        OLT onu ID   - Set pvtDeviceIndex to corresponding ONU ID,
                 pvtCardIndex, and pvtPortIndex set to 0 indicates
                 meaningless        
        ONU UNI    - Set pvtDeviceIndex to corresponding ONU ID,
                 pvtCardIndex, and pvtPortIndex set to the corresponding 
                 value
        
        2. If the table is maintained in ONU device:
        pvtDeviceIndex shall be set to 0 to indicate meaningless.
        pvtCardIndex shall be set to corresponding slot.
        pvtPortIndex shall be set to corresponding port.        
        "
      ::= { portVlanGroup 2 }
    
    portVlanTranslationEntry OBJECT-TYPE
      SYNTAX PortVlanTranslationEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { pvtDeviceIndex , pvtCardIndex , pvtPortIndex  , portVidIndex }
      ::= { portVlanTranslationTable 1 }    
    PortVlanTranslationEntry ::=
      SEQUENCE { 
        pvtDeviceIndex 
          EponDeviceIndex,
        pvtCardIndex 
          EponCardIndex,
        pvtPortIndex  
          EponPortIndex,
        portVidIndex
          Unsigned32,
        translationNewVid
          Unsigned32,
        translationRowStatus
          RowStatus
       }
    pvtDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT/ONU豸š"
      ::= { portVlanTranslationEntry 1 }

    pvtCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        忨"
      ::= { portVlanTranslationEntry 2 }

    pvtPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        pon˿/ONU/uni˿/sni˿"
      ::= { portVlanTranslationEntry 3 }

    portVidIndex OBJECT-TYPE
      SYNTAX Unsigned32
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ˿ԭʼVLAN ID"
      ::= { portVlanTranslationEntry 4 }
    
    translationNewVid OBJECT-TYPE
      SYNTAX Unsigned32
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        vlan"
      ::= { portVlanTranslationEntry 5 }
    
    translationRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        ״̬ "
      ::= { portVlanTranslationEntry 6 }
    
    portVlanAggregationManagement OBJECT-IDENTITY
      STATUS current
      DESCRIPTION 
        "
        ˿VlanۺϹVLAN Aggregation"
      ::= { portVlanGroup 3 }
    
    portVlanAggregationConfigTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortVlanAggregationConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ˿Vlanۺñ
        This table applies on OLT pon port, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pvaDeviceIndex shall be set to 0,
                 pvaCardIndex, and pvaPortIndex set to 0 indicates
                 meaningless 
        OLT onu ID   - Set pvaDeviceIndex to corresponding ONU ID,
                 pvaCardIndex, and pvaPortIndex set to 0 indicates
                 meaningless        
        ONU UNI    - Set pvaDeviceIndex to corresponding ONU ID,
                 pvaCardIndex, and pvaPortIndex set to the corresponding 
                 value
        
        2. If the table is maintained in ONU device:
        pvaDeviceIndex shall be set to 0 to indicate meaningless.
        pvaCardIndex shall be set to corresponding slot.
        pvaPortIndex shall be set to corresponding port.        
        "
      ::= { portVlanAggregationManagement 1 }
    
    portVlanAggregationConfigEntry OBJECT-TYPE
      SYNTAX PortVlanAggregationConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { pvaDeviceIndex , pvaCardIndex , pvaPortIndex  , portAggregationVidIndex }
      ::= { portVlanAggregationConfigTable 1 }
    
    PortVlanAggregationConfigEntry ::=
      SEQUENCE { 
        pvaDeviceIndex 
          EponDeviceIndex,
        pvaCardIndex 
          EponCardIndex,
        pvaPortIndex  
          EponPortIndex,
        portAggregationVidIndex 
          Unsigned32,
        aggregationVidList
          OCTET STRING,
        aggregationRowStatus
          RowStatus
       }

    pvaDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT/ONU豸š"
      ::= { portVlanAggregationConfigEntry 1 }

    pvaCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        忨"
      ::= { portVlanAggregationConfigEntry 2 }

    pvaPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        pon˿/uni˿/ONU ID"
      ::= { portVlanAggregationConfigEntry 3 }

    portAggregationVidIndex OBJECT-TYPE
      SYNTAX Unsigned32
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ˿VLANۺVLAN"
      ::= { portVlanAggregationConfigEntry 4 }

    aggregationVidList OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (512))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        ۺϵvlan ID
        INTERNET˳򣬴ҵOCTETֱΪOCTET 0, OCTET 1, ...
        ÿOCTETbitҷֱΪbit0bit1...bit7
        bitOCTETС˳ÿbitӦһVLANVLAN IDΧΪ0..4095
        һbitӦVLAN 0,һbitӦVLAN 4095
        bitλʾðVLAN򲻰"
      ::= { portVlanAggregationConfigEntry 5 }

    
    aggregationRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        ״̬"
      ::= { portVlanAggregationConfigEntry 6 }
    
    portVlanTrunkTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortVlanTrunkEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ˿Vlan trunkVLAN Trunk?
        This table applies on OLT pon port, OLT SNI, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pvtDeviceIndex shall be set to 0,
        /OLT SNI     pvtCardIndex, and pvtPortIndex set to 0 indicates
                 meaningless 
        OLT onu ID   - Set pvtDeviceIndex to corresponding ONU ID,
                 pvtCardIndex, and pvtPortIndex set to 0 indicates
                 meaningless        
        ONU UNI    - Set pvtDeviceIndex to corresponding ONU ID,
                 pvtCardIndex, and pvtPortIndex set to the corresponding 
                 value
        
        2. If the table is maintained in ONU device:
        pvtDeviceIndex shall be set to 0 to indicate meaningless.
        pvtCardIndex shall be set to corresponding slot.
        pvtPortIndex shall be set to corresponding port.        
        "
      ::= { portVlanGroup 4 }
    
    portVlanTrunkEntry OBJECT-TYPE
      SYNTAX PortVlanTrunkEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { trunkDeviceIndex, trunkCardIndex, trunkPortIndex }
      ::= { portVlanTrunkTable 1 }
    
    PortVlanTrunkEntry ::=
      SEQUENCE {
        trunkDeviceIndex
          EponDeviceIndex,
        trunkCardIndex
          EponCardIndex,
        trunkPortIndex
          EponPortIndex,
        trunkVidList
          OCTET STRING,
        portVlanTrunkRowStatus
          RowStatus
       }

    trunkDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        豸š
        "
      ::= { portVlanTrunkEntry 1 }

    trunkCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        忨"
      ::= { portVlanTrunkEntry 2 }
    trunkPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ˿"
      ::= { portVlanTrunkEntry 3 }
                 
    trunkVidList OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (512))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Trunked Vlan List for the port
        INTERNET˳򣬴ҵOCTETֱΪOCTET 0, OCTET 1, ...
        ÿOCTETbitҷֱΪbit0bit1...bit7
        bitOCTETС˳ÿbitӦһVLANVLAN IDΧΪ0..4095
        һbitӦVLAN 0,һbitӦVLAN 4095
        bitλʾðVLAN򲻰
        "
      ::= { portVlanTrunkEntry 4 }
    
    portVlanTrunkRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        ״̬"
      ::= { portVlanTrunkEntry 5 }
    
    qinQConfigGroup OBJECT-IDENTITY
      STATUS current
      DESCRIPTION 
        "
        QinQ
        עҪOLT/ONU֧QINQOLTѡONUѡ"
      ::= { vlanManagementObjects 4 }
    
    portQinQConfigTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortQinQConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        QinQԱ
        This table applies on OLT pon port, OLT SNI, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pqDeviceIndex shall be set to 0,
        /OLT SNI     pqCardIndex, and pqPortIndex set to 0 indicates
                 meaningless 
        OLT onu ID   - Set pqDeviceIndex to corresponding ONU ID,
                 pqCardIndex, and pqPortIndex set to 0 indicates
                 meaningless        
        ONU UNI    - Set pqDeviceIndex to corresponding ONU ID,
                   pqCardIndex, and pqPortIndex set to the corresponding 
                   value
           
        2. If the table is maintained in ONU device:
        pqDeviceIndex shall be set to 0 to indicate meaningless.
        pqCardIndex shall be set to corresponding slot.
        pqPortIndex shall be set to corresponding port.       
        "       
      ::= { qinQConfigGroup 1 }
    
    portQinQConfigEntry OBJECT-TYPE
      SYNTAX PortQinQConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { pqDeviceIndex, pqCardIndex, pqPortIndex, pqStartVlanId, pqEndVlanId }
      ::= { portQinQConfigTable 1 }
    
    PortQinQConfigEntry ::=
      SEQUENCE { 
        pqDeviceIndex
          EponDeviceIndex,
        pqCardIndex
          EponCardIndex,
        pqPortIndex
          EponPortIndex,  
        pqStartVlanId
          INTEGER,
        pqEndVlanId 
          INTEGER,
        pqSVlanId
          INTEGER,
        pqSTagCosDetermine  
          INTEGER,
        pqSTagCosNewValue
          INTEGER,        
        pqRowStatus
          RowStatus 
       }
       
    pqDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ONU ID, for a specific ONU"
      ::= { portQinQConfigEntry 1 }

    pqCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        忨"
      ::= { portQinQConfigEntry 2 }

    pqPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ˿"
      ::= { portQinQConfigEntry 3 }
                          
    pqStartVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        The starting VLAN ID, working together with pqEndVlanId,
        consists of a VLAN group. The VLAN ID match the VLAN group
        will be QinQed with specified outer VLAN
        "                   
      ::= { portQinQConfigEntry 4 }

    pqEndVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        The ending VLAN ID, working together with pqStartVlanId,
        consists of a VLAN range. The VLAN ID match the VLAN range
        will be QinQed with specified outer VLAN
        "
      ::= { portQinQConfigEntry 5 }
  
    pqSVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        The outer VLAN id to be QinQed"
      ::= { portQinQConfigEntry 6 }
    
    pqSTagCosDetermine OBJECT-TYPE
      SYNTAX INTEGER {
        redefine(1),
        copyFromCTag(2)
        }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        What STAG COS will be set for this QinQ instance. It could
        be either a new definition or copied from CTAG
        "
      ::= { portQinQConfigEntry 7 }

    pqSTagCosNewValue OBJECT-TYPE
      SYNTAX INTEGER (0..7)     
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        The new STAG COS value if pqSTagCosDetermine is selected as
        redefine(1)
        "
      DEFVAL { 0 }
      ::= { portQinQConfigEntry 8 }

    pqRowStatus OBJECT-TYPE
      SYNTAX RowStatus      
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        "
      ::= { portQinQConfigEntry 9 }

--
-- END of NSCRTV-EPON-VLAN-MGM-MIB
--

END
