-- ***************************************************************** -- DLINKES-VLAN-MIB.mib : VLAN MIB -- -- Copyright (c) 2013 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKES-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 DLINKES-TC-MIB dlinkCommon FROM DLINK-ID-REC-MIB; dlinkEsVlanMIB MODULE-IDENTITY LAST-UPDATED "201401020000Z" 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 "201401020000Z" DESCRIPTION "Add new port mode privateVlanTrunkPromiscuous and privateVlanTrunkSecondary for private VLAN." REVISION "201304180000Z" DESCRIPTION "This is the first version of the MIB file." ::= { dlinkCommon 21 } -- ----------------------------------------------------------------------------- esVlanMIBNotifications OBJECT IDENTIFIER ::= { dlinkEsVlanMIB 0 } esVlanMIBObjects OBJECT IDENTIFIER ::= { dlinkEsVlanMIB 1 } esVlanMIBConformance OBJECT IDENTIFIER ::= { dlinkEsVlanMIB 2 } -- ----------------------------------------------------------------------------- esVlanStaticMacVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF EsVlanStaticMacVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of MAC-based VLANs." ::= { esVlanMIBObjects 1 } esVlanStaticMacVlanEntry OBJECT-TYPE SYNTAX EsVlanStaticMacVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents the configuration of a MAC-based VLAN." INDEX { esVlanStaticMacVlanAddress } ::= { esVlanStaticMacVlanTable 1 } EsVlanStaticMacVlanEntry ::= SEQUENCE { esVlanStaticMacVlanAddress MacAddress, esVlanStaticMacVlanId VlanId, esVlanStaticMacVlanPriority Unsigned32, esVlanStaticMacVlanRowStatus RowStatus } esVlanStaticMacVlanAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the MAC address of the entry." ::= { esVlanStaticMacVlanEntry 1 } esVlanStaticMacVlanId OBJECT-TYPE SYNTAX VlanId MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the Vlan ID for the MAC based VLAN entry." ::= { esVlanStaticMacVlanEntry 2 } esVlanStaticMacVlanPriority 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 } ::= { esVlanStaticMacVlanEntry 3 } esVlanStaticMacVlanRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row." ::= { esVlanStaticMacVlanEntry 4 } -- ----------------------------------------------------------------------------- esVlanCurrentMacVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF EsVlanCurrentMacVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of MAC-based VLANs." ::= { esVlanMIBObjects 2 } esVlanCurrentMacVlanEntry OBJECT-TYPE SYNTAX EsVlanCurrentMacVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents the information of a MAC-based VLAN." INDEX { esVlanCurrentMacVlanAddress, esVlanCurrentMacVlanStatus } ::= { esVlanCurrentMacVlanTable 1 } EsVlanCurrentMacVlanEntry ::= SEQUENCE { esVlanCurrentMacVlanAddress MacAddress, esVlanCurrentMacVlanStatus INTEGER, esVlanCurrentMacVlanId VlanId, esVlanCurrentMacVlanPriority Unsigned32 } esVlanCurrentMacVlanAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the MAC address of the entry." ::= { esVlanCurrentMacVlanEntry 1 } esVlanCurrentMacVlanStatus OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the status of the entry." ::= { esVlanCurrentMacVlanEntry 2 } esVlanCurrentMacVlanId OBJECT-TYPE SYNTAX VlanId MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the Vlan ID for the MAC based VLAN entry." ::= { esVlanCurrentMacVlanEntry 3 } esVlanCurrentMacVlanPriority OBJECT-TYPE SYNTAX Unsigned32 ( 0 .. 7 ) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the CoS for the MAC based VLAN entry." ::= { esVlanCurrentMacVlanEntry 4 } -- ----------------------------------------------------------------------------- -- esVlanSubnetVlanTable OBJECT-TYPE -- SYNTAX SEQUENCE OF EsVlanSubnetVlanEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "This table contains a list of subnet-based VLANs." -- ::= { esVlanMIBObjects 3 } -- -- esVlanSubnetVlanEntry OBJECT-TYPE -- SYNTAX EsVlanSubnetVlanEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "A table entry represents the configuration of a subnet-based VLAN." -- INDEX { -- esVlanSubnetVlanType, -- esVlanSubnetVlanNetPrefix, -- esVlanSubnetVlanNetPrefixLen -- } -- ::= { esVlanSubnetVlanTable 1 } -- -- EsVlanSubnetVlanEntry ::= SEQUENCE { -- esVlanSubnetVlanType InetAddressType, -- esVlanSubnetVlanNetPrefix InetAddress, -- esVlanSubnetVlanNetPrefixLen InetAddressPrefixLength, -- esVlanSubnetVlanId VlanId, -- esVlanSubnetVlanPriority Unsigned32, -- esVlanSubnetVlanRowStatus RowStatus -- } -- -- esVlanSubnetVlanType OBJECT-TYPE -- SYNTAX InetAddressType -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "This object indicates the address type of the subnet." -- ::= { esVlanSubnetVlanEntry 1 } -- -- esVlanSubnetVlanNetPrefix OBJECT-TYPE -- SYNTAX InetAddress -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "This object indicates the network prefix of the entry." -- ::= { esVlanSubnetVlanEntry 2 } -- -- esVlanSubnetVlanNetPrefixLen OBJECT-TYPE -- SYNTAX InetAddressPrefixLength -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "This object indicates the length of the sub-network -- address prefix." -- ::= { esVlanSubnetVlanEntry 3 } -- -- esVlanSubnetVlanId OBJECT-TYPE -- SYNTAX VlanId -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "This object indicates the VLAN-ID of the subnet-based VLAN." -- ::= { esVlanSubnetVlanEntry 4 } -- -- esVlanSubnetVlanPriority OBJECT-TYPE -- SYNTAX Unsigned32 ( 0..7 ) -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "This object indicates the CoS of the subnet-based VLAN." -- ::= { esVlanSubnetVlanEntry 5 } -- -- esVlanSubnetVlanRowStatus OBJECT-TYPE -- SYNTAX RowStatus -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "The status of this conceptual row." -- ::= { esVlanSubnetVlanEntry 6 } -- -- ----------------------------------------------------------------------------- esVlanPortIfCtrlTable OBJECT-TYPE SYNTAX SEQUENCE OF EsVlanPortIfCtrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides mechanism to configure port-specific VLAN function." ::= { esVlanMIBObjects 4 } esVlanPortIfCtrlEntry OBJECT-TYPE SYNTAX EsVlanPortIfCtrlEntry 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 } ::= { esVlanPortIfCtrlTable 1 } EsVlanPortIfCtrlEntry ::= SEQUENCE { esVlanPortIfMode INTEGER, esVlanPortIfTrunkNativeVlanTagged TruthValue, esVlanPortIfAcceptableFrameTypes INTEGER, esVlanPortIfVlanPrecedence INTEGER, esVlanPortIfTagAllowVlanLstFirst2K Dlink2kVlanList, esVlanPortIfTagAllowVlanLstSecond2K Dlink2kVlanList, esVlanPortIfUntagAllowVlanLstFirst2K Dlink2kVlanList, esVlanPortIfUntagAllowVlanLstSecond2K Dlink2kVlanList } esVlanPortIfMode OBJECT-TYPE SYNTAX INTEGER { access(1), hybrid(2), trunk(3), dot1qTunnel(4), privateVlanHost(5), privateVlanPromiscuous(6), privateVlanTrunkPromiscuous(7), privateVlanTrunkSecondary(8) } 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. privateVlanTrunkPromiscuous - the port behaves as private VLAN trunk promiscuous port. privateVlanTrunkSecondary - the port behaves as private VLAN trunk secondary port. When VLAN mode is changed, the VLAN related setting associated with previous mode will be lost." ::= { esVlanPortIfCtrlEntry 1 } esVlanPortIfTrunkNativeVlanTagged 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 one of the 'trunk', 'privateVlanTrunkPromiscuous' or 'privateVlanTrunkSecondary'." ::= { esVlanPortIfCtrlEntry 2 } esVlanPortIfAcceptableFrameTypes 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." ::= { esVlanPortIfCtrlEntry 3 } esVlanPortIfVlanPrecedence 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'." ::= { esVlanPortIfCtrlEntry 4 } esVlanPortIfTagAllowVlanLstFirst2K 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 one of the 'hybrid', 'trunk', 'privateVlanTrunkPromiscuous' or 'privateVlanTrunkSecondary'" ::= { esVlanPortIfCtrlEntry 5 } esVlanPortIfTagAllowVlanLstSecond2K 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 one of the 'hybrid', 'trunk', 'privateVlanTrunkPromiscuous' or 'privateVlanTrunkSecondary'" ::= { esVlanPortIfCtrlEntry 6 } esVlanPortIfUntagAllowVlanLstFirst2K 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 'dot1qTunnel'." ::= { esVlanPortIfCtrlEntry 7 } esVlanPortIfUntagAllowVlanLstSecond2K 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 'dot1qTunnel'." ::= { esVlanPortIfCtrlEntry 8 } -- ----------------------------------------------------------------------------- esVlanProtocolVlanIfCtrlTable OBJECT-TYPE SYNTAX SEQUENCE OF EsVlanProtocolVlanIfCtrlEntry 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. " ::= { esVlanMIBObjects 5 } esVlanProtocolVlanIfCtrlEntry OBJECT-TYPE SYNTAX EsVlanProtocolVlanIfCtrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents the extension configuration of protocol VLAN profile on a port. " INDEX { dot1dBasePort, dot1vProtocolPortGroupId } ::= { esVlanProtocolVlanIfCtrlTable 1 } EsVlanProtocolVlanIfCtrlEntry ::= SEQUENCE { esVlanProtocolVlanPriority Unsigned32 } esVlanProtocolVlanPriority 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." ::= { esVlanProtocolVlanIfCtrlEntry 1} -- ----------------------------------------------------------------------------- esVlanAsymVlanStateEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object enables or disables asymmetric VLAN feature." ::= { esVlanMIBObjects 6 } -- *************************************************************************** -- Conformance -- *************************************************************************** esVlanCompliances OBJECT IDENTIFIER ::= { esVlanMIBConformance 1 } esVlanCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DLINKES-VLAN-MIB." MODULE -- this module MANDATORY-GROUPS { esVlanIfCfgGroup } GROUP esVlanStaticMacVlanCfgGroup DESCRIPTION "Implementation of this group is optional." GROUP esVlanCurrentMacVlanCfgGroup DESCRIPTION "Implementation of this group is optional." -- GROUP esVlanSubnetVlanCfgGroup -- DESCRIPTION -- "Implementation of this group is optional." GROUP esVlanProtocolVlanCfgGroup DESCRIPTION "Implementation of this group is optional." GROUP esVlanAsymmetricVlanCfgGroup DESCRIPTION "Implementation of this group is optional." ::= { esVlanCompliances 1 } esVlanGroups OBJECT IDENTIFIER ::= { esVlanMIBConformance 2 } esVlanIfCfgGroup OBJECT-GROUP OBJECTS { esVlanPortIfMode, esVlanPortIfTrunkNativeVlanTagged, esVlanPortIfVlanPrecedence, esVlanPortIfAcceptableFrameTypes, esVlanPortIfTagAllowVlanLstFirst2K, esVlanPortIfTagAllowVlanLstSecond2K, esVlanPortIfUntagAllowVlanLstFirst2K, esVlanPortIfUntagAllowVlanLstSecond2K } STATUS current DESCRIPTION "A collection of objects providing the information and control for configuring port-specific VLAN feature." ::= { esVlanGroups 1 } esVlanStaticMacVlanCfgGroup OBJECT-GROUP OBJECTS { esVlanStaticMacVlanId, esVlanStaticMacVlanPriority, esVlanStaticMacVlanRowStatus } STATUS current DESCRIPTION "A collection of objects provides the configuration of MAC-based VLANs." ::= { esVlanGroups 2 } esVlanCurrentMacVlanCfgGroup OBJECT-GROUP OBJECTS { esVlanCurrentMacVlanId, esVlanCurrentMacVlanPriority } STATUS current DESCRIPTION "A collection of objects provides the running MAC-based VLANs." ::= { esVlanGroups 3 } -- -- esVlanSubnetVlanCfgGroup OBJECT-GROUP -- OBJECTS { -- esVlanSubnetVlanId, -- esVlanSubnetVlanPriority, -- esVlanSubnetVlanRowStatus -- } -- STATUS current -- DESCRIPTION -- "A collection of objects provides the configuration -- of subnet-based VLANs." -- ::= { esVlanGroups 4 } esVlanProtocolVlanCfgGroup OBJECT-GROUP OBJECTS { esVlanProtocolVlanPriority } STATUS current DESCRIPTION "A collection of objects provides the configuration of protocol VLAN entrys on interfaces." ::= { esVlanGroups 5 } esVlanAsymmetricVlanCfgGroup OBJECT-GROUP OBJECTS { esVlanAsymVlanStateEnabled } STATUS current DESCRIPTION "A collection of objects provides the management of asymmetric VLAN feature." ::= { esVlanGroups 6 } END