CPQNUNIF-MIB DEFINITIONS ::= BEGIN IMPORTS enterprises, IpAddress FROM RFC1155-SMI DisplayString FROM RFC1213-MIB PhysAddress FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212; compaq OBJECT IDENTIFIER ::= { enterprises 232 } cpqnCommon OBJECT IDENTIFIER ::= { compaq 121 } cpqnMibModules OBJECT IDENTIFIER ::= { cpqnCommon 1 } cpqnUnitControl OBJECT IDENTIFIER ::= { cpqnCommon 2 } cpqnVersionInformation OBJECT IDENTIFIER ::= { cpqnCommon 3 } cpqnAccessControl OBJECT IDENTIFIER ::= { cpqnCommon 4 } cpqnTrapDestinations OBJECT IDENTIFIER ::= { cpqnCommon 5 } cpqnNetworkInfo OBJECT IDENTIFIER ::= { cpqnCommon 6 } cpqnBootpConfig OBJECT IDENTIFIER ::= { cpqnCommon 7 } -------------------------------------------------------------------------------- -- March 26, 1998 $Revision: 6049 $ -- -- COMPAQ Networking Unified MIB -- -- Compaq Part Number 299450-000 Rev B -- -- Many Compaq networking products support this MIB. This MIB provides the -- following information: -- -- * A table listing all the MIBs actively supported in the unit -- * Basic unit control for reset and Modem initialization strings -- * A table listing all the Hardware and Software Components in the unit -- and their version numbers and serial number information (if applicable) -- * A table controlling access to the unit's agent by IP or IPX address -- and community name. -- * A table that defines which IP or IPX addresses traps are sent to -- * A table which controls the IP protocol stack in the unit (if -- present) -- * A table which controls the IPX protocol stack in the unit (if -- present) -- * A table used to control BOOTP requests for each LAN interface on the -- unit -- -- NOTE: Some of the parameters in this MIB are read-only. However, many -- are read-write and allow the unit's operational parameters to -- be modified. Care must be taken when setting these parameters as -- changes will affect the unit's operation. -- -- NOTE: Many of the settable objects in this MIB are "DURABLE". This means -- that when set, the value is stored in non-volatile memory in the -- unit. Durable data is retained during power cycles (outages) and -- across unit resets. -------------------------------------------------------------------------------- -- -- This object controls status of row entries. Rows are added to tables -- using 'row sets'. When a row is added, this object must be set -- to row-valid(1). To delete a row from a table, set this object for -- the row to row-invalid(2). Row sets for new rows with a row status set -- to row-invalid(2) return a BAD VALUE error. This object will always -- read as row-valid(1). -- CpqnRowStatus ::= INTEGER { row-valid(1), row-invalid(2) } -- All representations of IPX addresses in this MIB Module -- use, as textual convention (i.e. this convention does -- not affect their encoding), the data type: IpxAddress ::= OCTET STRING (SIZE (10)) -- defined by Novell's NetWare IPX protocol, as the following -- tuple: (Network number, Node address) where the the network -- number is 4 bytes, node address is 6 bytes. -------------------------------------------------------------------------------- -- MIB Module Table -- -- This table contains a list of all the MIB modules that the agent supports. -------------------------------------------------------------------------------- cpqnMibModuleTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnMibModuleEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains a list of all the MIB modules actively supported by a unit's agent. This includes any standard RFC and Compaq enterprise MIBs." ::= { cpqnMibModules 1 } cpqnMibModuleEntry OBJECT-TYPE SYNTAX CpqnMibModuleEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "There is one entry defined for each separate MIB module the agent supports." INDEX { cpqnMibModuleIndex } ::= { cpqnMibModuleTable 1 } CpqnMibModuleEntry ::= SEQUENCE { cpqnMibModuleIndex INTEGER, cpqnMibModuleDescr DisplayString, cpqnMibModuleOid OBJECT IDENTIFIER } cpqnMibModuleIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index for this entry." ::= { cpqnMibModuleEntry 1 } cpqnMibModuleDescr OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "This is a short textual description of the MIB module for this entry. Examples could be RFC 1213 MIB-II or Compaq Unified MIB." ::= { cpqnMibModuleEntry 2 } cpqnMibModuleOid OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "This is the OID representing the base node of the MIB for this entry. The base node of a MIB is defined here as the first MIB node that is not defined in another MIB. For example, the base node OID for RMON is MIB-II.RMON or 1.3.6.1.2.1.16." ::= { cpqnMibModuleEntry 3 } -------------------------------------------------------------------------------- -- UNIT CONTROL -- -- These objects allow the unit to be reset and provide for modem support. -------------------------------------------------------------------------------- cpqnUnitReset OBJECT-TYPE SYNTAX INTEGER { running(1), -- value always read from this object reset(2), warm-start(3), reset-to-factory-values(4) } ACCESS read-write STATUS mandatory DESCRIPTION "Setting this object to reset(2) causes the unit to reset in the most complete manner possible. Any hardware units that can be reset, will be. If possible, this will be done using a hardware reset; if not, then the unit will perform a software re-initialization. All non-durable information, including counter values, will be lost. All durable information is retained. The value returned for this object will ALWAYS be running(1). After receiving a request to set this variable to reset(2), the unit may delay the reset for a short period. This is done to respond to the SNMP set request. The warm-start(3) setting has the same behavior. Note that not all units support warm-start(3). If not supported, a unit will return a BAD VALUE error. For more information on the meaning and semantics of 'reset' and 'warm-start', see the User's Guide for the unit. Setting this object to reset-to-factory-values(4) will cause all configurable parameters to be reset to the factory settings. Note that all user-configured information will be lost: this includes the system description, passwords, community names, the contents of the access control table (cpqnCommunityAccessTable), and default routes. See the unit's documentation for information on factory settings." ::= { cpqnUnitControl 1 } cpqnPrimarySerialPort OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates which entry in the cpqnSerialPortTable is the primary serial port. For a list of the functions and features provided on a unit's primary serial port, see the unit's documentation." ::= { cpqnUnitControl 2 } -- -- The serial port table. This table lists information about each serial -- port on the unit. -- cpqnSerialPortTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnSerialPortEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "There is one entry in this table for each serial port on the unit." ::= { cpqnUnitControl 3 } cpqnSerialPortEntry OBJECT-TYPE SYNTAX CpqnSerialPortEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This entry provides information and objects to control a serial port." INDEX { cpqnSPortIndex } ::= { cpqnSerialPortTable 1 } CpqnSerialPortEntry ::= SEQUENCE { cpqnSPortIndex INTEGER, cpqnSPortIfIndex INTEGER, cpqnSPortModemInitStringEnable INTEGER, cpqnSPortModemInitString DisplayString, cpqnSPortModemAutoNegotiateState INTEGER, cpqnSPortBaudRate INTEGER } cpqnSPortIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index of this row." ::= { cpqnSerialPortEntry 1 } cpqnSPortIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This object indicates which entry in the MIB-II interface table this serial port corresponds to. If this value is zero (0), then this serial port DOES NOT have an associated MIB-II interface. This object will only be non-zero for serial ports which support SLIP, PPP or a similar protocol." ::= { cpqnSerialPortEntry 2 } cpqnSPortModemInitStringEnable OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: If this object is enabled(1) then after a power up or reset the unit will transmit the modem init string out the primary serial port in order to initialize the modem. This will occur at the baud rate value of cpqnSPortBaudRate. Note that some units have more sophisticated modem support features. For more information on how a unit supports modems, see the unit's documentation." ::= { cpqnSerialPortEntry 3 } cpqnSPortModemInitString OBJECT-TYPE SYNTAX DisplayString (SIZE (1..40)) ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This object contains a Modem Initialization String which is used to configure a modem on this port to the desired mode. Refer to the unit-specific documentation for information on the factory setting for this object and for other information on how the unit supports modems." ::= { cpqnSerialPortEntry 4 } cpqnSPortModemAutoNegotiateState OBJECT-TYPE SYNTAX INTEGER { enabled(1), -- enable modem auto-negotiate disabled(2) -- disable modem auto-negotiate } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: If enabled(1), the unit automatically detects the baud rate of incoming calls and will adjust the baud rate on this port to match. This is accomplished by watching for the connect indication strings from a modem attached to the port. For more information on how a unit supports modems, see the unit's documentation." ::= { cpqnSerialPortEntry 5 } cpqnSPortBaudRate OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This is the current baud rate for the port. Its value must match a cpqnBaudRate entry in cpqnSupportBaudRateTable. Note that this value can automatically change if cpqnSPortModemAutoNegotiateState is set to enabled(1)." ::= { cpqnSerialPortEntry 6 } -- -- The baud rate table. This table lists the supported baud rates for the -- serial ports on the unit. -- cpqnSupportedBaudRateTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnSupportedBaudRateEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of supported baud rates for this unit." ::= { cpqnUnitControl 4 } cpqnSupportedBaudRateEntry OBJECT-TYPE SYNTAX CpqnSupportedBaudRateEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "There is one entry defined for each supported baud rate for each serial port." INDEX { cpqnBaudRatePortIndex, cpqnBaudRateIndex } ::= { cpqnSupportedBaudRateTable 1 } CpqnSupportedBaudRateEntry ::= SEQUENCE { cpqnBaudRatePortIndex INTEGER, cpqnBaudRateIndex INTEGER, cpqnBaudRate INTEGER } cpqnBaudRatePortIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index into the cpqnSerialPortTable table identifying the port this entry applies to." ::= { cpqnSupportedBaudRateEntry 1 } cpqnBaudRateIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index of this row." ::= { cpqnSupportedBaudRateEntry 2 } cpqnBaudRate OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The supported baud rate for the port indexed by cpqnBaudRatePortIndex." ::= { cpqnSupportedBaudRateEntry 3 } -------------------------------------------------------------------------------- -- VERSION TABLE -------------------------------------------------------------------------------- -- This table contains a list of components that are present in the unit, -- their version numbers, and other identifying information. -- -- This table can contain information regarding hardware and software -- components. -------------------------------------------------------------------------------- CpqnVersionType ::= INTEGER { other(1), hardware(2), software(3) } CpqnVersionStep ::= INTEGER { -- Letter Designator other(1), -- 'X' engineering(2), -- 'E' alpha(3), -- 'A' beta(4), -- 'B' prototype(5), -- 'T' pilot(6), -- 'I' pre-production(7), -- 'N' production(8), -- 'P', ' '(space) or ASCII NUL post-production(9), -- 'O' simple-revision(10) -- 'R' } cpqnVersionTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnVersionEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains a list of hardware and/or software components resident in the unit." ::= { cpqnVersionInformation 1 } cpqnVersionEntry OBJECT-TYPE SYNTAX CpqnVersionEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "There is one entry defined for each hardware and/or software component." INDEX {cpqnVersionIndex } ::= { cpqnVersionTable 1 } CpqnVersionEntry ::= SEQUENCE { cpqnVersionIndex INTEGER, cpqnVersionType CpqnVersionType, cpqnVersionDesc DisplayString, cpqnVersionMajor INTEGER, cpqnVersionMinor INTEGER, cpqnVersionStep CpqnVersionStep, cpqnVersionRev INTEGER, cpqnVersionSerialNumber DisplayString, cpqnVersionUnitId INTEGER, cpqnVersionParentIndex INTEGER } cpqnVersionIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index into the version table." ::= { cpqnVersionEntry 1 } cpqnVersionType OBJECT-TYPE SYNTAX CpqnVersionType ACCESS read-only STATUS mandatory DESCRIPTION "The component's type." ::= { cpqnVersionEntry 2 } cpqnVersionDesc OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "A brief description of the component. This object may be empty." ::= { cpqnVersionEntry 3 } cpqnVersionMajor OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The MAJOR version number of the component. This is always a value between 0 and 255 and should be interpreted as a decimal number. An example is version 2.14 where 2 is the major version number." ::= { cpqnVersionEntry 4 } cpqnVersionMinor OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The MINOR version number of the component. This is always a value between 0 and 99 and should be interpreted as a two-digit decimal number. An example is version 2.01 where 1 is the minor version number. Another example is version 2.1 where 10 is the minor version number." ::= { cpqnVersionEntry 5 } cpqnVersionStep OBJECT-TYPE SYNTAX CpqnVersionStep ACCESS read-only STATUS mandatory DESCRIPTION "The STEP identifier for the associated component. This value indicates the level or class of the component, such as prototype, production, or beta." ::= { cpqnVersionEntry 6 } cpqnVersionRev OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The REVISION of the step for the associated component. An example is version 1.00B3 where 3 is the revision number." ::= { cpqnVersionEntry 7 } cpqnVersionSerialNumber OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "The serial number of this component. The format of this object is dependent on the unit type. Refer to the unit-specific documentation for more information. This object is empty for components which do not have a serial number." ::= { cpqnVersionEntry 8 } cpqnVersionUnitId OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is a number that uniquely identifies which unit in a collection of one or more units that this entry applies to. For example, this unit may be part of a stack, or a plug-in card in a chassis. For units that are not part of a collection (standalone) this value is always a 1." ::= { cpqnVersionEntry 9 } cpqnVersionParentIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A component represented by an entry in this table may be a sub-component of another entity or unit. In this case, the value of this object indicates this entry's parent entry in this table. For example, a plug-in uplink card may be plugged into unit #3 of a stack of repeaters. In this case, this value would contain the index into this table which has a cpqnVersionUnitId of 3. If this entry has no parent, then this object contains the value zero." ::= { cpqnVersionEntry 10 } -------------------------------------------------------------------------------- -- TELNET Enable/Disable -------------------------------------------------------------------------------- cpqnAclTelnetControl OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This object controls the Telnet feature of the unit. If this object is set to disabled(2), then Telnet is disabled and no Telnet session can be initiated, regardless of the settings of other access control mechanisms. If this object is enabled(1), then Telnet sessions can be initiated and are subject to the other access control mechanisms." ::= { cpqnAccessControl 1 } -------------------------------------------------------------------------------- -- SNMP COMMUNITY IP ACCESS TABLE -------------------------------------------------------------------------------- -- This table controls access to the SNMP agent in the unit by filtering -- and identifying IP addresses of network management stations. -- -- This access control mechanism filters SNMP (IP only) and Telnet -- frames only. PING, RIP, SAP and other frames are not filtered by this -- mechanism. -- -- This is done using a simple filter mechanism on all received SNMP requests. -- First the address is masked and checked. If this passes, then the -- request's community string is checked. If this passes then the SNMP request -- is serviced according to the cpqnAclIPRights in the matching table row. -- -- Rows are added with row sets and deleted by setting the row status to -- row-invalid(2). If a unit will not accept additional rows at the -- end of the table, then the row set will fail. -- -- The factory settings for this table allow full access from any network -- management station over IP. This access is enabled by an explicit entry -- in the access table. -- -- The factory-default IP entry has the following values: -- -- cpqnAclIPAddrMask => 0.0.0.0 -- cpqnAclIPAddrMatch => 0.0.0.0 -- cpqnAclIPCommunity => public -- cpqnAclIPRights => read-write-allow-telnet(4) -- -- In other words, from the factory, access control is disabled and the agent -- will respond to any SNMP over IP message with a community string of 'public'. -- -- If a station does not have read-write-allow-telnet(4) access to a unit, -- then this table is not accessible, e.g. GET or SET messages accessing this -- table from stations will have an authentication error returned. GET NEXTs -- on this MIB from such stations will simply skip over this table. -------------------------------------------------------------------------------- cpqnCommunityAccessIPTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnCommAccessIPEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains objects which control access to the agent over IP. Access is restricted to only the hosts listed in this table. If a station does not have read-write-allow-telnet(4) access to a unit, then this table is not accessible, e.g. GET or SET messages accessing this table from stations will have an authentication error returned. GET NEXTs on this MIB from such stations will simply skip over this table. Care must be taken when modifying this table. A network management station can inadvertently modify this table so that it no longer has read-write-allow-telnet(4) access. If this occurs, then this table can only be modified from another network management station with write access, via telnet, or via a direct connection to the unit's primary serial port. Access to this unit via SNMP and Telnet can also be blocked if all the entries in this table and the cpqnCommunityAccessIPXTable are deleted. In this case, this table can only be modified via a direct connection via the primary serial port using the unit's user interface. This table can be set to factory values using the user interface accessed by Telnet or a direct connection to the unit's primary serial port. This table will also be set to factory values when cpqnUnitReset is set to reset-to-factory-values(4)." ::= { cpqnAccessControl 2 } cpqnCommAccessIPEntry OBJECT-TYPE SYNTAX CpqnCommAccessIPEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "There is one entry defined for each host-community pair." INDEX { cpqnAclIPIndex } ::= { cpqnCommunityAccessIPTable 1 } CpqnCommAccessIPEntry ::= SEQUENCE { cpqnAclIPIndex INTEGER, -- Read only cpqnAclIPRowStatus CpqnRowStatus, -- Read write cpqnAclIPAddrMask IpAddress, -- Read write cpqnAclIPAddrMatch IpAddress, -- Read write cpqnAclIPCommunity DisplayString, -- Read write cpqnAclIPRights INTEGER -- Read write } cpqnAclIPIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index to this entry." ::= { cpqnCommAccessIPEntry 1 } cpqnAclIPRowStatus OBJECT-TYPE SYNTAX CpqnRowStatus ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The status of this row entry. Rows are added to this table using 'row sets'. When a row is added, this object must be set to row-valid(1). To delete a row from this table, set this object for the row to row-invalid(2). Row sets for new rows with a row status set to row-invalid(2) return a BAD VALUE error. This object will always read as row-valid(1). If no more rows can be added to the end of the table, then a row set to create a new row will return BAD VALUE. When rows are deleted from this table, the indexes of the other rows do not change. In other words, this table can be 'sparse' or have 'holes'. Deleted entries can be re-created using a row set with a row status of row-valid(1)." ::= { cpqnCommAccessIPEntry 2 } cpqnAclIPAddrMask OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This mask is applied to the source address of received SNMP/IP messages. If the masked address matches cpqnAclIPAddrMatch and the community in the SNMP packet matches the community name in cpqnAclIPCommunity for the row, then the SNMP request will be serviced by the unit's agent. The transmitting node's access to this unit's MIB tables is determined by the cpqnAclIPRights. For example, assuming cpqnAclIPAddrMask = 255.255.255.000, cpqnAclIPAddrMatch = 198.085.034.000, and cpqnAclCommunity = compaq, then a SNMP request coming from 198.85.34.72 with community compaq will pass whereas a request from 120.1.2.4 with community compaq will fail." ::= { cpqnCommAccessIPEntry 3 } cpqnAclIPAddrMatch OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The Masked address must match this value." ::= { cpqnCommAccessIPEntry 4 } cpqnAclIPCommunity OBJECT-TYPE SYNTAX DisplayString (SIZE (1..20)) ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The community string that is required for any requests coming from this host. The default value for this object is 'public'." ::= { cpqnCommAccessIPEntry 5 } cpqnAclIPRights OBJECT-TYPE SYNTAX INTEGER { no-access(1), read-only-prevent-telnet(2), read-only-allow-telnet(3), read-write-allow-telnet(4) } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This object controls the access granted to SNMP requests which match a mask/match and community name string. no-access(1) means that that address/community name pair has neither SNMP/IP nor Telnet access. read-only-prevent-telnet(2) allows only read access to MIB objects and disallows Telnet access. read-only-allow-telnet(3) also allows only read access, but the station can initiate a Telnet session. read-write-allow-telnet(4) allows full access to the device's MIB and allows the station to initiate a Telnet session. NOTE: Telnet access is either allowed or disallowed. Generally, devices do not have read-only telnet sessions. This mechanism does not preclude the use of a password for Telnet access." ::= { cpqnCommAccessIPEntry 6 } -------------------------------------------------------------------------------- -- SNMP COMMUNITY IPX ACCESS TABLE -------------------------------------------------------------------------------- -- This table controls access to the SNMP agent in the unit by filtering -- and identifying IPX addresses of network management stations. -- -- COMPLIANCE: Implementation of this group is OPTIONAL. If the unit DOES -- NOT support the IPX protocol, then this group is not present. If the -- unit DOES support the IPX protocol, then this group is present. -- -- This access control mechanism filters SNMP/IPX frames only. RIP, SAP and -- other frames are not filtered by this mechanism. -- -- This is done using a simple filter mechanism on all received SNMP/IPX requests. -- First the address is masked and checked. If this passes, then the -- request's community string is checked. If this passes then the SNMP request -- is serviced according to the cpqnAclIPXRights in the matching table row. -- -- Rows are added with row sets and deleted by setting the row status to -- row-invalid(2). If a unit will not accept additional rows at the -- end of the table, then the row set will fail. -- -- The factory settings for this table allow full access from any network -- management station over IPX. This access is enabled by an explicit entry -- in the access table. -- -- The factory-default IPX entry on units which support IPX has the values -- shown below. (NOTE: The IPXAddresses are a set of 10 octets, and the -- following is just a displayable representation.) -- -- cpqnAclIPXAddrMask => 00000000:000000000000 -- cpqnAclIPXAddrMatch => 00000000:000000000000 -- cpqnAclIPXCommunity => public -- cpqnAclIPXRights => read-write(3) -- -- In other words, from the factory, access control is disabled and the agent -- will respond to any SNMP/IPX message with a community string of 'public'. -- -- If a station does not have read-write(3) access to a unit,then this table -- is not accessible,e.g. GET or SET messages accessing this -- table from stations will have an authentication error returned. GET NEXTs -- on this MIB from such stations will simply skip over this table. -------------------------------------------------------------------------------- cpqnCommunityAccessIPXTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnCommAccessIPXEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table contains objects which control SNMP/IPX access to the agent. Access is restricted to only the hosts listed in this table. If a station does not have read-write(3) access to a unit, then this table is not accessible,e.g. GET or SET messages accessing this table from stations will have an authentication error returned. GET NEXTs on this MIB from such stations will simply skip over this table. Care must be taken when modifying this table. A network management station can inadvertently modify this table so that it no longer has read-write(3) access. If this occurs, then this table can only be modified from another network management station with write access, via telnet, or via a direct connection to the unit's primary serial port. Access to this unit via SNMP and Telnet can also be blocked if all the entries in this table and the cpqnCommunityAccessIPTable are deleted. In this case, this table can only be modified via a direct connection via the primary serial port using the unit's user interface. This table can be set to factory values using the user interface accessed by Telnet or a direct connection to the unit's primary serial port. This table will also be set to factory values when cpqnUnitReset is set to reset-to-factory-values(4)." ::= { cpqnAccessControl 3 } cpqnCommAccessIPXEntry OBJECT-TYPE SYNTAX CpqnCommAccessIPXEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "There is one entry defined for each host-community pair." INDEX { cpqnAclIPXIndex } ::= { cpqnCommunityAccessIPXTable 1 } CpqnCommAccessIPXEntry ::= SEQUENCE { cpqnAclIPXIndex INTEGER, -- Read only cpqnAclIPXRowStatus CpqnRowStatus, -- Read write cpqnAclIPXAddrMask IpxAddress, -- Read write cpqnAclIPXAddrMatch IpxAddress, -- Read write cpqnAclIPXCommunity DisplayString, -- Read write cpqnAclIPXRights INTEGER -- Read write } cpqnAclIPXIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index to this entry." ::= { cpqnCommAccessIPXEntry 1 } cpqnAclIPXRowStatus OBJECT-TYPE SYNTAX CpqnRowStatus ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The status of this row entry. Rows are added to this table using 'row sets'. When a row is added, this object must be set to row-valid(1). To delete a row from this table, set this object for the row to row-invalid(2). Row sets for new rows with a row status set to row-invalid(2) return a BAD VALUE error. This object will always read as row-valid(1). If no more rows can be added to the end of the table, then a row set to create a new row will return BAD VALUE. When rows are deleted from this table, the indexes of the other rows do not change. In other words, this table can be 'sparse' or have 'holes'. Deleted entries can be re-created using a row set with a row status of row-valid(1)." ::= { cpqnCommAccessIPXEntry 2 } cpqnAclIPXAddrMask OBJECT-TYPE SYNTAX IpxAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This mask is applied to the source address of received SNMP messages. If the masked address matches cpqnAclIPXAddrMask and the community in the SNMP packet matches the community name in cpqnAclIPXCommunity for the row, then the SNMP request will be serviced by the unit's agent. The transmitting node's access to this unit's MIB tables is determined by the cpqnAclIPXRights. For example, 0081CCAB:00805FEAE01D is an IPX address which could be matched with a mask of 00FFFFFF:000000000000. Due to the nature of IPX address, the node address of an IPX address mask are simply 0's. This controls SNMP access by IPX network number only." ::= { cpqnCommAccessIPXEntry 3 } cpqnAclIPXAddrMatch OBJECT-TYPE SYNTAX IpxAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The Masked address must match this value." ::= { cpqnCommAccessIPXEntry 4 } cpqnAclIPXCommunity OBJECT-TYPE SYNTAX DisplayString (SIZE (1..20)) ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The community string that is required for any requests coming from this host. The default value for this object is 'public'." ::= { cpqnCommAccessIPXEntry 5 } cpqnAclIPXRights OBJECT-TYPE SYNTAX INTEGER { no-access(1), read-only-access(2), read-write-access(3) } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This object controls the access granted to SNMP/IPX requests which match a mask/match and community name string. no-access(1) means that that address/community name pair has no SNMP/IPX access. read-only(2) allows only read access to MIB objects. read-write(3) allows full access to the device's MIB." ::= { cpqnCommAccessIPXEntry 6 } -------------------------------------------------------------------------------- -- IP TRAP DESTINATION TABLE -------------------------------------------------------------------------------- -- This table defines the destination addresses for SNMP/IP traps generated -- from the unit. This table maps a community to one or more trap -- destination entries. -- -- When traps are generated as a result of RMON monitoring, the agent -- sends them to destinations specified in the IP trap table which have -- a IPTrapDestCommunity that matches the RMON eventCommunity. Non-RMON -- traps are sent to all destinations in the table. -------------------------------------------------------------------------------- cpqnIPTrapDestTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnIPTrapDestEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of IP trap destination entries." ::= { cpqnTrapDestinations 1 } cpqnIPTrapDestEntry OBJECT-TYPE SYNTAX CpqnIPTrapDestEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A destination entry which defines the IP address to which traps are sent for a community." INDEX { cpqnIPTrapDestIndex } ::= { cpqnIPTrapDestTable 1 } CpqnIPTrapDestEntry ::= SEQUENCE { cpqnIPTrapDestIndex INTEGER, cpqnIPTrapDestRowStatus CpqnRowStatus, cpqnIPTrapDestCommunity DisplayString, cpqnIPTrapDestAddress IpAddress } cpqnIPTrapDestIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A value that uniquely identifies this IPTrapDestEntry." ::= { cpqnIPTrapDestEntry 1 } cpqnIPTrapDestRowStatus OBJECT-TYPE SYNTAX CpqnRowStatus ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The status of this row entry. Rows are added to this table using 'row sets'. When a row is added, this object must be set to row-valid(1). To delete a row from this table, set this object for the row to row-invalid(2). Row sets for new rows with a row status set to row-invalid(2) return a BAD VALUE error. This object will always read as row-valid(1). If no more rows can be added to the end of the table, then a row set to create a new row will return BAD VALUE. When rows are deleted from this table, the indexes of the other rows do not change. In other words, this table can be 'sparse' or have 'holes'. Deleted entries can be re-created using a row set with a row status of row-valid(1)." ::= { cpqnIPTrapDestEntry 2 } cpqnIPTrapDestCommunity OBJECT-TYPE SYNTAX DisplayString (SIZE(1..20)) ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: A community name to which this destination IP address belongs." ::= { cpqnIPTrapDestEntry 3 } cpqnIPTrapDestAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The IP address to send traps to on behalf of this entry." ::= { cpqnIPTrapDestEntry 4 } -------------------------------------------------------------------------------- -- IPX TRAP DESTINATION TABLE -------------------------------------------------------------------------------- -- This table defines the destination addresses for SNMP/IPX traps generated -- from the unit. This table maps a community to one or more trap -- destination entries. -- -- When traps are generated as a result of RMON monitoring, the agent -- sends them to destinations specified in the IPX trap table which have -- a IPXTrapDestCommunity that matches the RMON eventCommunity. Non-RMON -- traps are sent to all destinations in the table. -- -- COMPLIANCE: Implementation of this group is OPTIONAL. If the unit DOES -- NOT support the IPX protocol, then this group is not present. If the -- unit DOES support the IPX protocol, then this group is present. -------------------------------------------------------------------------------- cpqnIPXTrapDestTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnIPXTrapDestEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of IPX trap destination entries." ::= { cpqnTrapDestinations 2 } cpqnIPXTrapDestEntry OBJECT-TYPE SYNTAX CpqnIPXTrapDestEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A destination entry which defines the IPX address to which traps are sent for a community." INDEX { cpqnIPXTrapDestIndex } ::= { cpqnIPXTrapDestTable 1 } CpqnIPXTrapDestEntry ::= SEQUENCE { cpqnIPXTrapDestIndex INTEGER, cpqnIPXTrapDestRowStatus CpqnRowStatus, cpqnIPXTrapDestCommunity DisplayString, cpqnIPXTrapDestAddress IpxAddress } cpqnIPXTrapDestIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A value that uniquely identifies this IPXTrapDestEntry." ::= { cpqnIPXTrapDestEntry 1 } cpqnIPXTrapDestRowStatus OBJECT-TYPE SYNTAX CpqnRowStatus ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The status of this row entry. Rows are added to this table using 'row sets'. When a row is added, this object must be set to row-valid(1). To delete a row from this table, set this object for the row to row-invalid(2). Row sets for new rows with a row status set to row-invalid(2) return a BAD VALUE error. This object will always read as row-valid(1). If no more rows can be added to the end of the table, then a row set to create a new row will return BAD VALUE. When rows are deleted from this table, the indexes of the other rows do not change. In other words, this table can be 'sparse' or have 'holes'. Deleted entries can be re-created using a row set with a row status of row-valid(1)." ::= { cpqnIPXTrapDestEntry 2 } cpqnIPXTrapDestCommunity OBJECT-TYPE SYNTAX DisplayString (SIZE(1..20)) ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: A community name to which this destination IPX address belongs." ::= { cpqnIPXTrapDestEntry 3 } cpqnIPXTrapDestAddress OBJECT-TYPE SYNTAX IpxAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The IPX address to send traps to on behalf of this entry. IPX traps are sent to the standard IPX SNMP socket number." ::= { cpqnIPXTrapDestEntry 4 } -------------------------------------------------------------------------------- -- IP NETWORK INFORMATION TABLE -------------------------------------------------------------------------------- -- This table contains MIB objects which provide information regarding the -- IP protocol information for the unit's interfaces. -- -- This group also includes configuration items for IP autodiscovery. -- Note that this also includes the SLIP interface. -------------------------------------------------------------------------------- cpqnIpNetworkTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnIpNetworkEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table describes IP network information for each management agent interface. This could include all possible bridge groups and the SLIP interface" ::= { cpqnNetworkInfo 1 } cpqnIpNetworkEntry OBJECT-TYPE SYNTAX CpqnIpNetworkEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "There is one entry for each agent interface which describes the IP protocol information on that interface." INDEX { cpqnIpIfIndex } ::= { cpqnIpNetworkTable 1 } CpqnIpNetworkEntry ::= SEQUENCE { cpqnIpIfIndex INTEGER, cpqnIpPhysAddr PhysAddress, cpqnIpAddr IpAddress, cpqnIpNetMask IpAddress, cpqnIpRouter IpAddress, cpqnIpFrameType INTEGER, cpqnIpAutoDiscoveryStatus INTEGER, cpqnIpPingPktRate INTEGER, cpqnIpInfoSave INTEGER } cpqnIpIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is the ifIndex value of an interface in the MIB-II interface table for which this table entry applies." ::= { cpqnIpNetworkEntry 1 } cpqnIpPhysAddr OBJECT-TYPE SYNTAX PhysAddress ACCESS read-only STATUS mandatory DESCRIPTION "The physical address of the management agent interface. This is usually an interfaces IEEE MAC Address. For IEEE MAC address, the value will be 6 bytes in network byte order. For interfaces which do not have such physical address (e.g., SLIP interfaces), this object will one zero byte." ::= { cpqnIpNetworkEntry 2 } cpqnIpAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The IP Address of this Agent interface." ::= { cpqnIpNetworkEntry 3 } cpqnIpNetMask OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The IP Subnet Mask of this Agent interface." ::= { cpqnIpNetworkEntry 4 } cpqnIpRouter OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The IP Address of the next hop Router (default Gateway) used by this interface." ::= { cpqnIpNetworkEntry 5 } cpqnIpFrameType OBJECT-TYPE SYNTAX INTEGER { not-applicable(1), -- no valid frame type (Serial Port) ethernet-ii(2), -- agent is using Ethernet_II frame type ieee-802-2-snap(3) -- agent is using 802.2 SNAP frame type } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: Except when booting up, an agent communicates over IP using a single frame type defining the type of network that the IP traffic is running on: Ethernet_II or IEEE 802.2_SNAP. When the agent is performing BOOTP, it may not assume any frame type and can attempt to BOOTP over both types. (see cpqnBootpEnable) It will use the frame type that the first BOOTP response uses for the rest of its communication. The frame type of the BOOTP response will be stored by this object. For interfaces that do not have an Ethernet frame type, e.g., the serial port, the frame type is always not-applicable(1)." ::= { cpqnIpNetworkEntry 6 } cpqnIpAutoDiscoveryStatus OBJECT-TYPE SYNTAX INTEGER { discover(1), -- Transmit pings for AutoDiscovery do-not-discover(2) -- Do not transmit pings for AutoDiscovery } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This object allows a user to enable the unit to send out periodic ICMP Pings to ensure that the unit's IP Address is contained in the ARP cache of its default gateway (cpqnIpRouter, if any!). If the user sets the state to discover(1), then the unit will issue ICMP Pings at a rate defined by cpqnIpPingPacketRate. If the user selects do-not-discover(2) then the unit does not send any ICMP Pings and may not be autodiscovered by IP based management applications." ::= { cpqnIpNetworkEntry 7 } cpqnIpPingPktRate OBJECT-TYPE SYNTAX INTEGER (55..65535) ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This object determines the rate (in seconds) at which ICMP Pings are sent out by the unit to ensure that its IP Address remains in the ARP cache of the unit's default gateway (cpqnIpRouter). This object is useful only if cpqnIPAutoDiscoveryStatus is set to discover(1)." ::= { cpqnIpNetworkEntry 8 } cpqnIpInfoSave OBJECT-TYPE SYNTAX INTEGER { ignore-changes(1), -- temp changes are ignored write-changes-to-nvram(2), -- temp changes are made/saved values-changed(3), values-valid(4) } ACCESS read-write STATUS mandatory DESCRIPTION "Setting this object allows the changes made to any of the settable objects in this table to be written into non-volatile memory. The changes will not take effect nor be written into non-volatile memory until this object is set; therefore, until that time, the changes are stored but not used. This object will return values-valid(4) unless some object has been changed but the changes were not written to non-volatile memory. In this case it will return values-changed(3) until the changes are written to non-volatile memory." ::= { cpqnIpNetworkEntry 9 } -------------------------------------------------------------------------------- -- IPX NETWORK INFORMATION TABLE -------------------------------------------------------------------------------- -- This table contains MIB objects which provide information regarding the -- IPX protocol for the unit's interfaces. This group also contains -- configuration parameters for IPX autodiscovery. -- -- COMPLIANCE: Implementation of this group is OPTIONAL. If the unit DOES -- NOT support the IPX protocol, then this group is not present. If the -- unit DOES support the IPX protocol, then this group is present. -------------------------------------------------------------------------------- cpqnIpxNetworkTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnIpxNetworkEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This table describes IPX network information for each agent interface." ::= { cpqnNetworkInfo 2 } cpqnIpxNetworkEntry OBJECT-TYPE SYNTAX CpqnIpxNetworkEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "There is one entry for each agent interface which describes the IPX protocol information on that interface." INDEX { cpqnIpxIfIndex } ::= { cpqnIpxNetworkTable 1 } CpqnIpxNetworkEntry ::= SEQUENCE { cpqnIpxIfIndex INTEGER, cpqnIpxPhysAddr PhysAddress, cpqnIpxFrameType INTEGER, cpqnIpxNetworkNumber OCTET STRING, cpqnIpxSAPBcastStatus INTEGER } cpqnIpxIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is the ifIndex value of an interface in the MIB-II interface table for which this table entry applies." ::= { cpqnIpxNetworkEntry 1 } cpqnIpxPhysAddr OBJECT-TYPE SYNTAX PhysAddress ACCESS read-only STATUS mandatory DESCRIPTION "The physical address of the management agent interface. This is usually an interfaces IEEE MAC Address. For IEEE MAC address, the value will be 6 bytes in network byte order. For interfaces which do not have such physical address (e.g., SLIP interfaces), this object will one zero byte." ::= { cpqnIpxNetworkEntry 2 } cpqnIpxFrameType OBJECT-TYPE SYNTAX INTEGER { not-applicable(1), -- frame type is not supported (serial port) ethernet-ii(2), -- agent using Ethernet_II frame type ethernet-802-3-raw(3), -- agent using ethernet 802.3 raw ieee-802-2(4), -- agent using 802.3 with 802.2 frame type ieee-802-2-snap(5) -- agent using 802.3 with 802.2 SNAP frame type } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The frame type with which IPX communication originating from the unit will take place. The unit will respond to a packet using the same frame type as was used in the request. This frame type comes into effect on any packet that is generated by the unit not in response to another external packet. An example is a SNMP Trap." ::= { cpqnIpxNetworkEntry 3 } cpqnIpxNetworkNumber OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) ACCESS read-only STATUS mandatory DESCRIPTION "DURABLE: The IPX Network number for this interface. If this object is 00000000, then the unit has not yet determined the network number." ::= { cpqnIpxNetworkEntry 4 } cpqnIpxSAPBcastStatus OBJECT-TYPE SYNTAX INTEGER { do-ipx-SAPs(1), -- Generate SAP broadcasts no-ipx-SAPs(2) -- Disable SAP broadcasts } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: The unit may generate IPX SAP broadcasts. This allows the unit to be auto-discovered. By setting this object to do-ipx-SAPs(1), the unit will generate SAP broadcasts at a rate of one every 60 seconds. By setting this object to no-ipx-SAPs(2), the hub will not generate SAP broadcasts." ::= { cpqnIpxNetworkEntry 5 } -------------------------------------------------------------------------------- -- BOOTP CONTROL TABLE -------------------------------------------------------------------------------- -- This table contains MIB objects which allow the operation of the BOOTP -- protocol to be controlled. There is one entry in this table for each -- physical interface on the unit. -- -- This table controls the BOOTP behavior of the basic booting system. -- Other software components installed in a unit may also do BOOTP. This -- table does not control those components. -------------------------------------------------------------------------------- cpqnBootpTable OBJECT-TYPE SYNTAX SEQUENCE OF CpqnBootpEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of BOOTP configuration information for each management agent interface. This table controls the BOOTP behavior of the basic booting system. Other software components installed in a unit may also do BOOTP. This table does not control those components." ::= { cpqnBootpConfig 1 } cpqnBootpEntry OBJECT-TYPE SYNTAX CpqnBootpEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of BOOTP configuration information for each management agent interface." INDEX { cpqnBootpIfIndex } ::= { cpqnBootpTable 1 } CpqnBootpEntry ::= SEQUENCE { cpqnBootpIfIndex INTEGER, cpqnBootpEnable INTEGER, cpqnBootpRetries INTEGER, cpqnBootpRetryInterval INTEGER, cpqnBootpServerIpAddr IpAddress } cpqnBootpIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is the ifIndex value of an interface in the MIB-II interface table for which this table entry applies." ::= { cpqnBootpEntry 1 } cpqnBootpEnable OBJECT-TYPE SYNTAX INTEGER { disable-bootp(1), enable-bootp-ethernet-ii(2), enable-bootp-ieee-802-2-snap(3), enable-bootp-both(4) } ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This object allows the user to enable/disable generation of BOOTP requests on the interface specified by cpqnBootpIfIndex. BOOTP requests can be generated over the SNAP frame type, Ethernet-II frame type, or both." ::= { cpqnBootpEntry 2 } cpqnBootpRetries OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This determines the number of BOOTP requests that will be transmitted from the interface indicated by cpqnBootpIfIndex. This object is used in conjunction with the cpqnBootpRetryInterval object. If both frame types are enabled, then for each try, two BOOTP frames will be generated, one for each frame type. WARNING: Remember that while the unit is booting up, management may not be available, so be careful in selecting the number of retries and the interval for BOOTP. If these values are large, then the SNMP agent could be delayed in starting up by a significant time." ::= { cpqnBootpEntry 3 } cpqnBootpRetryInterval OBJECT-TYPE SYNTAX INTEGER (5..255) ACCESS read-write STATUS mandatory DESCRIPTION "DURABLE: This object allows the user to set the time period (in seconds) between the transmission of BOOTP requests on the interface specified by cpqnBootpIfIndex. This object is used in conjunction with the cpqnBootpRetries object. WARNING: Remember that while the unit is booting up, management may not be available, so be careful in selecting the number of retries and the interval for BOOTP. If these values are large, then the SNMP agent could be delayed in starting up by a significant time." ::= { cpqnBootpEntry 4 } cpqnBootpServerIpAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The IP address of the BOOTP Server that last responded on the interface indicated by cpqnBootpIfIndex. If no BOOTP server has responded, then this object will be '0.0.0.0'." ::= { cpqnBootpEntry 5 } END