-- ----------------------------------------------------------------------------- -- MIB NAME : Q-IN-Q Common mib -- FILE NAME: QinQ.mib -- DATE : 2008/04/08 -- VERSION : 2.02 -- PURPOSE : To construct the MIB structure of Q-in-Q -- for proprietary enterprise -- ----------------------------------------------------------------------------- -- MODIFICTION HISTORY: -- ----------------------------------------------------------------------------- -- Version, Date, Author -- Description: -- [New Object] -- [Modification] -- Notes: (Requested by who and which project) -- -- Version 2.02, 2008/04/08, Kelvin Tao -- [New Object] -- 1. add object swQinQInnerTpid; -- 2. add object swQinQPortInnerTagState and swQinQPortInnerTag in swQinQPortTable. -- Requested by Kelvin for project DGS3700. -- -- Version 2.01, 2007/12/05, Jenny -- [New Object] -- 1. add object swQinQPortUseInnerPriority in swQinQPortTable; -- 2. add table swVlanTranslateTable. -- Requested by Jenny for project DES3500. -- -- Version 2.00, 2007/10/25, Jenny -- This is the first formal version for universal MIB definition. -- Requested by Jenny for project DES3500. -- ----------------------------------------------------------------------------- Q-IN-Q-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY,OBJECT-TYPE,IpAddress FROM SNMPv2-SMI MacAddress,RowStatus,DisplayString FROM SNMPv2-TC dlink-common-mgmt FROM DLINK-ID-REC-MIB; swQinQMIB MODULE-IDENTITY LAST-UPDATED "0804080000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO "http://support.dlink.com" DESCRIPTION "The structure of Q-in-Q information for the proprietary enterprise." ::= { dlink-common-mgmt 57 } VlanId ::= INTEGER (1..4094) swQinQCtrl OBJECT IDENTIFIER ::= { swQinQMIB 1 } swQinQInfo OBJECT IDENTIFIER ::= { swQinQMIB 2 } swQinQPortMgmt OBJECT IDENTIFIER ::= { swQinQMIB 3 } swQinQMgmt OBJECT IDENTIFIER ::= { swQinQMIB 4 } -- ----------------------------------------------------------------------------- -- swQinQCtrl OBJECT IDENTIFIER ::= { swQinQMIB 1 } -- ----------------------------------------------------------------------------- swQinQState OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to enable/disable the Q-in-Q status." DEFVAL {disabled} ::= { swQinQCtrl 1 } -- swQinQInnerTpid OBJECT-TYPE -- SYNTAX OCTET STRING (SIZE (2)) -- MAX-ACCESS read-write -- STATUS current -- DESCRIPTION -- "This object is used to set the system's inner TPID." -- ::= { swQinQCtrl 2 } -- ----------------------------------------------------------------------------- -- swQinQInfo OBJECT IDENTIFIER ::= { swQinQMIB 2} -- ----------------------------------------------------------------------------- -- ----------------------------------------------------------------------------- -- swQinQPortMgmt OBJECT IDENTIFIER ::= { swQinQMIB 3} -- ----------------------------------------------------------------------------- swQinQPortTable OBJECT-TYPE SYNTAX SEQUENCE OF SwQinQPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table that contains Q-in-Q VLAN mode information about each port." ::= { swQinQPortMgmt 1 } swQinQPortEntry OBJECT-TYPE SYNTAX SwQinQPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of Q-in-Q VLAN mode information for each port." INDEX { swQinQPortIndex } ::= { swQinQPortTable 1 } SwQinQPortEntry ::= SEQUENCE { swQinQPortIndex INTEGER, swQinQPortRole INTEGER, -- swQinQPortMissDrop -- INTEGER, swQinQPortTpid OCTET STRING -- swQinQPortUseInnerPriority -- INTEGER, -- swQinQPortInnerTagState -- INTEGER, -- swQinQPortInnerTag -- OCTET STRING } swQinQPortIndex OBJECT-TYPE SYNTAX INTEGER(1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the module's port number." ::= { swQinQPortEntry 1 } swQinQPortRole OBJECT-TYPE SYNTAX INTEGER { nni(1), uni(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object sets the port role in Q-in-Q mode. It can be UNI port or NNI port." ::= { swQinQPortEntry 2 } -- swQinQPortMissDrop OBJECT-TYPE -- SYNTAX INTEGER { -- enabled(1), -- disabled(2) -- } -- MAX-ACCESS read-write -- STATUS current -- DESCRIPTION -- "This object is used to enable/disable C-VLAN based SP-VLAN assignment miss drop. -- If missdrop is enabled, the packet that does not match any assignment rule in -- the Q-in-Q profile will be dropped. -- If missdrop is disabled, then the packet will be assigned to the PVID of the -- received port." -- ::= { swQinQPortEntry 3 } swQinQPortTpid OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the outer TPID for each port." ::= { swQinQPortEntry 4 } -- swQinQPortUseInnerPriority OBJECT-TYPE -- SYNTAX INTEGER { -- enabled(1), -- disabled(2) -- } -- MAX-ACCESS read-write -- STATUS current -- DESCRIPTION -- "This object specifies whether to use the priority in the C-VLAN -- tag as the priority in the SP-VLAN tag." -- ::= { swQinQPortEntry 5 } -- swQinQPortInnerTagState OBJECT-TYPE -- SYNTAX INTEGER { -- enabled(1), -- disabled(2) -- } -- MAX-ACCESS read-write -- STATUS current -- DESCRIPTION -- "Specifies whether to add inner tag for ingress untagged packets." -- ::= { swQinQPortEntry 6 } -- -- swQinQPortInnerTag OBJECT-TYPE -- SYNTAX OCTET STRING (SIZE (2)) -- MAX-ACCESS read-write -- STATUS current -- DESCRIPTION -- "If swQinQPortInnerTagState is enabled, this object specifies the inner tag." -- ::= { swQinQPortEntry 7 } -- ---------------------------------------------------------------------------- -- swQinQPortRuleTable OBJECT-TYPE -- SYNTAX SEQUENCE OF SwQinQPortRuleEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "A table that is used to configure a port's Q-in-Q SP-VLAN assignment rule." -- ::= { swQinQPortMgmt 2 } -- swQinQPortRuleEntry OBJECT-TYPE -- SYNTAX SwQinQPortRuleEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "A list of Q-in-Q SP-VLAN assignment rules for each port." -- INDEX { swQinQPortRuleIndex,swQinQProfileId } -- ::= { swQinQPortRuleTable 1 } -- SwQinQPortRuleEntry ::= -- SEQUENCE { -- swQinQPortRuleIndex -- INTEGER, -- swQinQProfileId -- INTEGER, -- swQinQPortRuleRowStatus -- RowStatus -- } -- -- swQinQPortRuleIndex OBJECT-TYPE -- SYNTAX INTEGER(1..65535) -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "This object indicates the module's port number." -- ::= { swQinQPortRuleEntry 1 } -- -- swQinQProfileId OBJECT-TYPE -- SYNTAX INTEGER(1..65535) -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "This object indicates the Q-in-Q profile ID." -- ::= { swQinQPortRuleEntry 2 } -- -- swQinQPortRuleRowStatus OBJECT-TYPE -- SYNTAX RowStatus -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "This object indicates the status of this entry." -- ::= { swQinQPortRuleEntry 3 } -- ---------------------------------------------------------------------------- -- swVlanTranslateTable OBJECT-TYPE -- SYNTAX SEQUENCE OF SwVlanTranslateEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "A table that contains VLAN translation information." -- ::= { swQinQPortMgmt 3 } -- swVlanTranslateEntry OBJECT-TYPE -- SYNTAX SwVlanTranslateEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "A list of VLAN translation information." -- INDEX {swVlanTranslatePortIndex, -- swVlanTranslateCVID} -- ::= { swVlanTranslateTable 1 } -- -- SwVlanTranslateEntry ::= -- SEQUENCE { -- swVlanTranslatePortIndex -- INTEGER, -- swVlanTranslateCVID -- VlanId, -- swVlanTranslateSVID -- VlanId, -- swVlanTranslateSVIDOperation -- INTEGER, -- swVlanTranslatePriority -- INTEGER, -- swVlanTranslateRowStatus -- RowStatus -- } -- swVlanTranslatePortIndex OBJECT-TYPE -- SYNTAX INTEGER -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "This object indicates the module's port number." -- ::= { swVlanTranslateEntry 1 } -- -- swVlanTranslateCVID OBJECT-TYPE -- SYNTAX VlanId -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "The customer VLAN identifier in a C-TAG." -- ::= { swVlanTranslateEntry 2 } -- -- swVlanTranslateSVID OBJECT-TYPE -- SYNTAX VlanId -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "A VLAN identifier conveyed in an S-TAG." -- ::= { swVlanTranslateEntry 3 } -- -- swVlanTranslateSVIDOperation OBJECT-TYPE -- SYNTAX INTEGER { -- add(1), -- replace(2) -- } -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "The 'add' action indicates to add a tag for the assigned SP-VLAN -- before the C-VLAN tag. If there is S-TAG in the packet, this rule -- will not take effect. -- The 'replace' action indicates to replace the C-VLAN in the tag by -- the SP-VLAN. If there is no C-TAG in the packet, this rule will not -- take effect." -- ::= { swVlanTranslateEntry 4 } -- swVlanTranslatePriority OBJECT-TYPE -- SYNTAX INTEGER (0..7) -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "The priority of the S-TAG." -- ::= { swVlanTranslateEntry 5 } -- -- swVlanTranslateRowStatus OBJECT-TYPE -- SYNTAX RowStatus -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "This object indicates the status of this entry." -- ::= { swVlanTranslateEntry 6 } -- ----------------------------------------------------------------------------- -- swQinQMgmt OBJECT IDENTIFIER ::= { swQinQMIB 4 } -- ----------------------------------------------------------------------------- -- swQinQProfileTable OBJECT-TYPE -- SYNTAX SEQUENCE OF SwQinQProfileEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "This table is used to create a Q-in-Q profile to assign SP-VLAN. -- Multiple rules can be specified for a Q-in-Q profile. -- " -- ::= { swQinQMgmt 1 } -- swQinQProfileEntry OBJECT-TYPE -- SYNTAX SwQinQProfileEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "A list containing Q-in-Q profile information." -- INDEX { swQinQProfileID } -- ::= { swQinQProfileTable 1 } -- SwQinQProfileEntry ::= -- SEQUENCE { -- swQinQProfileID -- INTEGER, -- swQinQProfileRowStatus -- RowStatus -- } -- swQinQProfileID OBJECT-TYPE -- SYNTAX INTEGER (1..65535) -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "Specifies the Q-in-Q profile ID." -- ::= { swQinQProfileEntry 1 } -- -- swQinQProfileRowStatus OBJECT-TYPE -- SYNTAX RowStatus -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "This object indicates the status of this entry." -- ::= { swQinQProfileEntry 2 } -- ---------------------------------------------------------------------------- -- swQinQRuleTable OBJECT-TYPE -- SYNTAX SEQUENCE OF SwQinQRuleEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "This table contains Q-in-Q rule information. These rules will -- indicate whether to add a tag for the SP-VLAN or to replace the -- inner C-VLAN in the tag by the SP-VLAN. If the matched packet -- has a SP-VLAN tag and the action is 'add', this rule will not -- take effect for the packet. If the matched packet has no C-VLAN -- tag and the action is 'replace', this rule will not take effect too. -- -- C-VLAN based Q-in-Q rules have lower priority than flow-based Q-in-Q rules. -- For flow-based Q-in-Q rules in the same profile, the rule's priority is -- decided by the rule's ID; a smaller ID has a higher priority." -- ::= { swQinQMgmt 2 } -- swQinQRuleEntry OBJECT-TYPE -- SYNTAX SwQinQRuleEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "A list of information about Q-in-Q rules." -- INDEX { swQinQRuleProfileID,swQinQRuleAccessID } -- ::= { swQinQRuleTable 1 } -- SwQinQRuleEntry ::= -- SEQUENCE { -- swQinQRuleProfileID -- INTEGER, -- swQinQRuleAccessID -- INTEGER, -- swQinQRuleClassifySrcMacAddr -- MacAddress, -- swQinQRuleClassifySrcMacAddrMask -- MacAddress, -- swQinQRuleClassifyDstMacAddr -- MacAddress, -- swQinQRuleClassifyDstMacAddrMask -- MacAddress, -- swQinQRuleSrcIPv4Address -- IpAddress, -- swQinQRuleSrcIPv4AddrMask -- IpAddress, -- swQinQRuleDstIPv4Address -- IpAddress, -- swQinQRuleDstIPv4AddrMask -- IpAddress, -- swQinQRuleInnerVid -- DisplayString, -- swQinQRuleOuterVid -- DisplayString, -- swQinQRule8021p -- INTEGER, -- swQinQRuleIpProtocol -- INTEGER, -- swQinQRuleSourcePort -- INTEGER, -- swQinQRuleDestinationPort -- INTEGER, -- swQinQRuleSpvidOperation -- INTEGER, -- swQinQRuleSpvid -- INTEGER, -- swQinQPriority -- INTEGER, -- swQinQRuleRowStatus -- RowStatus -- } -- -- swQinQRuleProfileID OBJECT-TYPE -- SYNTAX INTEGER (1..65535) -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "Specifies the profile ID." -- ::= { swQinQRuleEntry 1 } -- swQinQRuleAccessID OBJECT-TYPE -- SYNTAX INTEGER (0..65535) -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "Specifies the ID of the Q-in-Q rule entry related to the swQinQRuleProfileID." -- ::= { swQinQRuleEntry 2 } -- -- swQinQRuleClassifySrcMacAddr OBJECT-TYPE -- SYNTAX MacAddress -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the source MAC address." -- ::= { swQinQRuleEntry 3 } -- -- swQinQRuleClassifySrcMacAddrMask OBJECT-TYPE -- SYNTAX MacAddress -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the source MAC address mask." -- ::= { swQinQRuleEntry 4 } -- -- swQinQRuleClassifyDstMacAddr OBJECT-TYPE -- SYNTAX MacAddress -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the destination MAC address." -- ::= { swQinQRuleEntry 5 } -- -- swQinQRuleClassifyDstMacAddrMask OBJECT-TYPE -- SYNTAX MacAddress -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the destination MAC address mask." -- ::= { swQinQRuleEntry 6 } -- -- swQinQRuleSrcIPv4Address OBJECT-TYPE -- SYNTAX IpAddress -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies an IPv4 source address." -- ::= { swQinQRuleEntry 7 } -- swQinQRuleSrcIPv4AddrMask OBJECT-TYPE -- SYNTAX IpAddress -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the IPv4 source address mask." -- ::= { swQinQRuleEntry 8 } -- -- swQinQRuleDstIPv4Address OBJECT-TYPE -- SYNTAX IpAddress -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies an IPv4 destination address." -- ::= { swQinQRuleEntry 9 } -- swQinQRuleDstIPv4AddrMask OBJECT-TYPE -- SYNTAX IpAddress -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the IPv4 destination address mask." -- ::= { swQinQRuleEntry 10 } -- -- swQinQRuleInnerVid OBJECT-TYPE -- SYNTAX DisplayString -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the packet's inner VID range." -- ::={ swQinQRuleEntry 11 } -- -- swQinQRuleOuterVid OBJECT-TYPE -- SYNTAX DisplayString -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the packet's outer VID range." -- ::={ swQinQRuleEntry 12 } -- swQinQRule8021p OBJECT-TYPE -- SYNTAX INTEGER(0..7) -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the packet's 802.1p priority." -- ::= { swQinQRuleEntry 13 } -- -- swQinQRuleIpProtocol OBJECT-TYPE -- SYNTAX INTEGER -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the IP protocol." -- ::= { swQinQRuleEntry 14 } -- -- swQinQRuleSourcePort OBJECT-TYPE -- SYNTAX INTEGER -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the source port number." -- ::= { swQinQRuleEntry 15 } -- -- swQinQRuleDestinationPort OBJECT-TYPE -- SYNTAX INTEGER -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the destination port number." -- ::= { swQinQRuleEntry 16 } -- -- swQinQRuleSpvidOperation OBJECT-TYPE -- SYNTAX INTEGER { -- add(1), -- replace(2) -- } -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "The 'add' action indicates to add a tag for the assigned SP-VLAN -- before the C-VLAN tag. If there is S-TAG in the packet, this rule -- will not take effect. -- -- The 'replace' action indicates to replace the C-VLAN in the tag by -- the SP-VLAN. If there is no C-TAG in the packet, this rule will not -- take effect." -- ::= { swQinQRuleEntry 17 } -- -- swQinQRuleSpvid OBJECT-TYPE -- SYNTAX INTEGER(1..4094) -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the SP-VLAN ID to be assigned to the matched packet." -- ::= { swQinQRuleEntry 18 } -- -- swQinQPriority OBJECT-TYPE -- SYNTAX INTEGER(0..7) -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "Specifies the priority of the SP-VLAN." -- ::= { swQinQRuleEntry 19 } -- -- swQinQRuleRowStatus OBJECT-TYPE -- SYNTAX RowStatus -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "This object indicates the status of this entry." -- ::= { swQinQRuleEntry 20 } END