INTEL-ES480-VLAN-MIB DEFINITIONS ::= BEGIN -- ====================================================================== -- -- Interpretation of the Interface Table for VLAN and encapsulation -- interfaces: -- -- OBJECT VALUE/USE -- -- ifIndex Same interpretation as RFC1573. A unique value, -- greater than zero for each VLAN/Encapsulation interface. -- -- ifDescr Same interpretation as RFC1573. A textual string -- containing information about the interface. This -- string should include the name of the manufacturer, -- the product name, the version of the software, and that -- the entry is a vlan or encapsulation interface. -- -- Example: "VLAN Red" -- Example: "802.1Q Encapsulation Tag 004" -- -- ifType propVirtual(53) -- -- ifMtu Equivalent to the least common denominator MTU of the -- set of ports associated with the VLAN or ENCAPS interface. -- For example, if the VLAN contains one ethernet port, then -- the value of this object is 1518. If the VLAN contains -- all FDDI ports, the value of this object is 4500. If -- a vlan contains a mix of ethernet and FDDI ports, the -- value of this object is 1518. If there are no ports associated -- with the interface, then the ifMtu is zero. -- -- ifSpeed The value of this object is zero, as defined by RFC1573 -- for sub-layers that have no concept of bandwidth. -- -- ifPhysAddress The value of this object is always equal to a null octet -- string. -- -- ifAdminStatus Always equal to up(1). SetRequest-PDUs fail. -- -- ifOperStatus The value of this object is equal to up(1) if the -- ifOperStatus of at least one port in in the set of ports -- stacked below the VLAN layer is up(1). The value of this -- object is down(2) if the ifOperStatus of all ports stacked -- below the vlan layer is down(2). The value of this -- object is down(2) if there are no ports stacked below the -- the vlan sublayer. -- -- ifLastChange Same interpretation as RFC1573. The value of sysUpTime -- at the time the interface entered its current operational -- state. If the current state was entered prior to the -- last re-initialization of the local network management -- subsystem, then this object contains a zero value. -- -- ifInOctets These objects return NO_SUCH_NAME on reads and writes. -- ifInUcastPkts This approach is more desireable than returning zero -- ifInNUcastPkt on reads because NMS's cannot differentiate between -- ifInDiscards returning a zero for non-support vs returning a real -- ifInErrors zero value for the counter. Inability to distinguish -- ifInUnknownProtos between these two cases would essentially prevent -- ifOutOctets future implementation of these objects, therefore -- ifOutUcastPkts NO_SUCH_NAME is returned to indicate no-support. -- ifOutNUcastPkts Future implementations may choose to return real values -- ifOutDiscards for these counters. -- ifOutDiscards " -- ifOutErrors " -- ifLinkUpDownTrapEnable " -- ifConnectorPresent " -- ifHighSpeed " -- ifName " -- -- ifOutQLen Deprecated in RFC1573. Set to zero if present. -- ifSpecific Deprecated in RFC1573. Set to {0.0} if present. -- -- linkUp TRAP Not supported for the vlan/encaps sublayers -- linkDown TRAP Not supported for the vlan/encaps sublayer -- -- ====================================================================== IMPORTS MODULE-IDENTITY FROM SNMPv2-SMI RowStatus FROM SNMPv2-TC DisplayString FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 IpAddress FROM SNMPv2-SMI es480tAgent FROM INTEL-ES480-MIB; es480tVlan MODULE-IDENTITY LAST-UPDATED "0003170000Z" ORGANIZATION "Intel Corp." CONTACT-INFO "www.intel.com" DESCRIPTION "Intel ES480T Virtual LAN objects" ::= { es480tAgent 2 } -- -- The objects are arranged into the following groups: -- es480tVlanGroup OBJECT IDENTIFIER ::= { es480tVlan 1 } es480tVirtualGroup OBJECT IDENTIFIER ::= { es480tVlan 2 } es480tEncapsulationGroup OBJECT IDENTIFIER ::= { es480tVlan 3 } es480tProtocolGroup OBJECT IDENTIFIER ::= { es480tVlan 5 } -- -- -- Intel ES480T Vlan Type Textual Convention -- -- vlanLayer2(1) = The globally identified VLAN interface is protocol -- independent and based on port grouping. The configuration of -- port grouping is controlled through the ifStackTable. -- Es480tSwitchVlanType ::= INTEGER { vlanLayer2(1) } -- -- All groups in this MIB are optional. Support for a -- particular group is dependent upon the capabilities -- of the network device. -- -- The VLAN Group -- -- The VLAN mapping group contains objects for -- identifying VLANs within a device. It consists of the -- the es480tVlanIfTable. -- -- The Virtual Group -- -- The virtual group contains the es480tNextVirtIfIndex object. -- In the future, other groups and object will be added as -- capabilities are added. -- -- The Encapsulation Group -- -- The Encapsulation Group contains objects for identifying -- and configuring encapsulation entries within a device. -- It consists of the es480tVlanEncapsIfTable. -- -- -- The Intel ES480T VLAN Interface Table -- es480tVlanIfTable OBJECT-TYPE SYNTAX SEQUENCE OF Es480tVlanIfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table lists VLAN interfaces that exist within a device. A single entry exists in this list for each VLAN interface in the system. A VLAN interface may be created, destroyed and/or mapped to a globally identified vlan." ::= { es480tVlanGroup 2 } es480tVlanIfEntry OBJECT-TYPE SYNTAX Es480tVlanIfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An individual VLAN interface entry. When an NMS wishes to create a new entry in this table, it must obtain a non-zero index from the es480tNextAvailableVirtIfIndex object. Row creation in this table will fail if the chosen index value does not match the current value returned from the es480tNextAvailableVirtIfIndex object." INDEX { es480tVlanIfIndex } ::= { es480tVlanIfTable 1 } Es480tVlanIfEntry ::= SEQUENCE { es480tVlanIfIndex INTEGER, es480tVlanIfDescr DisplayString, es480tVlanIfType Es480tSwitchVlanType, es480tVlanIfGlobalIdentifier INTEGER, es480tVlanIfStatus RowStatus } es480tVlanIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The index value of this row and the vlan's ifIndex in the ifTable. The NMS obtains the index value for this row by reading the es480tNextAvailableVirtIfIndex object." ::= { es480tVlanIfEntry 1 } es480tVlanIfDescr OBJECT-TYPE SYNTAX DisplayString (SIZE(0..32)) ACCESS read-write STATUS mandatory DESCRIPTION "This is a description of the VLAN interface." ::= {es480tVlanIfEntry 2} es480tVlanIfType OBJECT-TYPE SYNTAX Es480tSwitchVlanType ACCESS read-write STATUS mandatory DESCRIPTION "The VLAN interface type." ::= { es480tVlanIfEntry 3 } es480tVlanIfGlobalIdentifier OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "An administratively assigned global VLAN identifier. The binding between a global identifier and a VLAN interface can be created or removed. To create a binding an NMS must write a non-zero value to this object. To delete a binding, the NMS must write a zero to this object. The value 1 is reserved for the default VLAN and this cannot be deleted or re-assigned." ::= { es480tVlanIfEntry 4 } es480tVlanIfStatus OBJECT-TYPE SYNTAX RowStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status column for this VLAN interface. This OBJECT can be set to: active(1) createAndGo(4) createAndWait(5) destroy(6) The following values may be read: active(1) notInService(2) notReady(3). Setting this object to createAndGo(4) causes the agent to attempt to create and commit the row based on the contents of the objects in the row. If all necessary information is present in the row and the values are acceptible to the agent, the agent will change the status to active(1). If any of the necessary objects are not available, the agent will reject the creation request. Setting this object to createAndWait(5) causes a row in this table to be created. The agent sets the status to notInService(2) if all of the information is present in the row and the values are acceptable to the agent; otherwise, the agent sets the status to notReady(3). Setting this object to active(1) is only valid when the current status is active(1) or notInService(2). When the state of the row transitions is set to active(1), the agent creates the corresponding row in the ifTable.. Setting this object to destroy(6) will remove the corresponding VLAN interface, remove the entry in this table, and the corresponding entries in the ifTable. In order for a set of this object to destroy(6) to succeed, all dependencies on this row must have been removed. These will include any stacking dependencies in the ifStackTable and any protocol specific tables dependencies." ::= { es480tVlanIfEntry 6 } -- -- The Intel ES480T VLAN Encapsulation Interface Table -- -- VLAN Encapsulation refers to the ability to multiplex -- several VLANs over a single network segment by explicitly -- labeling eack packet with a tag that identifies the packet's -- VLAN membership. -- -- The only tagging scheme supported by this MIB is IEEE 802.1Q -- Some ports support tagging, some don't. For ports that support -- tagging, they may have some VLANs that operate in tagging mode, -- some not in tagging mode. -- -- The encapsulation interface will be creatable by the NMS using -- the es480tVlanIfTable. This table will allow the NMS to define -- certain attributes of the encapsulation including an encapsulation -- algorithm and a tag value. Using the ifStack table, an encapsulation -- interface may be stacked underneath a VLAN interface and on top of port(s). -- -- Example ifTable Stacking: -- -- +=======================+=======================+ -- | VLAN Xface 9 | VLAN Xface 11 | -- +=======================+=======================+ -- +=======================+ -- | ENCAPS Xface 10 | -- +=======================+ -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |<=== Ports -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- -- ifStackTable Instances: -- ifStackHigher ifStackLower -- 0 9 -- 0 11 -- 1 0 -- 2 0 -- 3 0 -- 4 0 -- 9 10 -- 10 1 -- 10 2 -- 10 3 -- 10 4 -- 11 5 -- 11 6 -- 11 7 -- 11 8 -- -- A stack that contains a VLAN, encapsulation and a port interface, specifies: -- -- * For packets received through the given port that use the given encapsulation -- scheme and contain the given tag, those packets are members of the given VLAN. -- -- * For unencapsulated packets from the given VLAN that are to be transmitted out -- the given port, those packets must first be encapsulated using the given -- encapsulation algorithm and tag. -- Es480tSwitchVlanEncapsType ::= INTEGER { vlanEncaps8021q(2) } es480tVlanEncapsIfTable OBJECT-TYPE SYNTAX SEQUENCE OF Es480tVlanEncapsIfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table lists VLAN encapsulation interfaces that exist within a device. A single entry exists in this list for each VLAN encapsulation interface in the system. A VLAN encapsulation interface may be created or destroyed." ::= { es480tEncapsulationGroup 1 } es480tVlanEncapsIfEntry OBJECT-TYPE SYNTAX Es480tVlanEncapsIfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An individual VLAN encapsulation interface entry. When an NMS wishes to create a new entry in this table, it must obtain a non-zero index from the es480tNextAvailableVirtIfIndex object. Row creation in this table will fail if the chosen index value does not match the current value returned from the es480tNextAvailableVirtIfIndex object." INDEX { es480tVlanEncapsIfIndex } ::= { es480tVlanEncapsIfTable 1 } Es480tVlanEncapsIfEntry ::= SEQUENCE { es480tVlanEncapsIfIndex INTEGER, es480tVlanEncapsIfType Es480tSwitchVlanEncapsType, es480tVlanEncapsIfTag INTEGER, es480tVlanEncapsIfStatus RowStatus } es480tVlanEncapsIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The index value of this row and the encapsulation interface's ifIndex in the ifTable. The NMS obtains the index value used for creating a row in this table by reading the es480tNextAvailableVirtIfIndex object." ::= { es480tVlanEncapsIfEntry 1 } es480tVlanEncapsIfType OBJECT-TYPE SYNTAX Es480tSwitchVlanEncapsType ACCESS read-write STATUS mandatory DESCRIPTION "The encapsulation algorithm used when encapsulating packets transmitted, or de-encapsulating packets received through this interface." ::= {es480tVlanEncapsIfEntry 2} es480tVlanEncapsIfTag OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The tag used when encapsulating packets transmitted, or de-encapsulating packets received through this interface." ::= { es480tVlanEncapsIfEntry 3 } es480tVlanEncapsIfStatus OBJECT-TYPE SYNTAX RowStatus ACCESS read-write STATUS mandatory DESCRIPTION "The row status for this VLAN encapsulation interface. This OBJECT can be set to: active(1) createAndGo(4) createAndWait(5) destroy(6) The following values may be read: active(1) notReady(3). In order for a row to become active, the NMS must set es480tVlanEncapsIfTagType and es480tVlanEncapsIfTag to some valid and consistent values. Setting this object to createAndGo(4) causes the agent to attempt to create and commit the row based on the contents of the objects in the row. If all necessary information is present in the row, the agent will create the row and change the status to active(1). If any of the necessary objects are not available, or specify an invalid configuration, the row will not be created and the agent will return an appropriate error. Setting this object to createAndWait(5) causes a row in in this table to be created. If all necessary objects in the row have been assigned values and specify a valid configuration, the status of the row will be set to notInService(2); otherwise, the status will be set to notReady(3). This object may only be set to createAndGo(4) or createAndWait(5) if it does not exist. Setting this object to active(1) when the status is notInService(2) causes the agent to commit the row. Setting this object to active(1) when its value is already active(1) is a no-op. Setting this object to destroy(6) will remove the corresponding VLAN encapsulation interface, remove the entry in this table, and remove the corresponding entry in the ifTable. In order for a set of this object to destroy(6) to succeed, all dependencies on this row must have been removed. These will include any references to this interface in the ifStackTable." ::= { es480tVlanEncapsIfEntry 4 } -- -- The es480tNextAvailableVirtIfIndex -- es480tNextAvailableVirtIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of the next available virtual ifIndex. This object is used by an NMS to select an index value for row-creation in tables indexed by ifIndex. The current value of this object is changed to a new value when the current value is written to an agent's table, that is indexed by ifIndex. Row creation using the current value of this object, allocates a virtual ifIndex. Note the following: 1. A newly created row does not have to be active(1) for the agent to allocate the virtual ifIndex. 2. Race conditions between multiple NMS's end when a row is created. Rows are deemed created when a setRequest is successfully committed (i.e. the errorStats is noError(0)). 3. An agent that exhausts its supply of virual ifIndex values returns zero as the value of this object. This can be used by an NMS as an indication to deleted unused rows and reboot the device." ::= { es480tVirtualGroup 1 } -- -- Protocol Definition Table -- es480tVlanProtocolTable OBJECT-TYPE SYNTAX SEQUENCE OF Es480tVlanProtocolEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table of defined combinations of protocol IDs that make up one protocol definition name. All members of one protocol definition share the same es480tVlanProtocolIndex. A given protocol ID may appear in the definition of just one protocol definition. This table will typically contain some default entries for popular protocols." ::= { es480tProtocolGroup 1 } es480tVlanProtocolEntry OBJECT-TYPE SYNTAX Es480tVlanProtocolEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "One member protocol ID of a protocol definition." INDEX { es480tVlanProtocolIndex, es480tVlanProtocolIdIndex } ::= { es480tVlanProtocolTable 1 } Es480tVlanProtocolEntry ::= SEQUENCE { es480tVlanProtocolIndex INTEGER, es480tVlanProtocolIdIndex INTEGER, es480tVlanProtocolName DisplayString, es480tVlanProtocolDllEncapsType INTEGER, es480tVlanProtocolId INTEGER, es480tVlanProtocolStatus RowStatus } es480tVlanProtocolIndex OBJECT-TYPE SYNTAX INTEGER(0..7) ACCESS read-write STATUS mandatory DESCRIPTION "An index representing a protocol grouping of protocol ID values. A limited number of protocol groupings may be defined (up to 7)." ::= { es480tVlanProtocolEntry 1 } es480tVlanProtocolIdIndex OBJECT-TYPE SYNTAX INTEGER(0..6) ACCESS read-write STATUS mandatory DESCRIPTION "An index representing a particular protocol ID within a protocol grouping. A limited number of protocol IDs may be defined per es480tVlanProtocolIndex (up to 6)." ::= { es480tVlanProtocolEntry 2 } es480tVlanProtocolName OBJECT-TYPE SYNTAX DisplayString (SIZE(0..31)) ACCESS read-write STATUS mandatory DESCRIPTION "A human-readable string representing this protocol. This string should be the same for all entries sharing a given es480tVlanProtocolIndex. A es480tVlanProtocolEntry with es480tVlanProtocolName of ANY represents a match on all protocols: this entry may not be modified." ::= { es480tVlanProtocolEntry 3 } es480tVlanProtocolDllEncapsType OBJECT-TYPE SYNTAX INTEGER { any(1), ethertype(2), llc(3), llcSnapEthertype(4) } ACCESS read-write STATUS mandatory DESCRIPTION "Represents the type of data-link encapsulation in which the es480tVlanProtocolId protocol ID is carried. The value any(1) is used to indicate a wildcard and matches all encapsulations and protocol IDs that are not explicitly mentioned in this table. Entries of type any(1) may not be created. The value none(5) is used to indicate that no protocol IDs match this entry. A value of none(5) may not be set by a manager." ::= { es480tVlanProtocolEntry 4 } es480tVlanProtocolId OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The protocol ID: for entries of type ethertype(2) or llcSnapEthertype(4) this represents a 16-bit protocol ID. For entries of type llc(3) it represents a concatenation of LLC DSAP+SSAP in network byte order. This value is not valid for es480tVlanProtocolDllEncapsType values of any(1) or none(5)." ::= { es480tVlanProtocolEntry 5 } es480tVlanProtocolStatus OBJECT-TYPE SYNTAX RowStatus ACCESS read-write STATUS mandatory DESCRIPTION "The row status variable, used according to row installation and removal conventions." ::= { es480tVlanProtocolEntry 6 } -- -- Protocol-based VLAN Table -- es480tVlanProtocolVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF Es480tVlanProtocolVlanEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table to apply one of the protocol definitions in es480tVlanProtocolTable to a given VLAN This applies to all ports that are untagged in this VLAN). A limited number of protocols may be applied simultaneously in one device (up to 8)." ::= { es480tProtocolGroup 2 } es480tVlanProtocolVlanEntry OBJECT-TYPE SYNTAX Es480tVlanProtocolVlanEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A mapping of untagged packets of one protocol onto a particular VLAN." INDEX { es480tVlanProtocolVlanIfIndex, es480tVlanProtocolVlanProtocolIndex } ::= { es480tVlanProtocolVlanTable 1 } Es480tVlanProtocolVlanEntry ::= SEQUENCE { es480tVlanProtocolVlanIfIndex INTEGER, es480tVlanProtocolVlanProtocolIndex INTEGER, es480tVlanProtocolVlanStatus RowStatus } es480tVlanProtocolVlanIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The index value of this row and the vlan's ifIndex in the ifTable. The NMS obtains the index value for this row by reading the es480tNextAvailableVirtIfIndex object." ::= { es480tVlanProtocolVlanEntry 1 } es480tVlanProtocolVlanProtocolIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "An index representing a protocol grouping of protocol ID values. A limited number of protocol groupings may be defined (up to 7)." ::= { es480tVlanProtocolVlanEntry 2 } es480tVlanProtocolVlanStatus OBJECT-TYPE SYNTAX RowStatus ACCESS read-write STATUS mandatory DESCRIPTION "The row status variable, used according to row installation and removal conventions." ::= { es480tVlanProtocolVlanEntry 3 } END -- =============================================================================== -- -- Intel ES480T QoS objects --