COMPAQ-VLAN-MIB DEFINITIONS ::= BEGIN -- IMPORTS enterprises, Counter, TimeTicks, IpAddress FROM RFC1155-SMI DisplayString FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1215; -- All representations of MAC addresses in this MIB Module -- use, as a textual convention (i.e. this convention does -- not affect their encoding), the data type: MacAddress ::= OCTET STRING (SIZE (6)) -- a 6 octet address -- in the -- "canonical" -- order -- defined by IEEE 802.1a, i.e., as if it were transmitted -- least significant bit first, even though 802.5 (in -- contrast to other n802.x protocols) requires MAC -- addresses to be transmitted most significant bit first. -- -- 16-bit addresses, if needed, are represented by setting -- their upper 4 octets to all 0's, i.e., AAFF would be -- represented as 00000000AAFF. -- Similarly, all representations of Bridge-Id in this MIB -- Module use, as a textual convention (i.e. this -- convention does not affect their encoding), the data -- type: BridgeId ::= OCTET STRING (SIZE (8)) -- the Bridge-Identifier as used in the Spanning Tree -- Protocol to uniquely identify a bridge. Its first two -- octets (in network byte order) contain a priority -- value and its last 6 octets contain the MAC address -- used to refer to a bridge in a unique fashion -- (typically, the numerically smallest MAC address -- of all ports on the bridge). -- Several objects in this MIB module represent values of -- timers used by the Spanning Tree Protocol. In this -- MIB, these timers have values in units of hundreths of -- a second (i.e. 1/100 secs). -- These timers, when stored in a Spanning Tree Protocol's -- BPDU, are in units of 1/256 seconds. Note, however, -- that 802.1D-1990 specifies a settable granularity of -- no more than 1 second for these timers. To avoid -- ambiguity, a data type is defined here as a textual -- convention and all representation of these timers -- in this MIB module are defined using this data type. An -- algorithm is also defined for converting between the -- different units, to ensure a timer's value is not -- distorted by multiple conversions. -- The data type is: Timeout ::= INTEGER -- a STP timer in units of 1/100 seconds -- To convert a Timeout value into a value in units of -- 1/256 seconds, the following algorithm should be used: -- -- b = floor( (n * 256) / 100) -- -- where: -- floor = quotient [ignore remainder] -- n is the value in 1/100 second units -- b is the value in 1/256 second units -- -- To convert the value from 1/256 second units back to -- 1/100 seconds, the following algorithm should be used: -- -- n = ceiling( (b * 100) / 256) -- -- where: -- ceiling = quotient [if remainder is 0], or -- quotient + 1 [if remainder is non-zero] -- n is the value in 1/100 second units -- b is the value in 1/256 second units -- -- Note: it is important that the arithmetic operations are -- done in the order specified (i.e., multiply first, divide -- second). compaq OBJECT IDENTIFIER ::= { enterprises 232 } compaq-dallas-npd OBJECT IDENTIFIER ::= { compaq 101 } switchedMedia OBJECT IDENTIFIER ::= { compaq-dallas-npd 2 } cpqnVlan OBJECT IDENTIFIER ::= { switchedMedia 3 } -- VLAN information Table cpqnVLANType OBJECT-TYPE SYNTAX INTEGER { single-spanning-tree (1), multiple-spanning-tree (2) } ACCESS read-write STATUS mandatory DESCRIPTION " The type of spanning tree configuration selected determines the type of VLAN. A Single spanning tree may result in a loss of connectivity to a VLAN. A multiple spanning tree configuration may result in VLAN merging if two VLANs are configured identically. The Cpqndot1dStpBridge group exists only in a multiple-spanning tree configuration " ::= { cpqnVlan 1 } cpqnVLANTotalVlans OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION " The Maximum number of VLANs that can be configured in this switch. There shall be the same number of rows in cpqnVlanInfoTable " ::= { cpqnVlan 2 } cpqnVLANInfoTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnVLANInfoEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "VLAN Information table." ::= { cpqnVlan 3 } cpqnVLANInfoEntry OBJECT-TYPE SYNTAX CpqnVLANInfoEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Definition of each row in the vlan Table" INDEX { cpqnVLANInfoVLANNumber } ::= { cpqnVLANInfoTable 1 } CpqnVLANInfoEntry ::= SEQUENCE { cpqnVLANInfoVLANNumber INTEGER, cpqnVLANInfoIfIndex INTEGER, cpqnVLANInfoState INTEGER, cpqnVLANInfoName DisplayString, cpqnVLANInfoNumofEntries INTEGER, cpqnVLANPortConfigBitmap OCTET STRING, cpqnVLANPortOperationalBitmap OCTET STRING } cpqnVLANInfoVLANNumber OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "VLAN identifier for this row." ::= { cpqnVLANInfoEntry 1 } cpqnVLANInfoIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The ifIndex of the interface entry corresponding to each vlan." ::= { cpqnVLANInfoEntry 2 } cpqnVLANInfoState OBJECT-TYPE SYNTAX INTEGER { active-user-defined (1), inactive-unconfigured (2), active-merged (3), inactive-reconfigured (4) } ACCESS read-only STATUS mandatory DESCRIPTION "Current state of the vlan. If a vlan has at least one port, it is considered active (1). If there are no ports configured for this VLAN then the value is inactive-unconfigured (2). In the multiple spanning tree case, VLAN merging can occur and VLAN state can be active-merged(3) or inactive-reconfigured(4). If the value of this object is active-merged(3) or inactive- reconfigured(4), then the vlanConfigReconfigBitmap provides bitmap of all VLAN entries that have been merged" ::= { cpqnVLANInfoEntry 3 } cpqnVLANInfoName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..10)) ACCESS read-write STATUS mandatory DESCRIPTION "User defined name of the vlan. DURABLE" ::= { cpqnVLANInfoEntry 4} cpqnVLANInfoNumofEntries OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION " The total number of ports configured for this VLAN. " ::= { cpqnVLANInfoEntry 5 } cpqnVLANPortConfigBitmap OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-write STATUS mandatory DESCRIPTION " A Bitmap of all the port entries that have been configured for this VLAN. ANy change to this object will also result in a change in the corresponding Port Table. Each octet within the value of this object specifies a set of eight ports, with the first octet specifying ports 1 through 8, the second octet specifying ports 9 through 16, etc. Within each octet, the most significant bit represents the lowest numbered port, and the least significant bit represents the highest numbered port. Thus, each port of the bridge is represented by a single bit within the value of this object.DURABLE" ::= { cpqnVLANInfoEntry 6 } cpqnVLANPortOperationalBitmap OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION " The current operational Port bitmap for this VLAN. This object is useful only in a multiple spanning tree case, since it shows the ports that have been merged. Each octet within the value of this object specifies a set of eight ports, with the first octet specifying ports 1 through 8, the second octet specifying ports 9 through 16, etc. Within each octet, the most significant bit represents the lowest numbered port, and the least significant bit represents the highest numbered port. Thus, each port of the bridge is represented by a single bit within the value of this object." ::= { cpqnVLANInfoEntry 7 } -- VLAN Port Config Table -- This table is used to add/remove ports from a VLAN cpqnVLANPortConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnVlanPortConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing a list of ports configured for a VLAN." ::= { cpqnVlan 4 } cpqnVLANPortConfigEntry OBJECT-TYPE SYNTAX CpqnVlanPortConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of ports, their Ids etc." INDEX { cpqnVLANPortIndex } ::= { cpqnVLANPortConfigTable 1 } CpqnVlanPortConfigEntry ::= SEQUENCE { cpqnVLANPortIndex INTEGER, cpqnVLANPortVLANBitmap OCTET STRING } cpqnVLANPortIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The Port number whose entry is defined in this row. At startup, one entry will be created for each of the ports. This value should be the same as the IfIndex value from the Interfaces Table" ::= { cpqnVLANPortConfigEntry 1 } cpqnVLANPortVLANBitmap OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-write STATUS mandatory DESCRIPTION "The VLANs to which this port belongs. Any change to this entry will also result in a change to the cpqnVLANInfoPortBitmap. Each octet within the value of this object specifies a set of eight VLANs, with the first octet specifying vlans 1 through 8, the second octet specifying vlans 9 through 16, etc. Within each octet, the most significant bit represents the lowest numbered vlan, and the least significant bit represents the highest numbered vlan.DURABLE" ::= { cpqnVLANPortConfigEntry 2 } -- -- Leaky VLANS -- cpqnVLANLeakyState OBJECT-TYPE SYNTAX INTEGER { vlans-leaky (1), vlans-not-leaky (2) } ACCESS read-write STATUS mandatory DESCRIPTION " Sets VLANs to leaky or not-leaky. In a leaky VLAN, unicasts to a known destination on a different VLAN are reachable. Only broadcasts and multicasts are contained within a VLAN " ::= { cpqnVlan 5 } -- Reset Reconfiguration -- Starts reinitialization of All VLANs whose port masks have merged vlanConfigResetReconfig OBJECT-TYPE SYNTAX INTEGER{ invalid (1), reset (2) } ACCESS read-write STATUS mandatory DESCRIPTION " Setting this value to reset(2) will restart spanning tree process on all merged VLANS. This object is useful only in a multiple STP " ::= { cpqnVlan 6 } -- -- The cpqndot1dStpBridge Group: For IEEE 802.1d Bridge Management. -- cpqndot1dStpBridgeTable OBJECT-TYPE SYNTAX SEQUENCE OF Cpqndot1dStpBridgeEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table duplicates RFC1493 dot1dStp Group information for each logical bridge group present in the agent." ::= { cpqnVlan 7 } cpqndot1dStpBridgeEntry OBJECT-TYPE SYNTAX Cpqndot1dStpBridgeEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table has one entry for each logical bridge group. The index into the table is cpqndot1dStpBridgeIndex." INDEX { cpqndot1dStpBridgeIndex } ::= { cpqndot1dStpBridgeTable 1 } Cpqndot1dStpBridgeEntry ::= SEQUENCE { cpqndot1dStpBridgeIndex INTEGER, cpqndot1dStpVlanIndex INTEGER, cpqndot1dStpBridgeAddr MacAddress, cpqndot1dStpPriority INTEGER, cpqndot1dStpTimeSinceTopologyChange TimeTicks, cpqndot1dStpTopChanges Counter, cpqndot1dStpDesignatedRoot BridgeId, cpqndot1dStpRootCost INTEGER, cpqndot1dStpRootPort INTEGER, cpqndot1dStpMaxAge Timeout, cpqndot1dStpHelloTime Timeout, cpqndot1dStpHoldTime INTEGER, cpqndot1dStpForwardDelay Timeout, cpqndot1dStpBridgeMaxAge Timeout, cpqndot1dStpBridgeHelloTime Timeout, cpqndot1dStpBridgeForwardDelay Timeout } cpqndot1dStpBridgeIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Logical bridge group number. This index only exists if ports are allocated to this logical bridge group." ::= { cpqndot1dStpBridgeEntry 1 } cpqndot1dStpVlanIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION " The Vlan ID for this bridge group. The value of this object corresponds to the value of the cpqnVLANInfoVLANNumber of the VLAN that this bridge group represents" ::= { cpqndot1dStpBridgeEntry 2 } cpqndot1dStpBridgeAddr OBJECT-TYPE SYNTAX MacAddress ACCESS read-only STATUS mandatory DESCRIPTION "The MAC address assigned to this vlan. This address is the MAC address of the lowest numbered port in the vlan." ::= { cpqndot1dStpBridgeEntry 3 } cpqndot1dStpPriority OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The value of the writeable portion of the Bridge ID, i.e., the first two octets of the 8 octet long Bridge ID. The last 6 octets of the Bridge ID are given by the value of cpqndot1dBaseBridgeAddress." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.7" ::= { cpqndot1dStpBridgeEntry 4 } cpqndot1dStpTimeSinceTopologyChange OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The time, in hundredths of a seconds, since the last time a topology change was detected by the bridge entity." REFERENCE "IEEE 802.1D-1990: Section 6.8.1.1.3" ::= { cpqndot1dStpBridgeEntry 5 } cpqndot1dStpTopChanges OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of topology changes detected by this bridge since the management entity was last reset or initialized." REFERENCE "IEEE 802.1D-1990: Section 6.8.1.1.3" ::= { cpqndot1dStpBridgeEntry 6 } cpqndot1dStpDesignatedRoot OBJECT-TYPE SYNTAX BridgeId ACCESS read-only STATUS mandatory DESCRIPTION "The bridge identifier of the root of the spanning tree as determined by the Spanning Tree Protocol as executed by this node. This value is used as the Root Identifier parameter in all Configuration Bridge PDUs originated by this node." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.1" ::= { cpqndot1dStpBridgeEntry 7 } cpqndot1dStpRootCost OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The cost of the path to the root as seen from this bridge." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.2" ::= { cpqndot1dStpBridgeEntry 8 } cpqndot1dStpRootPort OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The port number of the port which offers the lowest cost path from this bridge to the root bridge." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.3" ::= { cpqndot1dStpBridgeEntry 9 } cpqndot1dStpMaxAge OBJECT-TYPE SYNTAX Timeout ACCESS read-only STATUS mandatory DESCRIPTION "The maximum age of Spanning Tree Protocol information learned from the network on any port before it is discarded, in units of hundredths of a second. This is the actual value that this bridge is currently using." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.4" ::= { cpqndot1dStpBridgeEntry 10 } cpqndot1dStpHelloTime OBJECT-TYPE SYNTAX Timeout ACCESS read-only STATUS mandatory DESCRIPTION "The amount of time between the transmission of Configuration bridge PDUs by this node on any port when it is the root of the spanning tree or trying to become so, in units of hundredths of a second. This is the actual value that this bridge is currently using." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.5" ::= { cpqndot1dStpBridgeEntry 11 } cpqndot1dStpHoldTime OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This time value determines the interval length during which no more than two Configuration bridge PDUs shall be transmitted by this node, in units of hundredths of a second." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.14" ::= { cpqndot1dStpBridgeEntry 12 } cpqndot1dStpForwardDelay OBJECT-TYPE SYNTAX Timeout ACCESS read-only STATUS mandatory DESCRIPTION "This time value, measured in units of hundredths of a second, controls how fast a port changes its spanning state when moving towards the Forwarding state. The value determines how long the port stays in each of the Listening and Learning states, which precede the Forwarding state. This value is also used, when a topology change has been detected and is underway, to age all dynamic entries in the Forwarding Database. [Note that this value is the one that this bridge is currently using, in contrast to dot1dStpBridgeForwardDelay which is the value that this bridge and all others would start using if/when this bridge were to become the root.]" REFERENCE "IEEE 802.1D-1990: Section 4.5.3.6" ::= { cpqndot1dStpBridgeEntry 13 } cpqndot1dStpBridgeMaxAge OBJECT-TYPE SYNTAX Timeout (600..4000) ACCESS read-write STATUS mandatory DESCRIPTION "The value that all bridges use for MaxAge when this bridge is acting as the root. Note that 802.1D-1990 specifies that the range for this parameter is related to the value of dot1dStpBridgeHelloTime. The granularity of this timer is specified by 802.1D-1990 to be 1 second. An agent may return a badValue error if a set is attempted to a value which is not a whole number of seconds." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.8" ::= { cpqndot1dStpBridgeEntry 14 } cpqndot1dStpBridgeHelloTime OBJECT-TYPE SYNTAX Timeout (100..1000) ACCESS read-write STATUS mandatory DESCRIPTION "The value that all bridges use for HelloTime when this bridge is acting as the root. The granularity of this timer is specified by 802.1D- 1990 to be 1 second. An agent may return a badValue error if a set is attempted to a value which is not a whole number of seconds." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.9" ::= { cpqndot1dStpBridgeEntry 15 } cpqndot1dStpBridgeForwardDelay OBJECT-TYPE SYNTAX Timeout (400..3000) ACCESS read-write STATUS mandatory DESCRIPTION "The value that all bridges use for ForwardDelay when this bridge is acting as the root. Note that 802.1D-1990 specifies that the range for this parameter is related to the value of cpqndot1dStpBridgeMaxAge. The granularity of this timer is specified by 802.1D-1990 to be 1 second. An agent may return a badValue error if a set is attempted to a value which is not a whole number of seconds." REFERENCE "IEEE 802.1D-1990: Section 4.5.3.10" ::= { cpqndot1dStpBridgeEntry 16 } -- -- -- Traps -- -- vlanConfigReconfig TRAP-TYPE -- ENTERPRISE vlanConfig -- VARIABLES {vlanConfigReconfigBitmap, -- vlanIfIndex(first), -- vlanIfIndex(second).} -- DESCRIPTION -- "A vlanConfigReconfig TRAP is sent to the management station when -- the bridge reconfigures the port masks after it detects a VLAN -- misconfiguration" -- ::= 1 END