GENERIC-3COM-VLAN-MIB-1-0-1 DEFINITIONS ::= BEGIN IMPORTS enterprises, IpAddress FROM RFC1155-SMI -- RowStatus FROM SNMPv2-TC DisplayString FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 TruthValue FROM SNMPv2-TC; -- RowStatus as defined in SNMPv2 -- Refer to rfc1443.txt for concise definition --PSIM(Remove) RowStatus ::= INTEGER ( 1..6 ) -- the following two values are states: -- these values may be read or written --active(1), --notInService(2), -- the following value is a state: -- this value may be read, but not written --notReady(3), -- the following three values are -- actions: these values may be written, -- but are never read --createAndGo(4), --createAndWait(5), --destroy(6) a3Com OBJECT IDENTIFIER ::= { enterprises 43 } generic OBJECT IDENTIFIER ::= { a3Com 10 } genExperimental OBJECT IDENTIFIER ::= { generic 1 } genVirtual OBJECT IDENTIFIER ::= { genExperimental 14 } -- -- Structure of MIB -- -- The objects are arranged into the following groups: -- -- 3Com Generic VLAN MIB Groups -- a3ComVlanGroup OBJECT IDENTIFIER ::= { genVirtual 1 } a3ComVlanProtocolsGroup OBJECT IDENTIFIER ::= { genVirtual 2 } a3ComVirtualGroup OBJECT IDENTIFIER ::= { genVirtual 3 } a3ComEncapsulationGroup OBJECT IDENTIFIER ::= { genVirtual 4 } -- -- -- 3COM 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. -- -- vlanDefaultProtocols(2) = The globally identified VLAN interface is -- known as Explicit Default Protocols. The forwarding behavior -- of this type of VLAN interface is defined as follows: -- -- On devices that support layer 3 VLAN interfaces, there is an -- Implicit Default Protocols VLAN interface defined (See -- diagram 1 below). The flooding behavior of the Implicit -- Default Protocols VLAN interface is to forward all -- broadcast/multicast/unknown DA frames to all non-source -- ports. -- -- DIAGRAM 1: Implicit Default Protocols VLAN Interface -- -- +===============================================+ -- | Implicit Default VLAN | -- +===============================================+ -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <=== Ports -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- ^ -- | -- Any protocol frame sourced on port 1 is flooded to ports 2-8 -- -- To change the above flooding behavior, an NMS can configure -- an Explicit Default Protocols for a single port or -- a group of ports by using vlanDefaultProtocols(2) (See -- Diagram 2). -- -- DIAGRAM 2: Explicit Default Protocols VLAN Interface -- -- +=== Explicit Default Protocols VLAN -- | -- V -- +===============================================+ -- | | Implicit Default VLAN | -- +===============================================+ -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <=== Ports -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- ^ -- | -- Any protocol frame sourced on port 1 is now dropped -- -- When a protocol sensitive vlan is configured, the explicit -- default protocol can be used to control the flooding of all -- other protocols. For example (Diagram 3 and 4) -- -- DIAGRAM 3: IP VLAN Interface -- -- +=================+ -- | IP VLAN | -- +=================+=============================+ -- | Implicit Default VLAN | -- +===============================================+ -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <=== Ports -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- ^ -- | -- Any non-IP broadcast/multicast/unknown DA frame sourced on -- port 1 is flooded to ports 2-8. An IP broadcast/multicast or -- unknown DA sourced on port 1, is flooded to ports 2-3. -- -- To drop all non-IP broadcast/multicast/unknown DA frames at the -- source port, the following Explicit Default VLANs should be -- configured: -- -- DIAGRAM 4: IP VLAN Interface with Explicit Default VLANs A, B, C -- -- +=================+ -- | IP VLAN | -- +=================+=============================+ -- | A | B | C | Implicit Default VLAN | -- +===============================================+ -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <=== Ports -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- ^ ^ ^ -- | | | -- Any non-IP broadcast/multicast/unknown DA frame sourced on -- either ports 1, 2, or 3, is dropped at the port and is not -- flooded. -- -- vlanIPProtocol(3) -- vlanIPXProtocol(4) -- vlanAppleTalkProtocol(5) -- vlanXNSProtocol(6) -- vlanISOProtocol(7) -- vlanDECNetProtocol(8) -- vlanNetBIOSProtocol(9) -- vlanSNAProtocol(10), -- vlanVINESProtocol(11) -- vlanX25Protocol(12) -- vlanIGMPProtocol(13) = The globally identified VLAN interface is OSI -- layer three sensitive. Flooding domains are configurable by port -- and by protocol in the above set of protocols. -- -- vlanSessionLayer(14) -- vlanNetNeui(15)" A3ComVlanType ::= INTEGER { vlanLayer2(1), vlanDefaultProtocols(2), vlanIPProtocol(3), vlanIPXProtocol(4), vlanAppleTalkProtocol(5), vlanXNSProtocol(6), vlanISOProtocol(7), vlanDECNetProtocol(8), vlanNetBIOSProtocol(9), vlanSNAProtocol(10), vlanVINESProtocol(11), vlanX25Protocol(12), vlanIGMPProtocol(13), vlanSessionLayer(14), vlanNetBeui(15) } -- -- 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, and for mapping -- these VLANs to a global identifier. It consists of the -- a3ComVlanGlobalMappingTable and the a3ComVlanIfTable. -- -- The VLAN Protocols Group -- -- The VLAN Protocols group contains protocol parameters for -- VLAN interfaces based on protocols above layer 2 in the OSI -- reference module. It consists of the a3ComIpVlanTable. -- In the future, other protocol groups will be defined as -- capabilities are added. -- -- The Virtual Group -- -- The virtual group contains the a3ComNextVirtIfIndex 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 a3ComVlanEncapsIfTable. -- -- -- The 3COM VLAN Global Mapping Table -- -- This table is implemented by all 3Com network devices that -- support interfaces to globally identified VLANs. -- a3ComVlanGlobalMappingTable OBJECT-TYPE SYNTAX SEQUENCE OF A3ComVlanGlobalMappingEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table lists VLAN interfaces that are globally identified. A single entry exists in this list for each VLAN interface in the system that is bound to a global identifier." ::= { a3ComVlanGroup 1 } a3ComVlanGlobalMappingEntry OBJECT-TYPE SYNTAX A3ComVlanGlobalMappingEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An individual VLAN interface global mapping entry. Entries in this table are created by setting the a3ComVlanIfGlobalIdentifier object in the a3ComVlanIfTable to a non-zero value." INDEX { a3ComVlanGlobalMappingIdentifier } ::= { a3ComVlanGlobalMappingTable 1 } A3ComVlanGlobalMappingEntry ::= SEQUENCE { a3ComVlanGlobalMappingIdentifier INTEGER (0..65535), a3ComVlanGlobalMappingIfIndex INTEGER } a3ComVlanGlobalMappingIdentifier OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index into the a3ComVlanGlobalMappingTable and an administratively assigned global VLAN identifier. The value of this object globally identifies the VLAN interface. For VLAN interfaces, on different network devices, which are part of the same globally identified VLAN, the value of this object will be the same." ::= { a3ComVlanGlobalMappingEntry 1 } a3ComVlanGlobalMappingIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of a3ComVlanIfIndex for the VLAN interface in the a3ComVlanIfTable, which is bound to the global identifier specified by this entry." ::= { a3ComVlanGlobalMappingEntry 2 } -- -- The 3COM VLAN Interface Table -- -- This table is implemented by all 3Com network devices that -- support VLAN interfaces. -- a3ComVlanIfTable OBJECT-TYPE SYNTAX SEQUENCE OF A3ComVlanIfEntry 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." ::= { a3ComVlanGroup 2 } a3ComVlanIfEntry OBJECT-TYPE SYNTAX A3ComVlanIfEntry 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 a3ComNextAvailableVirtIfIndex object. Row creation in this table will fail if the chosen index value does not match the current value returned from the a3ComNextAvailableVirtIfIndex object." INDEX { a3ComVlanIfIndex } ::= { a3ComVlanIfTable 1 } A3ComVlanIfEntry ::= SEQUENCE { a3ComVlanIfIndex INTEGER, a3ComVlanIfDescr DisplayString, a3ComVlanIfType A3ComVlanType, a3ComVlanIfGlobalIdentifier INTEGER, a3ComVlanIfInfo OCTET STRING, a3ComVlanIfStatus RowStatus, a3ComVlanIfIgnoreStpFlag TruthValue } a3ComVlanIfIndex 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 a3ComNextAvailableVirtIfIndex object." ::= { a3ComVlanIfEntry 1 } a3ComVlanIfDescr OBJECT-TYPE SYNTAX DisplayString (SIZE(0..80)) ACCESS read-write STATUS mandatory DESCRIPTION "This is a description of the VLAN interface." ::= {a3ComVlanIfEntry 2} a3ComVlanIfType OBJECT-TYPE SYNTAX A3ComVlanType ACCESS read-write STATUS mandatory DESCRIPTION "The VLAN interface type." ::= { a3ComVlanIfEntry 3 } a3ComVlanIfGlobalIdentifier OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "An administratively assigned global VLAN identifier. For VLAN interfaces, on different network devices, which are part of the same globally identified VLAN, the value of this object will be the same. 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." ::= { a3ComVlanIfEntry 4 } a3ComVlanIfInfo OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "A TLV encoded information string for the VLAN interface. The information contained within this string corresponds to VLAN information not contained within this table, but contained elsewhere within this MIB module. The purpose of this string is to provide an NMS with a quick read mechanism of all related VLAN interface information. The encoding rules are defined according to: tag = 2 bytes length = 2 bytes value = n bytes The following tags are defined: TAG OBJECT DESCRIPTION 1 a3ComIpVlanIpNetAddress IP Network Address of IP VLAN 2 a3ComIpVlanIpNetMask IP Network Mask of IP VLAN" ::= { a3ComVlanIfEntry 5 } a3ComVlanIfStatus 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 a3ComVlanGlobalMappingTable and 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." ::= { a3ComVlanIfEntry 6 } a3ComVlanIfIgnoreStpFlag OBJECT-TYPE SYNTAX TruthValue ACCESS read-write STATUS mandatory DESCRIPTION "Enable/disable STP for this VLAN interface. Setting this object to true will cause the ports on this VLAN to ignore STP BPDUs. When a vlan is first created, the Default value is FALSE, which means that the VLAN uses STP port information" ::= { a3ComVlanIfEntry 7 } -- -- The IP VLAN Interface Information Table -- -- The IP VLAN Interface Information table is supported by -- network devices that support IP VLAN interfaces. -- -- A row must be created in this table for each IP -- VLAN interface that shares 1 or more ports with -- another IP VLAN interface. Entries in this table -- must be created before the entries in the ifStack -- Table, which cause the overlap. The index used is the -- same index as that used to create the IP VLAN interface -- in the a3ComVlanIfTable. The NMS must remove entries -- in this table, prior to removing the corresponding entry -- in the a3ComVlanIfTable. -- -- The information in this table is used to convey additional -- layer 3 information necessary to support overlapping -- IP VLAN Interfaces. If an NMS does not wish to -- configure overlapping IP VLAN interfaces, then -- the information in this table is not needed. -- -- Below is an example of a non-overlapping IP VLAN -- interface: -- -- +=======================+ -- | IP VLAN 1 | -- +=======================+ -- +=======================+ -- | IP VLAN 2 | -- +=======================+ -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <=== Ports -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- Non-Overlapping IP VLAN Interfaces -- -- Below is an example of an overlapping IP VLAN -- interface. The IP VLAN Interface Information table -- must be setup before this configuration is supported. -- The agent will fail sets to the ifStack table that -- produce overlapping IP VLAN interfaces if the -- VLAN interfaces do not have completed entries in -- the IP VLAN Interface Information table. -- -- +=============================+ -- | IP VLAN 1 | -- +=============================+ -- +=============================+ -- | IP VLAN 2 | -- +=============================+ -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <=== Ports -- +=====+=====+=====+=====+=====+=====+=====+=====+ -- Overlapping IP VLAN Interfaces -- a3ComIpVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF A3ComIpVlanEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of IP VLAN interface information entries. Entries in this table are related to entries in the a3ComVlanIfTable by using the same index." ::= { a3ComVlanProtocolsGroup 1 } a3ComIpVlanEntry OBJECT-TYPE SYNTAX A3ComIpVlanEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A a3ComIpVlanEntry contains layer 3 information about a particular IP VLAN interface. Note entries in this table cannot be deleted until the entries in the ifStackTable that produce overlap are removed." INDEX { a3ComVlanIfIndex } ::= { a3ComIpVlanTable 1 } A3ComIpVlanEntry ::= SEQUENCE { a3ComIpVlanIpNetAddress IpAddress, a3ComIpVlanIpNetMask IpAddress, a3ComIpVlanStatus RowStatus } a3ComIpVlanIpNetAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "The IP network number for the IP VLAN interface defined in the a3ComVlanIfTable identified with the same index. The IpNetAdress and the IpNetMask must be set and the the row creation process completed by a NMS before overlapping rows in the ifStackTable can be created. Sets to the ifStackTable that produce overlapping IP VLAN interfaces will fail if this object is not set." ::= { a3ComIpVlanEntry 1 } a3ComIpVlanIpNetMask OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "The IP network mask corresponding to the IP Network address defined by a3ComIpVlanIpNetAddress. The IpNetAdress and the IpNetMask must be set and the row creation process completed by a NMS before overlapping rows in the ifStackTable can be created. Sets to the ifStackTable that produce overlapping IP VLAN interfaces will fail if this object is not set." ::= { a3ComIpVlanEntry 2 } a3ComIpVlanStatus OBJECT-TYPE SYNTAX RowStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status column for this IP VLAN entry. 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 row creation request. Setting this object to createAndWait(5) causes a row in 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 acceptible 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 status changes to active(1), the agent applies the IP parmeters to the IP VLAN interface identified by the corresponding value of the a3ComIpVlanIndex object. Setting this object to destroy(6) will remove the IP parmeters from the IP VLAN interface and remove the entry from this table. Setting this object to destroy(6) will remove the layer 3 information from the IP VLAN interface and will remove the row from this table. Note that this action cannot be performed if there are ifStackTable entries that result in overlapping IP VLAN interfaces. Note that these dependencies must be removed first." ::= { a3ComIpVlanEntry 3 } -- The 3Com 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. -- -- There exist at least 2 tagging algorithms: a 3Com proprietary tagging -- scheme developped by PDD ("VLT tagging"), a standard tagging scheme -- under development in IEEE ("802.1q tagging"). Within a given device -- (i.e., within a givin agents purview), both tagging schemes may be -- in use simultaneously, possibly for different segments associated -- with the same VLAN. Even when only a single tagging scheme is in use, a -- a single VLAN may be represented with different tags when traffic is -- transmitted/received through different (tagging) ports. Some ports -- support tagging, some don't. For ports that support tagging, they may -- sometimes operate in tagging mode, sometime not in tagging mode. -- (Conceivably, one could also have ports that handle a mixture of tagged -- and untagged traffic.) -- -- The encapsulation interface will be creatable by the NMS using a table -- similar to the a3ComVlanIfTable. 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. -- -- This table is implemented by all 3Com network devices that -- support the encapsulation of multiple VLANs over a single interface. -- A3ComVlanEncapsType ::= INTEGER { vlanEncaps3ComProprietaryPDD(1), vlanEncaps8021q(2), vlanEncapsPre8021qONcore(3) } a3ComVlanEncapsIfTable OBJECT-TYPE SYNTAX SEQUENCE OF A3ComVlanEncapsIfEntry 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." ::= { a3ComEncapsulationGroup 1 } a3ComVlanEncapsIfEntry OBJECT-TYPE SYNTAX A3ComVlanEncapsIfEntry 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 a3ComNextAvailableVirtIfIndex object. Row creation in this table will fail if the chosen index value does not match the current value returned from the a3ComNextAvailableVirtIfIndex object." INDEX { a3ComVlanEncapsIfIndex } ::= { a3ComVlanEncapsIfTable 1 } A3ComVlanEncapsIfEntry ::= SEQUENCE { a3ComVlanEncapsIfIndex INTEGER, a3ComVlanEncapsIfType A3ComVlanEncapsType, a3ComVlanEncapsIfTag INTEGER, a3ComVlanEncapsIfStatus RowStatus } a3ComVlanEncapsIfIndex 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 a3ComNextAvailableVirtIfIndex object." ::= { a3ComVlanEncapsIfEntry 1 } a3ComVlanEncapsIfType OBJECT-TYPE SYNTAX A3ComVlanEncapsType ACCESS read-write STATUS mandatory DESCRIPTION "The encapsulation algorithm used when encapsulating packets transmitted, or de-encapsulating packets received through this interface." ::= {a3ComVlanEncapsIfEntry 2} a3ComVlanEncapsIfTag 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." ::= { a3ComVlanEncapsIfEntry 3 } a3ComVlanEncapsIfStatus 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 a3ComVlanEncapsIfTagType and a3ComVlanEncapsIfTag 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." ::= { a3ComVlanEncapsIfEntry 4 } -- -- The a3ComNextAvailableVirtIfIndex -- a3ComNextAvailableVirtIfIndex 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." ::= { a3ComVirtualGroup 1 } END -- ################################################################################