-- *****************************************************************************
-- Double-VLAN-MIB
-- *****************************************************************************
-- Version 1.0 
-- 2005/11/3 
-- added obgect swDoubleVlanUnknowPorts  
-- *****************************************************************************
-- Version 0.9 
-- 2005/10/24 12:21
-- original draft 
-- *****************************************************************************


Double-VLAN-MIB DEFINITIONS ::= BEGIN

-- ********************************************************************
-- Double VLAN MIB
-- ********************************************************************

    IMPORTS
        MODULE-IDENTITY,OBJECT-TYPE     FROM SNMPv2-SMI
        RowStatus,DisplayString         FROM SNMPv2-TC
        dlink-common-mgmt               FROM DLINK-ID-REC-MIB;

     swDoubleVlanMIB MODULE-IDENTITY
          LAST-UPDATED "200601160000Z"
          ORGANIZATION "."
          CONTACT-INFO
                       ""
          DESCRIPTION
           "."
          ::= { dlink-common-mgmt 28 }
    
    PortList                ::= OCTET STRING(SIZE (0..127))
    
   
   swDoubleVlanCtrl            OBJECT IDENTIFIER ::= { swDoubleVlanMIB 1 }   
   swDoubleVlanInfo		         OBJECT IDENTIFIER ::= { swDoubleVlanMIB 2 } 
   swDoubleVlanMgmt            OBJECT IDENTIFIER ::= { swDoubleVlanMIB 3 }  
   
-- ********************************************************************

swDoubleVlanGlobalState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object enable\disable the double vlan status
             of the device."
        ::= { swDoubleVlanCtrl 1 }	
        
        
-- ********************************************************************
--    swDoubleVlanMgmt           OBJECT IDENTIFIER ::= { swDoubleVlanMIB 3 }
-- ********************************************************************

swDoubleVlanCtrlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SwDoubleVlanCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table that contains mothod and state about every port."
    ::= { swDoubleVlanMgmt 1 }

swDoubleVlanCtrlEntry OBJECT-TYPE
    SYNTAX      SwDoubleVlanCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of mothod type and state for each port."
    INDEX { swDoubleVlanSPVIDIndex }
    ::= { swDoubleVlanCtrlTable 1 }

SwDoubleVlanCtrlEntry ::=
    SEQUENCE {
        swDoubleVlanSPVIDIndex
            INTEGER,
        swDoubleVlanName
            DisplayString,
        swDoubleVlanTPID
            OCTET STRING,
        swDoubleVlanUplinkPorts
            PortList,
        swDoubleVlanAccessPorts
            PortList,
        swDoubleVlanUnknowPorts
            PortList,
        swDoubleVlanDeletePorts
            PortList,
        swDoubleVlanStatus
            RowStatus
        }

swDoubleVlanSPVIDIndex OBJECT-TYPE
    SYNTAX      INTEGER (1..4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the VLAN ID, the range is
         1-4094. The vlaue is read only."
    ::= { swDoubleVlanCtrlEntry 1 }

swDoubleVlanName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the name for the entry."
    ::= { swDoubleVlanCtrlEntry 2 }
    
swDoubleVlanTPID OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(2))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the tag protocol identifier
         format(TPID), the range is 0x0000-0xFFFF."
    ::= { swDoubleVlanCtrlEntry 3 }
    

swDoubleVlanUplinkPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the port list that are connected
         to the service provider VLANs(tag-port). Only gigabit
         ports  can be chose.When the double vlan is disabled, the port
         list is NULL."
    ::= { swDoubleVlanCtrlEntry 4 }
    

swDoubleVlanAccessPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the port list that are connect
         to the customer VLANs(untag-port). All the switch 
         ports can be chose.When the double vlan is disabled, the port
         list is NULL."
    ::= { swDoubleVlanCtrlEntry 5 }
    
swDoubleVlanUnknowPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the double vlan is disabled, this object indicates
         the port list that are connect to the provider or customer
         VLANs in 802.1q. When the double vlan is enabled, the port
         list is NULL."
    ::= { swDoubleVlanCtrlEntry 6 }
    
swDoubleVlanDeletePorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object deletes the port list that are connect
         to the customer VLANs. When the double vlan is disabled, the port
         list is NULL."
    ::= { swDoubleVlanCtrlEntry 7 }
    
swDoubleVlanStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "TThis object indicates the RowStatus of this entry."
    ::= { swDoubleVlanCtrlEntry 9 }
    
END
