-- ***************************************************************** -- DLINKSW-VLAN-MIB.mib : VLAN MIB -- -- Copyright (c) 2013 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKSW-VLAN-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32 FROM SNMPv2-SMI RowStatus,TruthValue,MacAddress FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF InetAddress, InetAddressType, InetAddressPrefixLength FROM INET-ADDRESS-MIB dot1dBasePort FROM BRIDGE-MIB VlanId,dot1vProtocolPortGroupId FROM Q-BRIDGE-MIB Dlink2kVlanList FROM DLINKSW-TC-MIB dlinkIndustrialCommon FROM DLINK-ID-REC-MIB; dlinkSwVlanMIB MODULE-IDENTITY LAST-UPDATED "201304180000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "This MIB module defines objects for extending the configuration of VLAN (Virtual Local Area Network). " REVISION "201304180000Z" DESCRIPTION "This is the first version of the MIB file." ::= { dlinkIndustrialCommon 21 } -- ----------------------------------------------------------------------------- dVlanMIBNotifications OBJECT IDENTIFIER ::= { dlinkSwVlanMIB 0 } dVlanMIBObjects OBJECT IDENTIFIER ::= { dlinkSwVlanMIB 1 } dVlanMIBConformance OBJECT IDENTIFIER ::= { dlinkSwVlanMIB 2 } -- ----------------------------------------------------------------------------- dVlanStaticMacVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF DVlanStaticMacVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of MAC-based VLANs." ::= { dVlanMIBObjects 1 } dVlanStaticMacVlanEntry OBJECT-TYPE SYNTAX DVlanStaticMacVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents the configuration of a MAC-based VLAN." INDEX { dVlanStaticMacVlanAddress } ::= { dVlanStaticMacVlanTable 1 } DVlanStaticMacVlanEntry ::= SEQUENCE { dVlanStaticMacVlanAddress MacAddress, dVlanStaticMacVlanId VlanId, dVlanStaticMacVlanPriority Unsigned32, dVlanStaticMacVlanRowStatus RowStatus } dVlanStaticMacVlanAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the MAC address of the entry." ::= { dVlanStaticMacVlanEntry 1 } dVlanStaticMacVlanId OBJECT-TYPE SYNTAX VlanId MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the Vlan ID for the MAC based VLAN entry." ::= { dVlanStaticMacVlanEntry 2 } dVlanStaticMacVlanPriority OBJECT-TYPE SYNTAX Unsigned32 ( 0 .. 7 ) MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the CoS for the MAC based VLAN entry." DEFVAL { 0 } ::= { dVlanStaticMacVlanEntry 3 } dVlanStaticMacVlanRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row." ::= { dVlanStaticMacVlanEntry 4 } -- ----------------------------------------------------------------------------- dVlanCurrentMacVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF DVlanCurrentMacVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of MAC-based VLANs." ::= { dVlanMIBObjects 2 } dVlanCurrentMacVlanEntry OBJECT-TYPE SYNTAX DVlanCurrentMacVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents the information of a MAC-based VLAN." INDEX { dVlanCurrentMacVlanAddress, dVlanCurrentMacVlanStatus } ::= { dVlanCurrentMacVlanTable 1 } DVlanCurrentMacVlanEntry ::= SEQUENCE { dVlanCurrentMacVlanAddress MacAddress, dVlanCurrentMacVlanStatus INTEGER, dVlanCurrentMacVlanId VlanId, dVlanCurrentMacVlanPriority Unsigned32 } dVlanCurrentMacVlanAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the MAC address of the entry." ::= { dVlanCurrentMacVlanEntry 1 } dVlanCurrentMacVlanStatus OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the status of the entry." ::= { dVlanCurrentMacVlanEntry 2 } dVlanCurrentMacVlanId OBJECT-TYPE SYNTAX VlanId MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the Vlan ID for the MAC based VLAN entry." ::= { dVlanCurrentMacVlanEntry 3 } dVlanCurrentMacVlanPriority OBJECT-TYPE SYNTAX Unsigned32 ( 0 .. 7 ) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the CoS for the MAC based VLAN entry." ::= { dVlanCurrentMacVlanEntry 4 } -- ----------------------------------------------------------------------------- dVlanSubnetVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF DVlanSubnetVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of subnet-based VLANs." ::= { dVlanMIBObjects 3 } dVlanSubnetVlanEntry OBJECT-TYPE SYNTAX DVlanSubnetVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents the configuration of a subnet-based VLAN." INDEX { dVlanSubnetVlanType, dVlanSubnetVlanNetPrefix, dVlanSubnetVlanNetPrefixLen } ::= { dVlanSubnetVlanTable 1 } DVlanSubnetVlanEntry ::= SEQUENCE { dVlanSubnetVlanType InetAddressType, dVlanSubnetVlanNetPrefix InetAddress, dVlanSubnetVlanNetPrefixLen InetAddressPrefixLength, dVlanSubnetVlanId VlanId, dVlanSubnetVlanPriority Unsigned32, dVlanSubnetVlanRowStatus RowStatus } dVlanSubnetVlanType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the address type of the subnet." ::= { dVlanSubnetVlanEntry 1 } dVlanSubnetVlanNetPrefix OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the network prefix of the entry." ::= { dVlanSubnetVlanEntry 2 } dVlanSubnetVlanNetPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the length of the sub-network address prefix." ::= { dVlanSubnetVlanEntry 3 } dVlanSubnetVlanId OBJECT-TYPE SYNTAX VlanId MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the VLAN-ID of the subnet-based VLAN." ::= { dVlanSubnetVlanEntry 4 } dVlanSubnetVlanPriority OBJECT-TYPE SYNTAX Unsigned32 ( 0..7 ) MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the CoS of the subnet-based VLAN." ::= { dVlanSubnetVlanEntry 5 } dVlanSubnetVlanRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row." ::= { dVlanSubnetVlanEntry 6 } -- ----------------------------------------------------------------------------- dVlanPortIfCtrlTable OBJECT-TYPE SYNTAX SEQUENCE OF DVlanPortIfCtrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides mechanism to configure port-specific VLAN function." ::= { dVlanMIBObjects 4 } dVlanPortIfCtrlEntry OBJECT-TYPE SYNTAX DVlanPortIfCtrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents the VLAN configuration on a port. This table is an extension to dot1qPortVlanTable which is defined at Q-BRIDGE-MIB." INDEX { dot1dBasePort } ::= { dVlanPortIfCtrlTable 1 } DVlanPortIfCtrlEntry ::= SEQUENCE { dVlanPortIfMode INTEGER, dVlanPortIfTrunkNativeVlanTagged TruthValue, dVlanPortIfAcceptableFrameTypes INTEGER, dVlanPortIfVlanPrecedence INTEGER, dVlanPortIfTagAllowVlanLstFirst2K Dlink2kVlanList, dVlanPortIfTagAllowVlanLstSecond2K Dlink2kVlanList, dVlanPortIfUntagAllowVlanLstFirst2K Dlink2kVlanList, dVlanPortIfUntagAllowVlanLstSecond2K Dlink2kVlanList } dVlanPortIfMode OBJECT-TYPE SYNTAX INTEGER { access(1), hybrid(2), trunk(3), dot1qTunnel(4), privateVlanHost(5), privateVlanPromiscuous(6) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates VLAN mode for the port. access - this port will be untagged member of the access VLAN configured for the port. hybrid - the port can be untagged or tagged member of all VLANs configured by the user. The purpose of this VLAN mode is to support protocol VLAN, MAC-based VLAN, voice VLAN and dot1q VLAN tunnel application in access side. trunk - this port is either tagged or untagged member port of its native VLAN and can be tagged member of other VLANs configured by the user. The purpose of a trunk port is to support the switch-to-switch connection. dot1qTunnel - the port behaves as an UNI port of a service VLAN. privateVlanHost - the port behaves as private VLAN host port. privateVlanPromiscuous - the port behaves as private VLAN promiscuous port. When VLAN mode is changed, the VLAN related setting associated with previous mode will be lost." ::= { dVlanPortIfCtrlEntry 1 } dVlanPortIfTrunkNativeVlanTagged OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether enable the tagging mode of the native VLAN on the interface. Note: This value is meaningful only when the VLAN mode of the port is 'trunk'." ::= { dVlanPortIfCtrlEntry 2 } dVlanPortIfAcceptableFrameTypes OBJECT-TYPE SYNTAX INTEGER { admitAll(1), admitUntaggedAndPriority(2), admitTagged(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the acceptable frame types on the interface. 'admitAll' - Permits both tagged and untagged packet. 'admitUntaggedAndPriority' - Only untagged or Priority-Tagged packets received on this interface will be accepted and tagged packets are dropped. 'admitTagged' - Only tagged incoming packets are permitted and untagged packets are dropped." ::= { dVlanPortIfCtrlEntry 3 } dVlanPortIfVlanPrecedence OBJECT-TYPE SYNTAX INTEGER { macVlan(1), subnetVlan(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the VLAN classification precedence for the port. macVlan - MAC-based VLAN classification has higher precedence than subnet-based VLAN. subnetVlan - subnet-based VLAN classification has higher precedence than MAC-based VLAN. Note: This value is meaningful only when the VLAN mode of the port is 'hybrid' or 'dot1qTunnel'." ::= { dVlanPortIfCtrlEntry 4 } dVlanPortIfTagAllowVlanLstFirst2K OBJECT-TYPE SYNTAX Dlink2kVlanList MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the VLANs in a string of octets containing one bit per VLAN for VLANs 1 to 2048. If the bit is set to '1', then the interface is allowed to be the VLAN's tagged member. Note: This value is meaningful only when the VLAN mode of the port is 'hybrid' or 'trunk'." ::= { dVlanPortIfCtrlEntry 5 } dVlanPortIfTagAllowVlanLstSecond2K OBJECT-TYPE SYNTAX Dlink2kVlanList MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the VLANs in a string of octets containing one bit per VLAN for VLANs 2049 to 4094. If the bit is set to '1', then the interface is allowed to be the VLAN's tagged member. Note: This value is meaningful only when the VLAN mode of the port is 'hybrid' or 'trunk'." ::= { dVlanPortIfCtrlEntry 6 } dVlanPortIfUntagAllowVlanLstFirst2K OBJECT-TYPE SYNTAX Dlink2kVlanList MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the VLANs in a string of octets containing one bit per VLAN for VLANs 1 to 2048. If the bit is set to '1', then the interface is allowed to be the VLAN's untagged member. Note: This value is meaningful only when the VLAN mode of the port is 'hybrid' or 'trunk'." ::= { dVlanPortIfCtrlEntry 7 } dVlanPortIfUntagAllowVlanLstSecond2K OBJECT-TYPE SYNTAX Dlink2kVlanList MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the VLANs in a string of octets containing one bit per VLAN for VLANs 2049 to 4094. If the bit is set to '1', then the interface is allowed to be the VLAN's untagged member. Note: This value is meaningful only when the VLAN mode of the port is 'hybrid' or 'trunk'." ::= { dVlanPortIfCtrlEntry 8 } -- ----------------------------------------------------------------------------- dVlanProtocolVlanIfCtrlTable OBJECT-TYPE SYNTAX SEQUENCE OF DVlanProtocolVlanIfCtrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides mechanism to configure port-specific protocol VLAN function. This table is an extension to dot1vProtocolPortTable which is defined at Q-BRIDGE-MIB. An entry appears in this table for each row created at dot1vProtocolPortTable. " ::= { dVlanMIBObjects 5 } dVlanProtocolVlanIfCtrlEntry OBJECT-TYPE SYNTAX DVlanProtocolVlanIfCtrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents the extension configuration of protocol VLAN profile on a port. " INDEX { dot1dBasePort, dot1vProtocolPortGroupId } ::= { dVlanProtocolVlanIfCtrlTable 1 } DVlanProtocolVlanIfCtrlEntry ::= SEQUENCE { dVlanProtocolVlanPriority Unsigned32 } dVlanProtocolVlanPriority OBJECT-TYPE SYNTAX Unsigned32 (0..7) MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the CoS of the protocol VLAN entry on the interface." ::= { dVlanProtocolVlanIfCtrlEntry 1} -- ----------------------------------------------------------------------------- dVlanAsymVlanStateEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object enables or disables asymmetric VLAN feature." ::= { dVlanMIBObjects 6 } -- *************************************************************************** -- Conformance -- *************************************************************************** dVlanCompliances OBJECT IDENTIFIER ::= { dVlanMIBConformance 1 } dVlanCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DLINKSW-VLAN-MIB." MODULE -- this module MANDATORY-GROUPS { dVlanIfCfgGroup } GROUP dVlanStaticMacVlanCfgGroup DESCRIPTION "Implementation of this group is optional." GROUP dVlanCurrentMacVlanCfgGroup DESCRIPTION "Implementation of this group is optional." GROUP dVlanSubnetVlanCfgGroup DESCRIPTION "Implementation of this group is optional." GROUP dVlanProtocolVlanCfgGroup DESCRIPTION "Implementation of this group is optional." GROUP dVlanAsymmetricVlanCfgGroup DESCRIPTION "Implementation of this group is optional." ::= { dVlanCompliances 1 } dVlanGroups OBJECT IDENTIFIER ::= { dVlanMIBConformance 2 } dVlanIfCfgGroup OBJECT-GROUP OBJECTS { dVlanPortIfMode, dVlanPortIfTrunkNativeVlanTagged, dVlanPortIfVlanPrecedence, dVlanPortIfAcceptableFrameTypes, dVlanPortIfTagAllowVlanLstFirst2K, dVlanPortIfTagAllowVlanLstSecond2K, dVlanPortIfUntagAllowVlanLstFirst2K, dVlanPortIfUntagAllowVlanLstSecond2K } STATUS current DESCRIPTION "A collection of objects providing the information and control for configuring port-specific VLAN feature." ::= { dVlanGroups 1 } dVlanStaticMacVlanCfgGroup OBJECT-GROUP OBJECTS { dVlanStaticMacVlanId, dVlanStaticMacVlanPriority, dVlanStaticMacVlanRowStatus } STATUS current DESCRIPTION "A collection of objects provides the configuration of MAC-based VLANs." ::= { dVlanGroups 2 } dVlanCurrentMacVlanCfgGroup OBJECT-GROUP OBJECTS { dVlanCurrentMacVlanId, dVlanCurrentMacVlanPriority } STATUS current DESCRIPTION "A collection of objects provides the running MAC-based VLANs." ::= { dVlanGroups 3 } dVlanSubnetVlanCfgGroup OBJECT-GROUP OBJECTS { dVlanSubnetVlanId, dVlanSubnetVlanPriority, dVlanSubnetVlanRowStatus } STATUS current DESCRIPTION "A collection of objects provides the configuration of subnet-based VLANs." ::= { dVlanGroups 4 } dVlanProtocolVlanCfgGroup OBJECT-GROUP OBJECTS { dVlanProtocolVlanPriority } STATUS current DESCRIPTION "A collection of objects provides the configuration of protocol VLAN entrys on interfaces." ::= { dVlanGroups 5 } dVlanAsymmetricVlanCfgGroup OBJECT-GROUP OBJECTS { dVlanAsymVlanStateEnabled } STATUS current DESCRIPTION "A collection of objects provides the management of asymmetric VLAN feature." ::= { dVlanGroups 6 } END