RFC 1214
OSI internet management: Management Information Base
1. Introduction β¨
Okay bestie, let's talk about this RFC π It's RFC 1214, titled OSI Internet Management: Management Information Base. It's from the Network Working Group, edited by L. Labarre at MITRE, dated April 1991 π¦ The Status section says it's an IAB standards track protocol, and the title block doesn't list anything it obsoletes or updates. (Section 2 does talk about proposed changes to RFC 1158, though, so keep that in mind π)
Here's the vibe of the whole thing: it's a MIB (Management Information Base) for managing TCP/IP internets using the OSI management protocol π It takes MIB-II and reshapes it into OSI templates so it fits the OSI way of structuring management info. Iconic glow-up πΈ
Here's the full doc in its table of contents π
1. Introduction................................................ 2
2. Additions to MIB-II......................................... 3
2.1 Structure of the OIM Subtree............................... 3
2.2 Supporting ISO Definitions................................. 3
2.3 Additions for Object Instance Identification............... 4
2.3.1 Distinguished Names...................................... 4
2.4 Events..................................................... 5
2.5 Containment (Naming) Tree Definition....................... 5
2.6 Changes from RFC 1158...................................... 6
3. Format of OSI Templates..................................... 7
4. Object Class Definitions.................................... 7
5. Attribute Definitions....................................... 16
6. Notifications............................................... 44
7. The Containment Hierarchy................................... 45
8. ASN.1 Definitions........................................... 49
9. Acknowledgements............................................ 54
References..................................................... 55
Appendix 1: Notational Tools for Managed Object Definition..... 57
A1.1 Overview of Notational Tools.............................. 57
A1.2 Conventions Used in Template Definitions.................. 58
A1.3 Managed Object Class Template............................ 60
A1.4 Package Template......................................... 63
A1.5 Parameter Template........................................ 67
A1.6 Name Binding Template.................................... 67
A1.7 Attribute Template........................................ 70
A1.8 Notification Template.................................... 73
Appendix 2: New Objects: Internet SMI Object Type Macros....... 76
Appendix 3: Supporting Definitions............................. 81
Security Considerations........................................ 82
Author's Address............................................... 83
The intro explains the background. The memo is an OSI version of the MIB, and it's an incremental refinement of MIB-II. The design follows this policy, in order: first, keep compatibility with MIB-II by including its objects without changing their registered identifiers, syntax, and behaviour; second, format MIB-II using OSI templates; third, add attributes needed for identification with the OSI management protocol; fourth, identify object instances in a way that's compatible with building a common API for both CMIP and SNMP; and finally, define notifications (events), including the ones SNMP defines (RFC 1157 [14]), which are deemed necessary for management β¨
The MIB is also expected to grow over time to keep up with the Internet's changing needs π
Some history, because it's kinda juicy π RFC 1109 [13] reported that the SNMP and OSI frameworks had way more differences than people expected. So the requirement for the SMI/MIB to be compatible across both frameworks got suspended, which let each framework define its MIB separately. SNMP's answer was MIB-II, and the OSI answer is this document, which builds on MIB-II's work and adds the attributes needed to map into the OSI SMI π¦
The full OIM framework is made of: the OSI Structure of Management Information, Parts 1-4, ISO/IEC DIS 10165 [4,5,6], with slight changes to stay compatible with RFC 1155 [11]; this memo, OSI Internet Management: Management Information Base; plus the OSI Common Management Information Service (CMIS) [7] and Common Management Information Protocol (CMIP) [8] π
2. Additions to MIB-II πΈ
Additions to MIB-II come in a few flavours: the managed object class "top", which every other object class derives from; object instance identification according to the OSI SMI; asynchronous events; name bindings that define how objects bind to each other in the containment (naming) hierarchy; and proposed changes to RFC 1158 that are expected to be accepted by the IETF [16] π
2.1 Structure of the OIM Subtree π§
Here's how the oim subtree is set up. Note that the "cmot" subtree has been relabeled to "oim" π
cmot OBJECT IDENTIFIER ::= {mib 9}
oim OBJECT IDENTIFIER ::= {cmot}
cmotVersion OBJECT IDENTIFIER ::= {oim 1}
cmotACSEInfo OBJECT IDENTIFIER ::= {oim 2}
cmotSystemId OBJECT IDENTIFIER ::= {oim 3}
misc OBJECT IDENTIFIER ::= {oim 4}
objects OBJECT IDENTIFIER ::= {oim 5}
attributes OBJECT IDENTIFIER ::= {oim 6}
events OBJECT IDENTIFIER ::= {oim 7}
nameforms OBJECT IDENTIFIER ::= {oim 8}
actions OBJECT IDENTIFIER ::= {oim 9}
2.2 Supporting ISO Definitions π
The OSI defined managed object class "top" [5] has been added to the MIB. It's the root of the inheritance hierarchy, and it holds attributes that every object in the MIB inherits. Until ISO/IEC DIS 10165 becomes an International Standard, "top" and its associated attributes are registered in Appendix 3 π
2.3 Additions for Object Instance Identification π₯
This is where the conventions for identifying objects in the OIM MIB-II for use with CMIP get defined β¨
2.3.1 Distinguished Names π¦
The distinguished name of an object shall consist of a sequence of relative distinguished names, one for each object on the containment path from the root to the object. Each relative distinguished name shall contain exactly one attribute, which is the "naming" attribute for the corresponding class, as specified by a NAME BINDING template. The CMIP ObjectInstance shall be encoded using the distinguishedName choice π
Object classes that have only a single instance normally implemented in a managed system, other than the "system" managed object class, shall use an empty string for their naming attribute value, meaning a string of length zero π
The format of the naming attribute for the "system" managed object class, and for object classes that normally have multiple instances (like table entries), is defined in the attribute templates for those classes' naming attributes. The formats for naming attributes of table entries are compatible with the instance identification conventions SNMP uses, which makes it easier to build a common API that can talk to either protocol π«Ά
Here's an example. A distinguished name pointing at a particular routing table entry (of class ipRouteEntry) might look like this:
{
{ sysName = "troi.mitre.org"}
{ ipId = ""}
{ ipRoutingTableId = "" }
{ ipRouteEntryId = "129.83.2.17" }
}.
The naming attributes for each OIM MIB-II managed object class listed in section 5 may be determined by looking at the NAME BINDING templates listed in section 8. The naming attribute definitions can be found in the alphabetical listing of all attributes in section 6 π§
The following attributes have been defined for MIB-II object classes for purposes of object instance identification π
Attribute Identifier Object
ifTableId {attributes 1} ifTable
atTableId {attributes 2} atTable
atEntryId {attributes 3} atEntry
ipId {attributes 4} ip
ipAddrTableId {attributes 5} ipAddrTable
ipRoutingTableId {attributes 6} ipRoutingtable
ipNetToMediaTableId {attributes 7} ipNetToMediaTable
ipNetToMediaEntryId (attributes 8} ipNetToMediaEntry
icmpId {attributes 9} icmp
tcpId {attributes 10} tcp
tcpConnTableId {attributes 11} tcpConnTable
tcpConnId {attributes 12} tcpConnEntry
udpId {attributes 13} udp
udpTable
udpEntryId {attributes 15} udpEntry
egpId {attributes 16} egp
egpNeighTableId {attributes 17} egpneighTable
snmpId {attributes 18} snmp
ipAdEntryId {attributes 19} ipAddrEntry
ipRouteEntryId {attributes 20} ipRouteEntry
ifEntryId {attributes 21} ifEntry
egpNeighEntryId {attributes 22} egpNeighEntry
ifId {attributes 23} interfaces
2.4 Events π
Events have been defined in accordance with the OSI SMI, and they include the ones defined for SNMP πΈ The OSI SMI requires that events (notifications) be part of a specific managed object class definition, so the SNMP-defined events have been assigned to specific objects within the MIB π
Event Identifier Object
coldStartEvent {events 0} system
warmStartEvent {events 1} system
linkDownEvent {events 2} ifEntry
linkUpEvent {events 3} ifEntry
snmpAuthentFailureEvent {events 4} snmp
egpNeighborLossEvent {events 5} egpNeighEntry
entSpecificEvent {events 6} system
2.5 Containment (Naming) Tree Definition π³
okay so the OSI SMI needs every object class to be bound into the containment hierarchy so it can be named π . The binding has to spell out two things for the managed object class: a) which object sits directly above it in that hierarchy (its superior) π, and b) which attribute in the class is used to tell instances apart at a given level. The containment tree starts at "root" πΈ. Agents in managed systems treat root as sitting immediately above the "system" object, and they may ignore any relative distinguished names that come before the one for "system" π«Ά.
Want the name bindings for the OIM MIB-II objects? Those are in section 8 πΊοΈ
2.6 Changes from RFC 1158 β¨
the proposed successor to RFC 1158 [16] has a bunch of small glow-ups, and they've all been folded into this document π Here's the tea:
- The sysLocation attribute of the system managed object class is changed to GET-REPLACE.
- The ipRouteMetric5 and ipRouteInfo attributes are added to the ipRouteEntry managed object class.
- The textual descriptor of the snmpEnableAuthTraps is changed to snmpEnableAuthenTraps.
- The PhysAddress textual convention is introduced to represent media addresses.
- The definition of sysServices is clarified.
- New ifType values (29-32) are defined. In addition, the textual-descriptor for the DS1 and E1 interface types is corrected.
- The definition of ipForwarding is clarified.
- The definition of ipRouteType is clarified.
- The tcpConnState attribute is now GET-REPLACE, to support deletion of the TCB associated with a TCP connection. The definition of this object is clarified to explain this usage.
- The definition of egpNeighEventTrigger is clarified.
- The definition of several of the variables in the new snmp group is clarified. In addition, the snmpInBadTypes and snmpOutReadOnlys objects are no longer present. (However, the object identifiers associated with those objects are reserved to prevent future use. π)
- The definition of snmpInReadOnlys is clarified.
- The ipRoutingDiscards attribute is added to the ip object.
- The optional use of an implementation-dependent, small positive integer is disallowed when identifying instances of the IP address and routing tables. π«
3. Format of OSI Templates π§©
The format of OSI templates is defined in ISO/IEC DIS 10165-4 [6], Open Systems Interconnection - Structure of Management Information - Part 4: Guidelines for Managed Object Definition.
The template definitions relevant to this document are included in Appendix 1 π
4. Object Class Definitions π
The Internet SMI objects get recast into OSI template form using these conventions:
- MIB II groups become OSI object classes, except for the "at" group, which has no attributes.
- Tables become OSI object classes.
- Table entries become OSI object classes.
- All other object types become OSI attributes, and they're assigned to object classes according to their association in MIB II.
The templates for the OIM MIB-II object classes are listed in alphabetical order below π¦
atEntry MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
atEntryPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
atEntryId GET,
atIfIndex GET-REPLACE,
atPhysAddress GET-REPLACE,
atNetAddress GET-REPLACE;;;
REGISTERED AS { atTable 1};
atTable MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
atTablePkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
atTableId GET;;;
REGISTERED AS { at 1};
egp MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
egpPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
egpId GET,
egpInMsgs GET,
egpInErrors GET,
egpOutMsgs GET,
egpOutErrors GET,
egpAs GET;;;
REGISTERED AS { mib 8};
egpNeighEntry MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
egpNeighEntryPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
egpNeighEntryId GET,
egpNeighState GET,
egpNeighAddr GET,
egpNeighAs GET,
egpNeighInMsgs GET,
egpNeighInErrs GET,
egpNeighOutMsgs GET,
egpNeighOutErrs GET,
egpNeighInErrMsgs GET,
egpNeighOutErrMsgs GET,
egpNeighStateUps GET,
egpNeighStateDowns GET,
egpNeighIntervalHello GET,
egpNeighIntervalPoll GET,
egpNeighMode GET,
egpNeighEventTrigger GET-REPLACE;
NOTIFICATIONS
egpNeighborLossEvent;;;
REGISTERED AS { egpNeighTable 1};
egpNeighTable MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
egpNeighTablePkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
egpNeighTableId GET;;;
REGISTERED AS { egp 5};
icmp MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
icmpPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
icmpId GET,
icmpInMsgs GET,
icmpInErrors GET,
icmpInDestUnreachs GET,
icmpInTimeExcds GET,
icmpInParmProbs GET,
icmpInSrcQuenchs GET,
icmpInRedirects GET,
icmpInEchos GET,
icmpInEchoReps GET,
icmpInTimestamps GET,
icmpInTimestampReps GET,
icmpInAddrMasks GET,
icmpInAddrMaskReps GET,
icmpOutMsgs GET,
icmpOutErrors GET,
icmpOutDestUnreachs GET,
icmpOutTimeExcds GET,
icmpOutParmProbs GET,
icmpOutSrcQuenchs GET,
icmpOutRedirects GET,
icmpOutEchos GET,
icmpOutEchoReps GET,
icmpOutTimestamps GET,
icmpOutTimestampReps GET,
icmpOutAddrMasks GET,
icmpOutAddrMaskReps GET;;;
REGISTERED AS { mib 5};
ifEntry MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ifEntryPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ifEntryId GET,
ifIndex GET,
ifDescr GET,
ifType GET,
ifMtu GET,
ifSpeed GET,
ifPhysAddress GET,
ifAdminStatus GET-REPLACE,
ifOperStatus GET,
ifLastChange GET,
ifInOctets GET,
ifInUcastPkts GET,
ifInNUcastPkts GET,
ifInDiscards GET,
ifInErrors GET,
ifInUnknownProtos GET,
ifOutOctets GET,
ifOutUcastPkts GET,
ifOutNUcastPkts GET,
ifOutDiscards GET,
ifOutErrors GET,
ifOutQLen GET,
ifSpecific GET;
NOTIFICATIONS
linkUpEvent,
linkDownEvent;;;
REGISTERED AS { ifTable 1};
ifTable MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ifTablePkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ifTableId GET;;;
REGISTERED AS { interface 2};
interfaces MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
interfacesPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ifId GET,
ifNumber GET;;;
REGISTERED AS { mib 2};
okay bestie, the object class templates keep going, and they're giving very organized energy π π
ip MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ipPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ipId GET,
ipForwarding GET-REPLACE,
ipDefaultTTL GET-REPLACE,
ipInReceives GET,
ipInHdrErrors GET,
ipInAddrErrors GET,
ipForwDatagrams GET,
ipInUnknownProtos GET,
ipInDiscards GET,
ipInDelivers GET,
ipOutRequests GET,
ipOutDiscards GET,
ipOutNoRoutes GET,
ipReasmTimeout GET,
ipReasmReqds GET,
ipReasmOKs GET,
ipReasmFails GET,
ipFragOKs GET,
ipFragFails GET,
ipFragCreates GET,
ipRoutingDiscards GET;;;
REGISTERED AS { mib 4};
ipAddrEntry MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ipAddrEntryPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ipAdEntryId GET,
ipAdEntAddr GET,
ipAdEntIfIndex GET,
ipAdEntNetMask GET,
ipAdEntBcastAddr GET,
ipAdEntReasmMaxSize GET;;;
REGISTERED AS { ipAddrTable 1};
ipAddrTable MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ipAddrTablePkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ipAddrTableId GET;;;
REGISTERED AS { ip 20};
ipNetToMediaEntry MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ipNetToMediaEntryPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ipNetToMediaEntryId GET,
ipNetToMediaIfIndex GET-REPLACE,
ipNetToMediaPhysAddress GET-REPLACE,
ipNetToMediaNetAddress GET-REPLACE,
ipNetToMediaType GET-REPLACE;;;
REGISTERED AS { ipNetToMediaTable 1};
ipNetToMediaTable MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ipNetToMediaTablePkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ipNetToMediaTableId GET;;;
REGISTERED AS { ip 22};
ipRouteEntry MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ipRouteEntryPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ipRouteEntryId GET,
ipRouteDest GET-REPLACE,
ipRouteIfIndex GET-REPLACE,
ipRouteMetric1 GET-REPLACE,
ipRouteMetric2 GET-REPLACE,
ipRouteMetric3 GET-REPLACE,
ipRouteMetric4 GET-REPLACE,
ipRouteMetric5 GET-REPLACE,
ipRouteNextHop GET-REPLACE,
ipRouteType GET-REPLACE,
ipRouteProto GET,
ipRouteAge GET-REPLACE,
ipRouteMask GET-REPLACE,
ipRouteInfo GET-REPLACE;;;
REGISTERED AS { ipRoutingTable 1};
ipRoutingTable MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
ipRoutingTablePkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
ipRoutingTableId GET;;;
REGISTERED AS { ip 21};
snmp MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
snmpPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
snmpId GET,
snmpInPkts GET,
snmpInBadVersions GET,
snmpInBadCommunityNames GET,
snmpInBadCommunityUses GET,
snmpInASNParseErrs GET,
snmpInTooBigs GET,
snmpInNoSuchNames GET,
snmpInBadValues GET,
snmpInReadOnlys GET,
snmpInGenErrs GET,
snmpInTotalReqVars GET,
snmpInTotalSetVars GET,
snmpInGetRequests GET,
snmpInGetNexts GET,
snmpInSetRequests GET,
snmpInGetResponses GET,
snmpInTraps GET,
snmpOutPkts GET,
snmpOutTooBigs GET,
snmpOutNoSuchNames GET,
snmpOutBadValues GET,
snmpOutGenErrs GET,
snmpOutGetRequests GET,
snmpOutGetNexts GET,
snmpOutSetRequests GET,
snmpOutGetResponses GET,
snmpOutTraps GET,
snmpEnableAuthenTraps GET-REPLACE;
NOTIFICATIONS
snmpAuthentFailureEvent;;;
REGISTERED AS {mib 11};
system MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
systemPkg PACKAGE
-- SEE MIB II [16] for attribute semantics
ATTRIBUTES
sysDescr GET,
sysObjectId GET,
sysUpTime GET,
sysContact GET-REPLACE,
sysName GET-REPLACE,
-- MAJOR HEALTH WARNING sysName is the
-- naming attribute and should not be
-- modified via remote management without
-- coordinated local system changes
sysLocation GET-REPLACE,
sysServices GET;
NOTIFICATIONS
coldStartEvent,
warmStartEvent,
entSpecificEvent;;;
REGISTERED AS {mib 1};
tcp MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
tcpPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
tcpId GET,
tcpRtoAlgorithm GET,
tcpRtoMin GET,
tcpRtoMax GET,
tcpMaxConn GET,
tcpActiveOpens GET,
tcpPassiveOpens GET,
tcpAttemptFails GET,
tcpEstabResets GET,
tcpCurrEstab GET,
tcpInSegs GET,
tcpOutSegs GET,
tcpRetransSegs GET,
tcpInErrs GET,
tcpOutRsts GET;;;
REGISTERED AS { mib 6};
tcpConnEntry MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
tcpConnEntryPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
tcpConnId GET,
tcpConnState GET-REPLACE,
tcpConnLocalAddress GET,
tcpConnLocalPort GET,
tcpConnRemAddress GET,
tcpConnRemPort GET;;;
REGISTERED AS { tcpConnTable 1 };
tcpConnTable MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
tcpConnTablePkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
tcpConnTableId GET;;;
REGISTERED AS { tcp 13 };
udp MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
udpPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
udpId GET,
udpInDatagrams GET,
udpNoPorts GET,
udpInErrors GET,
udpOutDatagrams GET;;;
REGISTERED AS { mib 7};
udpEntry MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
udpEntryPkg PACKAGE
-- see MIB II [16] for attribute semantics
ATTRIBUTES
udpEntryId GET,
udpLocalAddress GET,
udpLocalPort GET;;;
REGISTERED AS { udpTable 1 };
udpTable MANAGED OBJECT CLASS
DERIVED FROM top;
CHARACTERIZED BY
udpTablePkg PACKAGE
-- see MIB II [16] for semantics
ATTRIBUTES
udpTableId GET;;;
REGISTERED AS { udp 5 };
5. Attribute Definitions β¨
Okay, now we're in the attribute templates, and these are the little building blocks that the object classes above keep referring back to. π§ Everything is lined up in alphabetical order, so you can totally find what you're looking for without a whole scavenger hunt.
atEntryId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- identifies the atEntry instance
-- <index>".1." <address>, where <index is the decimal
-- representation of atIfIndex and <address> is atNetAddress
-- represented in "dot notation". The "1" subidentifier
-- indicates that the address is an IP address.
REGISTERED AS {attributes 3};
Okay so this is where the attribute list gets really juicy π
Every one of these is basically a little name tag for a piece of MIB-II data, and they're all sorted into their own little groups: atEntry, egp, egpNeighEntry, icmp, and attributes.
atIfIndex ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {atEntry 1};
atNetAddress ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.NetworkAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {atEntry 3};
atPhysAddress ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.PhysAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {atEntry 2};
atTableId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute identifies the instance of
-- the address table which is being used.
-- An empty string is used for a single
-- instance.
REGISTERED AS {attributes 2};
Now the egp ones π«Ά egpAs, egpId, and the egpIn/egpOut counters are all pulled straight from MIB II, so the vibe is "see MIB II, it's handled there, bestie" π
egpAs ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egp 6};
egpId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- EGP entity naming attribute.
-- An empty string is used for a single instance.
REGISTERED AS {attributes 16};
egpInErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egp 2};
egpInMsgs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egp 1};
egpOutErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egp 4};
egpOutMsgs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egp 3};
Next up is the whole egpNeighEntry crew π These describe each neighbour in the EGP neighbour table, and honestly it's giving organised. egpNeighEntryId and egpNeighTableId are the ones that actually name things, and the rest just sit under the entry.
egpNeighAddr ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 2};
egpNeighAs ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 3};
egpNeighEntryId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- identifies the egp neighbor table entry.
-- egpNeighAddr encoded in "dot notation".
REGISTERED AS {attributes 22};
egpNeighEventTrigger ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.EgpNeighEventTrigger;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 15};
egpNeighInErrMsgs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 8};
egpNeighInErrs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 5};
egpNeighInMsgs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 4};
egpNeighIntervalHello ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 12};
egpNeighIntervalPoll ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 13};
egpNeighMode ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.EgpNeighMode;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 14};
egpNeighOutErrMsgs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 9};
egpNeighOutErrs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 7};
egpNeighOutMsgs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 6};
egpNeighState ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.EgpNeighState;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 1};
egpNeighStateDowns ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 11};
egpNeighStateUps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {egpNeighEntry 10};
egpNeighTableId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute uniquely identifies the
-- egp neighbor table
-- An empty string is used for a single instance.
REGISTERED AS {attributes 17};
Last stop: the icmp family π These are all the ICMP counters and identifiers. icmpId is the one that uniquely names the ICMP object instance, and everything else is a counter from MIB II β¨
icmpId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute uniquely identifies the
-- ICMP object instance
-- An empty string is used for a single instance.
REGISTERED AS {attributes 9};
icmpInAddrMaskReps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 13};
icmpInAddrMasks ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 12};
icmpInDestUnreachs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 3};
icmpInEchoReps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 9};
icmpInEchos ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 8};
icmpInErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 2};
icmpInMsgs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 1};
icmpInParmProbs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 5};
icmpInRedirects ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 7};
icmpInSrcQuenchs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 6};
icmpInTimeExcds ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 4};
icmpInTimestampReps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 11};
icmpInTimestamps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 10};
icmpOutAddrMaskReps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 26};
icmpOutAddrMasks ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 25};
icmpOutDestUnreachs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 16};
icmpOutEchoReps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 22};
icmpOutEchos ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 21};
icmpOutErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 15};
okay bestie, the icmp counters are done and now we're into the interface and IP attributes π¦ here's the next chunk π
icmpOutMsgs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 14};
icmpOutParmProbs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 18};
icmpOutRedirects ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 20};
icmpOutSrcQuenchs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 19};
icmpOutTimeExcds ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 17};
icmpOutTimestampReps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 24};
icmpOutTimestamps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {icmp 23};
The interface group is next, and it's a big one, so get your snacks ππ§
ifAdminStatus ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.IfAdminStatus;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 7};
ifDescr ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 2};
ifEntryId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- The decimal representation of ifIndex.
REGISTERED AS {attributes 21};
ifId ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.PrintString;
MATCHES FOR Equality;
-- An empty string is used for a single instance.
REGISTERED AS {attributes 23};
ifIndex ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 1};
ifInDiscards ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 13};
ifInErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 14};
ifInNUcastPkts ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 12};
ifInOctets ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 10};
ifInUcastPkts ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 11};
ifInUnknownProtos ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 15};
ifLastChange ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.TimeTicks;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 9};
ifMtu ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 4};
ifNumber ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {interfaces 1};
ifOperStatus ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.IfOperStatus;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 8};
ifOutDiscards ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 19};
ifOutErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 20};
ifOutNUcastPkts ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 18};
ifOutOctets ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 16};
ifOutQLen ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Gauge;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 21};
ifOutUcastPkts ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 17};
ifPhysAddress ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.PhysAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 6};
ifSpecific ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.ObjectId;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 22};
ifSpeed ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Gauge;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 5};
ifTableId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- an empty string
REGISTERED AS {attributes 1};
ifType ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.IfType;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ifEntry 3};
Last stretch: the IP attributes! We're almost at the finish line of this part ππ
ipAddrTableId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute provides a unique id
-- which identifies the address table.
-- An empty string is used for a single instance.
REGISTERED AS {attributes 5};
ipAdEntAddr ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipAddrEntry 1};
ipAdEntBcastAddr ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipAddrEntry 4};
ipAdEntIfIndex ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipAddrEntry 2};
ipAdEntNetMask ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipAddrEntry 3};
ipAdEntReasmMaxSize ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer64k;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipAddrEntry 5};
ipAdEntryId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute uniquely identifies the ip address
-- table entry. The format is:
-- <addr> , where <addr> is ipAdEntAddr
-- represented in "dot notation".
REGISTERED AS {attributes 19};
ipDefaultTTL ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 2};
ipForwarding ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.IpForwarding;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 1};
ipForwDatagrams ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 6};
ipFragCreates ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 19};
ipFragFails ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 18};
ipFragOKs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 17};
ipId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- identifies the Ip entity.
-- An empty string is used for a single instance
REGISTERED AS {attributes 4};
ipInAddrErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 5};
ipInDelivers ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 9};
ipInDiscards ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 8};
ipInHdrErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 4};
okay bestie, we're picking up right where the ip attributes left off πβ¨
ipInReceives ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 3};
ipInUnknownProtos ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 7};
ipNetToMediaEntryId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- identifies an instance of IpNetToMediaEntry
-- <interface> "." <address>, where <interface> is the
-- decimal representation of ipNetToMediaIfIndex and
-- <address> is ipNetToMediaNetAddress in
-- "dot notation".
REGISTERED AS {attributes 8};
ipNetToMediaIfIndex ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipNetToMediaEntry 1};
ipNetToMediaNetAddress ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipNetToMediaEntry 3};
ipNetToMediaPhysAddress ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PhysAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipNetToMediaEntry 2};
ipNetToMediaTableId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This is the distinguishing attribute for the
-- Ip Net to Media Table.
-- An empty string is used for a single instance.
REGISTERED AS {attributes 7};
ipNetToMediaType ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.IpNetToMediaType;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipNetToMediaEntry 4};
ipOutDiscards ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 11};
ipOutNoRoutes ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 12};
ipOutRequests ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 10};
ipReasmFails ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 16};
ipReasmOKs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 15};
ipReasmReqds ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 14};
ipReasmTimeout ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 13};
ipRouteAge ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 10};
ipRouteDest ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 1};
ipRouteEntryId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute identifies the ip route table entry.
-- The format is <dest>, where <dest> is
-- ipRouteDest represented in "dot notation.
REGISTERED AS {attributes 20};
ipRouteIfIndex ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 2};
ipRouteInfo ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.ObjectId;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 13};
ipRouteMask ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 11};
ipRouteMetric1 ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 3};
ipRouteMetric2 ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 4};
ipRouteMetric3 ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 5};
ipRouteMetric4 ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 6};
ipRouteMetric5 ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 12};
ipRouteNextHop ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 7};
ipRouteProto ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.IpRouteProto;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 9};
ipRouteType ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.IpRouteType;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ipRouteEntry 8};
ipRoutingDiscards ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {ip 23};
ipRoutingTableId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- unique id which identifies the
-- Ip Routing Table instance.
-- An empty string is used for a single instance.
REGISTERED AS {attributes 6};
snmpEnableAuthenTraps ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.SnmpEnableAuthenTraps;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 30};
snmpId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- naming attribute for snmp
-- An empty string is used for a single instance.
REGISTERED AS {attributes 18};
snmpInASNParseErrs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 6};
snmpInBadCommunityNames ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 4};
snmpInBadCommunityUses ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 5};
snmpInBadValues ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 10};
snmpInBadVersions ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 3};
snmpInGenErrs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 12};
snmpInGetNexts ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 16};
snmpInGetRequests ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 15};
snmpInGetResponses ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 18};
snmpInNoSuchNames ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 9};
snmpInPkts ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 1};
that's the whole batch of attributes for this part, bestie π¦π
okay bestie, the snmp counters are up next, then the sys and tcp attributes π π§
snmpInReadOnlys ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 11};
snmpInSetRequests ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 17};
snmpInTooBigs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 8};
snmpInTotalReqVars ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 13};
snmpInTotalSetVars ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 14};
snmpInTraps ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 19};
snmpOutBadValues ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 22};
snmpOutGenErrs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 24};
snmpOutGetNexts ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 26};
snmpOutGetRequests ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 25};
snmpOutGetResponses ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 28};
snmpOutNoSuchNames ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 21};
snmpOutPkts ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 2};
snmpOutSetRequests ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 27};
snmpOutTooBigs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 20};
snmpOutTraps ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {snmp 29};
sysContact ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {system 4};
sysDescr ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {system 1};
sysLocation ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {system 6};
sysName ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
-- The nodes domain name.
REGISTERED AS {system 5};
sysObjectId ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.ObjectId;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {system 2};
sysServices ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer128;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {system 7};
sysUpTime ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.TimeTicks;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {system 3};
tcpActiveOpens ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 5};
tcpAttemptFails ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 7};
tcpConnId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- identifies an instance of tcpConnEntry
-- <laddr> "." <lport> "." <raddr> "." <rport>, where
-- <laddr> is the "dot notation" representation of
-- tcpConnLocalAddress,
-- <lport> is the decimal representation of
-- tcpConnLocalPort,
-- <raddr> is the "dot notation" representation of
-- tcpConnRemAddress, and
--<rport> is the decimal representation of
-- tcpConnRemPort.
REGISTERED AS {attributes 12};
tcpConnLocalAddress ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcpConnEntry 2};
tcpConnLocalPort ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer64k;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcpConnEntry 3};
tcpConnRemAddress ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcpConnEntry 4};
tcpConnRemPort ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer64k;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcpConnEntry 5};
tcpConnState ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.TcpConnState;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcpConnEntry 1};
tcpConnTableId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute defines a unique index of
-- tcpConnEntry in the TCP Connection Table
-- An empty string is used for a single instance.
REGISTERED AS {attributes 11};
tcpCurrEstab ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Gauge;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 9};
tcpEstabResets ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 8};
tcpId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute uniquely identified a tcp
-- object instance
-- An empty string is used for a single instance.
REGISTERED AS {attributes 10};
tcpInErrs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 14};
tcpInSegs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 10};
tcpMaxConn ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 4};
tcpOutRsts ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 15};
tcpOutSegs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 11};
tcpPassiveOpens ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 6};
tcpRetransSegs ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 12};
tcpRtoAlgorithm ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.TcpRtoAlgorithm;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 1};
tcpRtoMax ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 3};
tcpRtoMin ATTRIBUTE
WITH ATTRIBUTE SYNTAX OIM-Module.Integer;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {tcp 2};
okay bestie, we're picking up right where the attributes left off π these UDP ones are giving clean, consistent vibes β¨
udpEntryId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute defines an entry
-- for the UDP Listener Table
-- <port> "." <address>, where <port> is the decimal
-- representation of udpLocalPort and <address> is
-- udpLocalAddress represented in "dot notation".
REGISTERED AS {attributes 15};
udpId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute provides a unique id to
-- identify the UDP entity.
-- An empty string is used for a single instance.
REGISTERED AS {attributes 13};
udpInDatagrams ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {udp 1};
udpInErrors ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {udp 3};
udpLocalAddress ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.IpAddress;
MATCHES FOR Equality;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {udpEntry 1};
udpLocalPort ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.Integer64k;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {udpEntry 2};
udpNoPorts ATTRIBUTE
WITH ATTRIBUTE SYNTAX RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {udp 2};
udpOutDatagrams ATTRIBUTE
WITH ATTRIBUTE SYNTAX
RFC1065-SMI.Counter;
MATCHES FOR Equality, Ordering;
-- SEE MIB II [16] for attribute semantics
REGISTERED AS {udp 4};
udpTableId ATTRIBUTE
WITH ATTRIBUTE SYNTAX
OIM-Module.PrintString;
MATCHES FOR Equality;
-- This attribute defines a unique id
-- for the UDP Listener Table
-- An empty string is used for a single instance.
REGISTERED AS {attributes 14};
6. Notifications β¨
Okay so this part is the notification templates, the little "hey, something happened!" pings π. They're referenced by the managed object class templates back in section 5, and they're all listed alphabetically, because we love an organized girlie ποΈπ
coldStartEvent NOTIFICATION
-- clause 4.1.6.1 of RFC1157
-- emitted by system
MODE NON-CONFIRMED;
WITH INFORMATION SYNTAX OIM-Module.SnmpTrapInfo
REGISTERED AS {events 0};
egpNeighborLossEvent NOTIFICATION
-- clause 4.1.6.6 of RFC1157
-- with generic-trap = 5
-- The first VarBindList element
-- contains the name and value of the
-- egpNeighAddr of the affected
-- neighbor.
-- emitted by egpNeighEntry
MODE NON-CONFIRMED;
WITH INFORMATION SYNTAX OIM-Module.SnmpTrapInfo;
REGISTERED AS {events 5};
linkDownEvent NOTIFICATION
-- clause 4.1.6.3 of RFC1157
-- emitted by ifEntry
-- with generic-trap = 2
MODE NON-CONFIRMED;
WITH INFORMATION SYNTAX OIM-Module.SnmpTrapInfo;
REGISTERED AS {events 2};
linkUpEvent NOTIFICATION
-- clause 4.1.6.4 of RFC1157
-- emitted by ifEntry
-- with generic-trap = 3
MODE NON-CONFIRMED;
WITH INFORMATION SYNTAX OIM-Module.SnmpTrapInfo;
REGISTERED AS {events 3};
snmpAuthentFailureEvent NOTIFICATION
-- clause 4.1.6.5 of RFC1157
-- emitted by snmp
MODE NON-CONFIRMED;
WITH INFORMATION SYNTAX OIM-Module.SnmpTrapInfo;
REGISTERED AS {events 4};
entSpecificEvent NOTIFICATION
-- clause 4.1.6.7 of RFC1157
-- emitted by system
MODE NON-CONFIRMED;
WITH INFORMATION SYNTAX OIM-Module.SnmpTrapInfo;
REGISTERED AS {events 6};
warmStartEvent NOTIFICATION
-- clause 4.1.6.2 of RFC1157
-- emitted by system
MODE NON-CONFIRMED;
WITH INFORMATION SYNTAX OIM-Module.SnmpTrapInfo;
REGISTERED AS {events 1};
7. The Containment Hierarchy π³
Here's the family tree π§ These Name Binding templates spell out who's whose parent in the OIM MIB-II, also listed alphabetically. Everything in a managed system traces back to the "system" managed object, so that's the root of the whole vibe π
atEntry-nf NAME BINDING
SUBORDINATE OBJECT CLASS atEntry;
NAMED BY SUPERIOR OBJECT CLASS atTable;
WITH ATTRIBUTE atEntryId;
CREATE;
DELETE only-if-no-contained-objects;
REGISTERED AS { nameForms 5};
atTable-nf NAME BINDING
SUBORDINATE OBJECT CLASS atTable;
NAMED BY SUPERIOR OBJECT CLASS system;
WITH ATTRIBUTE atTableId;
REGISTERED AS { nameForms 4};
egp-nf NAME BINDING
SUBORDINATE OBJECT CLASS egp;
NAMED BY SUPERIOR OBJECT CLASS system;
WITH ATTRIBUTE egpId;
REGISTERED AS { nameForms 20};
egpNeighEntry-nf NAME BINDING
SUBORDINATE OBJECT CLASS egpNeighEntry;
NAMED BY SUPERIOR OBJECT CLASS egpNeighTable;
WITH ATTRIBUTE egpNeighEntryId;
CREATE;
DELETE only-if-no-contained-objects;
REGISTERED AS { nameForms 22};
egpNeighTable-nf NAME BINDING
SUBORDINATE OBJECT CLASS egpNeighTable;
NAMED BY SUPERIOR OBJECT CLASS egp;
WITH ATTRIBUTE egpNeighTableId;
REGISTERED AS { nameForms 21};
icmp-nf NAME BINDING
SUBORDINATE OBJECT CLASS icmp;
NAMED BY SUPERIOR OBJECT CLASS system;
WITH ATTRIBUTE icmpId;
REGISTERED AS { nameForms 13};
interfaces-nf NAME BINDING
SUBORDINATE OBJECT CLASS interfaces;
NAMED BY SUPERIOR OBJECT CLASS system;
WITH ATTRIBUTE ifId;
REGISTERED AS { nameForms 24};
ifEntry-nf NAME BINDING
SUBORDINATE OBJECT CLASS ifEntry;
NAMED BY SUPERIOR OBJECT CLASS ifTable;
WITH ATTRIBUTE ifEntryId;
CREATE;
DELETE only-if-no-contained-objects;
REGISTERED AS { nameForms 3};
ifTable-nf NAME BINDING
SUBORDINATE OBJECT CLASS ifTable;
NAMED BY SUPERIOR OBJECT CLASS interfaces;
WITH ATTRIBUTE ifTableId;
REGISTERED AS { nameForms 2};
ip-nf NAME BINDING
SUBORDINATE OBJECT CLASS ip;
NAMED BY SUPERIOR OBJECT CLASS system;
WITH ATTRIBUTE ipId;
REGISTERED AS { nameForms 6};
ipAddrEntry-nf NAME BINDING
SUBORDINATE OBJECT CLASS ipAddrEntry;
NAMED BY SUPERIOR OBJECT CLASS ipAddrTable;
WITH ATTRIBUTE ipAdEntryId;
CREATE;
DELETE only-if-no-contained-objects;
REGISTERED AS { nameForms 8};
ipAddrTable-nf NAME BINDING
SUBORDINATE OBJECT CLASS ipAddrTable;
NAMED BY SUPERIOR OBJECT CLASS ip;
WITH ATTRIBUTE ipAddrTableId;
REGISTERED AS { nameForms 7};
ipNetToMediaEntry-nf NAME BINDING
SUBORDINATE OBJECT CLASS ipNetToMediaEntry;
NAMED BY SUPERIOR OBJECT CLASS ipNetToMediaTable;
WITH ATTRIBUTE ipNetToMediaEntryId;
CREATE;
DELETE only-if-no-contained-objects;
REGISTERED AS { nameForms 12};
ipNetToMediaTable-nf NAME BINDING
SUBORDINATE OBJECT CLASS ipNetToMediaTable;
NAMED BY SUPERIOR OBJECT CLASS ip;
WITH ATTRIBUTE ipNetToMediaTableId;
REGISTERED AS { nameForms 11};
ipRouteEntry-nf NAME BINDING
SUBORDINATE OBJECT CLASS ipRouteEntry;
NAMED BY SUPERIOR OBJECT CLASS ipRoutingTable;
WITH ATTRIBUTE ipRouteEntryId;
CREATE;
DELETE only-if-no-contained-objects;
REGISTERED AS { nameForms 10};
ipRoutingTable-nf NAME BINDING
SUBORDINATE OBJECT CLASS ipRoutingTable;
NAMED BY SUPERIOR OBJECT CLASS ip;
WITH ATTRIBUTE ipRoutingTableId;
REGISTERED AS { nameForms 9};
snmp-nf NAME BINDING
SUBORDINATE OBJECT CLASS snmp;
NAMED BY SUPERIOR OBJECT CLASS system;
WITH ATTRIBUTE snmpId;
REGISTERED AS { nameForms 23};
system-nf NAME BINDING
SUBORDINATE OBJECT CLASS system;
NAMED BY SUPERIOR OBJECT CLASS root;
WITH ATTRIBUTE sysName;
REGISTERED AS { nameForms 1 };
tcp-nf NAME BINDING
SUBORDINATE OBJECT CLASS tcp;
NAMED BY SUPERIOR OBJECT CLASS system;
WITH ATTRIBUTE tcpid;
REGISTERED AS { nameForms 14};
tcpConnEntry-nf NAME BINDING
SUBORDINATE OBJECT CLASS tcpConnEntry;
NAMED BY SUPERIOR OBJECT CLASS tcpConnTable;
WITH ATTRIBUTE tcpConnId;
REGISTERED AS { nameForms 16};
tcpConnTable-nf NAME BINDING
SUBORDINATE OBJECT CLASS tcpConnTable;
NAMED BY SUPERIOR OBJECT CLASS tcp;
WITH ATTRIBUTE tcpConnTableId;
REGISTERED AS { nameForms 15};
udp-nf NAME BINDING
SUBORDINATE OBJECT CLASS udp;
NAMED BY SUPERIOR OBJECT CLASS system;
WITH ATTRIBUTE udpId;
REGISTERED AS { nameForms 17};
udpEntry-nf NAME BINDING
SUBORDINATE OBJECT CLASS udpEntry;
NAMED BY SUPERIOR OBJECT CLASS udpTable;
WITH ATTRIBUTE udpEntryId;
REGISTERED AS { nameForms 19};
udpTable-nf NAME BINDING
SUBORDINATE OBJECT CLASS udpTable;
NAMED BY SUPERIOR OBJECT CLASS udp;
WITH ATTRIBUTE udpTableId;
REGISTERED AS { nameForms 18};
8. ASN.1 Definitions π§Ύ
Last stop on this part, the ASN.1 syntax π€ Every attribute template in section 6 leans on one of three places for its definitions: RFC1065-SMI, the Attribute-ASN1Module of ISO/IEC DIS 10165-2, or the OIM-Module that's defined right here in this section. The OIM-Module also pulls in some syntax taken from RFC1158, because those definitions weren't put inside an ASN.1 module in that document, which meant nothing could reference them externally π
OIM-Module {iso org(3) dod(6) internet(1) mgmt(2) mib(1)
oim(9) misc(4) 1}
DEFINITIONS ::=
BEGIN
-- EXPORTS Everything
okay so the ASN.1 module keeps going, and it's still giving structure π
IMPORTS ObjectClass, ObjectInstance
FROM CMIP-1{joint-iso-ccitt ms(9) cmip(1)
modules(0) protocol(3)}
ObjectName, ObjectSyntax
FROM RFC1065-SMI;
mib OBJECT IDENTIFIER ::= {iso org(3) dod(6)
internet(1) mgmt(2) 1}
at OBJECT IDENTIFIER ::= {mib 3}
oim OBJECT IDENTIFIER ::= {mib 9}
cmotVersion OBJECT IDENTIFIER ::= {oim 1}
cmotACSEInfo OBJECT IDENTIFIER ::= {oim 2}
cmotSystemId OBJECT IDENTIFIER ::= {oim 3}
misc OBJECT IDENTIFIER ::= {oim 4}
objects OBJECT IDENTIFIER ::= {oim 5}
attributes OBJECT IDENTIFIER ::= {oim 6}
events OBJECT IDENTIFIER ::= {oim 7}
nameforms OBJECT IDENTIFIER ::= {oim 8}
actions OBJECT IDENTIFIER ::= {oim 9}
-- Generic and MIB specific syntax
EgpNeighEventTrigger ::= INTEGER {
start(1),
stop(2)
}
EgpNeighMode ::= INTEGER {
active(1),
passive(2)
}
EgpNeighState ::= INTEGER {
idle(1),
acquisition(2),
down(3),
up(4),
cease(5)
}
Integer ::= INTEGER
Integer128 ::= INTEGER (0..127)
Integer64k ::= INTEGER (0..65535)
IfAdminStatus ::= INTEGER {
up(1), -- ready to pass packets
down(2),
testing(3) -- in some test mode
}
IfOperStatus ::= INTEGER {
up(1), -- ready to pass packets
down(2),
testing(3) -- in some test mode
}
IfType INTEGER {
other(1), -- none of the following
regular1822(2),
hdh1822(3),
ddn-x25(4),
rfc877-x25(5),
ethernet-csmacd(6),
iso88023-csmacd(7),
iso88024-tokenBus(8),
iso88025-tokenRing(9),
iso88026-man(10),
starLan(11),
proteon-10Mbit(12),
proteon-80Mbit(13),
hyperchannel(14),
fddi(15),
lapb(16),
sdlc(17),
ds1(18),
e1(19), -- european equivalent
-- of T-1
basicISDN(20),
primaryISDN(21),
-- proprietary serial
propPointToPointSerial(22),
ppp(23),
softwareLoopback(24),
eon(25), -- CLNP over IP
ethernet-3Mbit(26),
nsip(27), -- XNS over IP
slip(28), -- generic SLIP
ultra(29), -- ULTRA technologies
ds3(30), -- T-3
sip(31), -- SMDS
frame-relay(32)
}
IpForwarding ::= INTEGER {
forwarding(1), -- acting as a gateway
not-forwarding(2) -- NOT acting as
-- a gateway
}
IpNetToMediaType ::= INTEGER {
other(1), -- none of the
-- following
invalid(2), -- an invalidated
-- mapping
dynamic(3),
static(4) }
IpRouteProto ::= INTEGER {
other(1), -- none of the
-- following
local(2), -- configured entries
netmgmt(3), -- mgmt protocol
icmp(4), -- obtained via ICMP,
-- e.g., redirect
egp(5),
ggp(6),
hello(7),
rip(8),
is-is(9),
es-is(10),
ciscoIgrp(11),
bbnSpfIgp(12),
ospf(13),
bgp(14)
}
IpRouteType ::= INTEGER {
other(1), -- none of the
-- following
invalid(2), -- an invalidated
-- route
direct(3), -- route to directly
-- connected
-- subnetwork
indirect(4) -- route to a
-- non-local
-- host/network/
-- subnet
}
ObjectId ::= OBJECT IDENTIFIER
OctetString ::= OCTET STRING
PhysAddress ::= OCTET STRING
PrintString ::= DisplayString (SIZE (0..255))
DisplayString ::= OCTET STRING
--
-- DisplayString is restricted to the NVT ASCII character set as
-- defined in pages 10-11 of RFC 854 "TELNET Protocol
-- Specification", May 1983 [15].
--
-- SNMP trap syntax
SnmpEnableAuthenTraps ::= INTEGER {
enabled(1),
disabled(2)
}
SnmpTrapInfo ::= SEQUENCE {
enterprise -- type of device generating
-- event
-- see sysObjectId
OBJECT IDENTIFIER,
agent-addr -- address of device generating
-- the event
NetworkAddress,
generic-trap INTEGER {coldStart (0),
warmStart (1),
linkDown (2),
linkUp (3),
authenticationFailure (4),
egpNeighborLoss (5),
enterpriseSpecific (6) },
specific-trap INTEGER OPTIONAL, -- enterprise specific
variable-bindings VarBindList OPTIONAL}
VarBindList ::= SEQUENCE OF VarBind
VarBind ::= SEQUENCE {
name ObjectName,
ovalue ObjectSyntax}
TcpConnState ::= INTEGER {
closed(1),
listen(2),
synSent(3),
synReceived(4),
established(5),
finWait1(6),
finWait2(7),
closeWait(8),
lastAck(9),
closing(10),
timeWait(11),
deleteTCP(12) }
TcpRtoAlgorithm ::= INTEGER {
other(1), -- none of the
-- following
constant(2), -- a constant rto
rsre(3), -- MIL-STD-1778,
-- Appendix B
vanj(4) -- Van Jacobsons alg.
}
END
9. Acknowledgements β¨
The editor is so grateful to everyone in the OIM working group π«Ά They helped out with comments and assistance, and these three people deserve a huge shoutout:
- Marvin Solomon, University of Wisconsin
- Nancy Hall, University of Wisconsin
- Subhendu Ghatak, University of Tennessee at Knoxville
Thank you all, you're literally the reason this came together π
References π
- ISO 8824: Information Processing - Open System Interconnection - Specification of Abstract Syntax Notation One (ASN.1), February 1989. π§
- ISO/IEC 7498-4, Information Processing Systems- Open Systems Interconnection - Basic Reference Model Part 4 - OSI Management Framework. ποΈ
- Warrier, U., Besaw, L., and LaBarre, L., and B. Handspicker, "The Common Management Information Services and Protocol for the Internet (CMOT and CMIP)", RFC 1189, Netlabs, Hewlett-Packard, The Mitre Corporation, Digital Equipment Corporation, October 1990. π
- ISO/IEC DIS 10165-1, Information Processing Systems - Open Systems Interconnection-Structure of Management Information - Part 1: Management Information Model, July 1990. πΈ
- ISO/IEC DIS 10165-2 (ISO/IEC JTC1/SC21 N4072), Information Processing Systems -Open Systems Interconnection - Structure of Management Information - Part 2: Definition of Management Information, July 1990. π¦
- ISO/IEC DIS 10165-4 (ISO/IEC JTC1/SC21 N4065), Information Processing Systems - Open Systems Interconnection - Structure of Management Information - Part 4: Guidelines for the Definition of Managed Objects, June 1990. π
- ISO 9595, Information Processing Systems - Open Systems Interconnection - Management Information Service Definition - Common Management Information Service, November 1990. β¨
- ISO 9596, Information Processing Systems - Open Systems Interconnection - Management Information Protocol Specification - Common Management Information Protocol, November 1990. π«Ά
- ISO 8649, Information Processing Systems - Open Systems Interconnection, Service Definition for the Association Control Service Element. π
- ISO 9072-1, Information Processing Systems - Text Communication, Remote Operations: Model, Notation and Service Definition, Gloucester, Nov 1987. π§
- Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based internets", RFC 1155, Performance Systems International, Hughes LAN Systems, May 1990. π
- Rose, M., Editor, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", RFC 1158, Performance Systems International, May 1990. π
- Cerf, V., "Report of the Second Ad Hoc Network Management Review Group", RFC 1109, NRI, August 1989. π₯
- Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol (SNMP)", RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990. π
- Postel, J., and J. Reynolds, "Telnet Protocol Specification", RFC 854, USC/Information Sciences Institute, May 1983. π
- McCloghrie, K., and M. Rose, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991. π
- Working Implementation Agreements for Open Systems Interconnection Protocols, December 1990. π
Appendix 1: Notational Tools for Managed Object Definition π
okay so this appendix is basically the cheat sheet for the templates used to define managed objects π It's excerpted and paraphrased from reference 6, and only the templates used in this document are included here. If you want the full picture of the notational tools for OSI management, go read reference 6 bestie π«Ά
A1.1 Overview of Notational Tools
the "Templates" in this clause give everyone a shared toolkit and a shared format for describing the different parts of a managed object class definition and its naming structure β¨ The formal definitions of each template live in clauses A1.3 -A1.11 inclusive, and the syntax conventions used in those definitions are explained in clause A1.2 π You can find examples of these tools in Annex A (of 10165-4) too π
the structure and behaviour of a managed object class is mainly defined by the Managed Object Class Template π This one spells out the inheritance relationships between the class and other managed object classes, the packages of class-specific behaviour, the attributes linked to the class, the notifications the class may issue, and the operations that may be performed on the class. To allow parts of this specification to be reused in other managed object class definitions, there are extra templates for attributes (individual and group), behaviour, actions, notifications and conditional packages π¦ The Managed Object Class template "calls up" these other templates through the referencing mechanism defined in clause A1.2. That mechanism lets one standard point at specifications contained in other standards, which means "generic" specifications can be used in managed object class definitions alongside local ones π Templates can also be included "in-line" if you'd rather do it that way π§
the naming of a managed object class is defined with the Name Binding template π This template names the managed object class being named and defines the relative distinguished name used to name instances of the class in the context of a particular superior class. It also lets you specify relationships between two object classes that come from a particular name binding π
A1.2 Conventions Used in Template Definitions
okay this is the grammar of the templates, so pay attention π The template definitions in this clause follow these syntactic conventions:
- Strings surrounded by [ ] delimit parts of the template that may either be present or absent in each instance of use of the template. If the closing brace is followed by an asterisk, e.g., [ ]*, the contents of the braces may appear zero or more times. The circumstances under which these parts of the definition may be omitted or repeated are dependent upon the template type;
- Strings surrounded by < > delimit strings that must be replaced in each instance of use of the template. The structure and meaning of the replacement string is dependent upon the string type;
- Upper case strings denote Keywords which are required to be present in each instance of use of the template, unless they are enclosed in [ ];
- The solidus, |, is used to separate alternative strings in the template;
- Spaces and carriage returns are significant only as string delimiters;
- In order to simplify the structure of the templates, particularly where the same syntactic structure is repeated in the template definitions, supporting syntactic definitions may be defined. If any such supporting syntactic definitions are required in order to complete the template definition, these appear following the keywords "supporting productions" at the end of the template definition. These supporting definitions take the general form:
definition-label-> syntactic-definition
where definition-label allows the definition to be referenced by the template definition and syntactic-definition gives the expansion of the definition, using the above notational rules;
- Further definitions, such as the nature of the element definitions, follow the syntactic definition of the template;
- The templates themselves have the general structure:
<template-label>TEMPLATE NAME
[ELEMENT NAME [<element-definition>] ;]*
[REGISTERED AS <object-identifier> ;]
[supporting productions
[<definition-label> -> <syntactic-definition >]*]
Each instance of use of a template therefore declares a template-label by which that instance may be referenced from other templates. If the REGISTERED AS clause is present, it assigns a value of an ASN.1 OBJECT IDENTIFIER under which the instance has been registered;
- Semicolons are used to mark the end of each distinct element in the template. In an instance of use of the template, any text inserted between a semicolon and the next valid keyword is assumed to be a comment;
- The notation used for representing object identifiers is the normal notation defined in ASN.1 for object identifier values; i.e., the production:
object-identifier-> <ASN.l ObjectIdentifierValue notation>
is assumed to be a supporting production for all template definitions in this document;
- Further definitions, such as the nature of the element definitions, follow the syntactic definition of the template;
- Template labels shall be unique within the standard or document in which they are declared. Where a template-label is declared in document A and referenced in document B, the reference in document B shall be prefixed by the globally unique name of document A. In the case of documents named by an internationally recognized naming authority such as [CCITT|ISO/IEC], the registered name of the document shall be used as the identifier, such as [Recommendation X.722|ISO/IEC 10165-4]. Where a globally unique name is not already available, it is permissible to assign the value of an OBJECT IDENTIFIER to the referenced document, and use this value as a globally unique document name. The syntax of a template-label, defined using the above notation, is defined as follows:
[<document-identifier> :] < label-string>
document-identifier-> "<standard-name>" | <object-identifier>
A label-string may include any number of the following characters:
- upper or lower case alphabetic characters;
- the digits 0-9;
- the hyphen character (-);
in any order, commencing with a lower case character. For example, the following template-label:
"ISO/IEC 10165/4":exampleObjectClass
constitutes a globally unique label for the definition of exampleObjectClass contained in Annex A of 10165-4.
Label references that are not prefixed by a document-identifier are assumed to refer to labels declared in the document in which the reference appears.
- Whenever a template-label is present in a template as a pointer to another template, it may be replaced by the entire text of the referenced template itself (including the template's label).
A1.3 Managed Object Class Template πΈ
A1.3.1 Overview π
okay so the Managed Object Class template is the base of the whole formal definition of a managed object π It's where the class gets placed on the right node of the inheritance tree, where its attributes get specified, and where its behaviour gets defined β¨ The main pieces are:
- Inheritance. Each managed object class defines the superclass(es) it was derived from. The subclass inherits all the characteristics of its superclass(es), and it can add to them (refinement) but it may not remove any of them. In the end, every class is a subclass of TOP π
- Allomorphs. If the class supports allomorphism, the set of classes that count as legit allomorphic views of it must be defined. All of those classes must be superclasses of the class being defined π¦
- Mandatory Packages. The class definition includes the packages of behaviour, attributes, operations and notifications that give a complete spec of the behaviour every instance of the class shares π«Ά
- Conditional Packages. The class definition also includes packages of behaviour, attributes, operations and notifications that are present or absent in instances of the class depending on a specified condition πΈ
Note: Attributes, Operations and Notifications that form part of a class definition may only be omitted from an instance of that class if they are defined as features of a Conditional Package and are omitted in accordance with the condition defined for that package.
β οΈ bestie, this is the big one: you can only leave stuff out of an instance if it's part of a Conditional Package AND the condition for that package says it's allowed π
- Class Naming. The class definition must include a class name that can be used to refer to the class in CMIP. You get that by registering an Object Identifier value for the class π§
A1.3.2 Template Structure π§©
here's the template layout, copied exactly:
<class-label> MANAGED OBJECT CLASS
[DERIVED FROM <class-label>
[, <class-label>]*;
]
[ALLOMORPHIC SET <class-label>
[, < class-label > ] *;
]
[CHARACTERIZED BY <package-label>[,<package-label>]*;
]
[CONDITIONAL PACKAGES <package-label> PRESENT IF
<condition-definition>
[,<package-label> PRESENT IF
<condition-definition>]*;
]
[PARAMETERS <parameter-label> [,<parameter-label>]*;
]
REGISTERED AS < object-identifier>;
A1.3.3 Supporting Definitions π
the DERIVED FROM clause:
DERIVED FROM <class-label>[,<class-label>]*
ok this one is so important π The DERIVED FROM clause shall be present in all managed object class definitions other than "top". That means "top" is a superclass of every class except itself π
The class-label points at a managed object class the class was derived from. In other words, it's one of the object class's parents in the inheritance hierarchy. Multiple inheritance is allowed, so a managed object class can have one or more parent classes π
Inheritance (specialization) means every characteristic of the superclass(es), apart from DERIVED FROM and ALLOMORPHIC SET, has to show up in the subclass definition. If the subclass is meant to be allomorphic, its definition shall include an ALLOMORPHIC SET clause that explicitly lists the classes it's allomorphic to π¦
If multiple inheritance brings in the same element definition more than once (this could happen if two parent superclasses both contain the same attribute, for example), the subclass is assumed to contain just one copy of that definition π
Characteristics inherited from a superclass shall not be repeated in the documentation of the subclass, unless one of the techniques described in ISO/IEC 10165-4 for extending or modifying an element of the superclass is being used. So the DERIVED FROM clause is presumed to automatically import all inheritable elements of definition from the superclass definition(s). Elements defined within the CHARACTERISED BY, CONDITIONAL PACKAGES, and PARAMETER constructs may augment or modify them π§
The ALLOMORPHIC SET clause:
ALLOMORPHIC SET <class-label>[,<class-label>]*
the Allomorphic Set lets you name a set of superclasses that are "backwards compatible" with the managed object class. So if managed object class A lists classes B and C in its allomorphic set, you can operate on an instance of class A as if it were an instance of class B or C π«§ That makes it possible to define enhanced versions of a class that still play nicely with older versions. The class label shall identify the class-label of a managed object class definition that is a superclass of the managed object class being defined β¨
The CHARACTERIZED BY clause:
CHARACTERIZED BY <package-label>[,<package-label]*
this one, if it's there, lets you bring one or more mandatory packages of behaviour, attributes, operations, and notifications into the class definition. This is on top of whatever comes in through the DERIVED FROM construct π
The CONDITIONAL PACKAGES clause:
CONDITIONAL PACKAGES <package-label> PRESENT IF <condition-
definition>[, <package-label> PRESENT IF <condition-definition>]*
this shows up when one or more conditional packages should be included in the class definition. The package-label names the package definition that applies. The condition-definition describes a condition which, if true, means the package must be included in an instance of the class. The condition shall refer to a documented feature of the definition of the underlying resource, or of a related standard, that is allowed to be present or absent in an implementation π
The PARAMETERS clause:
PARAMETERS <parameter-label>[,<parameter-label>]*
if this is present, it lets you define parameters for the object class definition, in addition to any inherited parameters π
The REGISTERED AS clause:
REGISTERED AS <object-identifier>
the object identifier value gives the object class definition a globally unique identifier. The management protocol uses this value whenever it needs to identify the object class π₯
A1.4 Package Template πΈ
this template lets you define a package of behaviour definitions, attributes, operations and notifications, so it can be slotted into a managed object class template later through the Characterized By and Conditional Packages constructs π The major elements are:
- Behaviour. The managed object class definition gives a complete specification of the object's behaviour. That includes:
- The effect of the Operations upon the managed object;
- Any constraints that are placed on operations in order to satisfy consistency rules, and in particular, the rules under which Creation and Deletion of managed objects may be performed and the consequences of these operations;
- A specification of how instances of a managed object class interact with each other, related, managed objects of the same or different classes.
- A complete definition of any other aspects of the behaviour of the managed object class.
- Contained attributes. The set of attributes that the package contains must be defined;
- Operations and Notifications. The package definition specifies which notifications instances of the class that make use of this package shall be able to generate, which operations instance of the class shall be capable of performing, and in the case of attribute related operations, which attributes shall be available to be operated upon.
Note: The operations identified in the package definition are the operation types defined in the Information Model (Get, Replace, Set to Default,...etc). In the case of Actions and Notifications, further definitions are required in order to characterise their functionality, as described in clauses A1.10, A1.11. The create and delete operations are defined as part of the Name Binding template described in clause A1.6, a creation and deletion of an object is closely bound to the containment relationship between superior and subordinate objects, rather than to all instances of a managed object class.
A1.4.1 Template Structure π§©
< package-label> PACKAGE
[BEHAVIOUR DEFINITIONS < behaviour-definition-label>
[, < behaviour-definition-label > ] *;
]
[ATTRIBUTES<attribute-label> <propertylist>[<parameter-label>]
[,< attribute-label> < propertylist> [< parameter-label> ]*]*;
]
[ATTRIBUTE GROUPS <group-label> [<attribute-label>]*
[, < group-label > [ < attribute-label > ]*]*;
]
[ACTIONS <action-label>[<parameter-label>]*
[, < action-label > [ < parameter-label > ]*]*;
]
[NOTIFICATIONS <notification-label> [<parameter-label>]*
[, < notification-label > [< parameter-label >]*]*;
]
[REGISTERED AS < object-identifier>];
supporting productions, the propertylist bit, which is where the fun stuff lives π¦:
supporting productions
propertylist -> [REPLACE WITH DEFAULT]
[DEFAULT VALUE < value-definition > ]
[PERMITTED VALUES <value-set-syntax-label>]
[REQUIRED VALUES <value-set-syntax-label>]
[GET | REPLACE | GET-REPLACE]
[ADD | REMOVE | ADD-REMOVE]
A1.4.2 Supporting Definitions π
Okay bestie, this is where the package template gets its supporting cast. First up is the BEHAVIOUR DEFINITIONS line π
BEHAVIOUR DEFINITIONS < definition-label> [,<definition-label>]*
Behaviour Definitions let you completely describe the behaviour (semantics) of the managed object class β¨. They connect the external view of the object (its operations and notifications) to what's happening on the inside π§. Each definition-label is one instance of use of the Behaviour template.
Note: Don't assume the behaviour described in this clause can be tested with the conformance test tech that exists today π
Next, ATTRIBUTES πΈ
ATTRIBUTES. <attribute-label><propertylist> [<parameter-label>]*
[,<attribute-label><propertylist> [<parameter-label>]*]*
This is how attributes get slotted into the package definition π. The propertylist after each attribute label spells out which operations you're allowed to run on the managed object for that attribute, plus any default, permitted or required values attached to it. The Replace With Default property shows up if the attribute has a default value that can be set using the Replace With Default Value operation π. The value-definition for that default has to be a value reference name, written with the Externaltypereference notation from ISO 8824 π¦.
If the PERMITTED VALUES property is there, the value-set-syntax-label puts restrictions on what values the attribute can take π. That value-set-syntax-label has to be a type reference name, using the ExternaltypeReference notation from ISO 8824. The thing it points to has to be a subtype of the attribute syntax type, written with ASN.1 subtype notation.
Note: The Permitted Values construct is only needed where you have to restrict the value set that the Attribute Syntax already allows, like when you're modifying an existing attribute specification π
If the REQUIRED VALUES property is there, the value-set-syntax-label again limits what values the attribute can take π₯. Same rules apply: a type reference name using the ExternaltypeReference notation from ISO 8824, pointing to a subtype of the attribute syntax type, written in ASN.1 subtype notation.
Note: This property defines the value set you need for conformance β
The parameter-labels let you attach parameters to the operations that are allowed on the attribute π.
Now ATTRIBUTE GROUPS π§
ATTRIBUTE GROUPS <group-label> [<attribute-label>]*[,<group-label>
[<attribute-label>]*]*
This lets you identify a set of attribute groups as part of the package π. You can extend the original definition of an attribute group by adding more attribute-labels to it, which is very cute for building on what's already there.
Then ACTIONS β
ACTIONS <action-label>[<parameter-label>]*
[,<action-label>[<parameter-label>]*]*
If this shows up, the action-labels pick out the action definitions included in the package π. The behaviour definitions have to say what these Actions actually do to managed objects. The parameter-labels let you attach parameters to the Action too.
And NOTIFICATIONS π
NOTIFICATIONS <notification-label>[<parameter-label>]*
[,<notification-label>[<parameter-label>]*]*
This one is present if any Notifications are part of the package π¦. The notification labels point to the applicable Notification definitions. The behaviour definitions must say when a managed object generates those Notifications. Parameter-labels can be attached to the Notification as well.
Last one in this section: REGISTERED AS π
REGISTERED AS <object-identifier>
If the object identifier value is there, it gives the package definition a globally unique identifier and registers the groupings of behaviour definitions, attributes, attribute groups, actions and notifications that the package defines π. It's required when a conditional packages construct in an object class template points at the package AND the package has a behaviour construct or more than one element. In that case, the object identifier value gets included in the conditional packages attribute of any instances of the object class that get created with the package present π«Ά.
A1.5 Parameter Template π§
This template lets you specify and register parameter syntaxes, and the behaviour that goes with them, for particular operations and notifications inside the managed object class and conditional package templates from clauses A1.3 and A1.4 π . The OIM MIB-II doesn't use this mechanism, so you can skip it if that's your vibe π.
A1.6 Name Binding Template πΈ
A1.6.1 Overview β¨
This template lets you define alternative naming structures for managed objects of a given managed object class, using name bindings π¦. A name binding selects an attribute to act as the naming attribute for a given subordinate class/superior class pair π.
The attribute you pick has to be an attribute of the subordinate object, and it has to be present in every instance of the specified managed object class π. That attribute gets used to build the relative distinguished name (RDN) of subordinate objects of that class. An RDN is built from the OBJECT IDENTIFIER assigned to the attribute type plus the value of the attribute instance π. The Distinguished Name of the subordinate object comes from appending its RDN to the Distinguished Name of its superior object π.
Name bindings aren't considered part of the definition of either managed object class they reference π . A managed object class can have more than one name binding attached to it π. The whole set of name bindings defines every possible naming relationship with superior managed objects, plus the set of managed object classes that subordinate object classes can be instantiated from β.
Note: Name Bindings can be specified for a managed object class after the managed object class itself has been specified π§
A1.6.2 Template Structure π
<name-binding-label> NAME BINDING
SUBORDINATE OBJECT CLASS <class-label>;
NAMED BY
SUPERIOR OBJECT CLASS <class-label>;
WITH ATTRIBUTE <attribute-label>;
[BEHAVIOUR <behaviour-definition-label>
[,<behaviour-definition-label>]*;
]
[CREATE [<create-modifier>[,<create-modifier>]]
[<parameter-label>]*;
]
[DELETE <delete-modifier>[<parameter-label>]*;
]
REGISTERED AS < object-identifier>;
supporting productions
create-modifier-> with-reference-object |
with-automatic-instance-naming
delete-modifier -> only-if-no-contained-objects |
deletes-contained-objects
A1.6.3 Supporting Definitions π§
SUBORDINATE OBJECT CLASS <class-label>
This defines the managed object class being named π¦. The name of an instance of the subordinate managed object class gets built by concatenating the distinguished name of the superior managed object class with the relative distinguished name of the subordinate managed object class.
NAMED BY SUPERIOR OBJECT CLASS <class-label>
This defines a managed object class that can contain instances of the subordinate managed object class π.
WITH ATTRIBUTE <attribute label>
This defines the attribute that shall be used, in the context of this name binding, to build the relative distinguished name for the subordinate managed object class π. Values of this attribute shall be represented by single-valued data types, following the restrictions in ISO 10165-1. If there's no naturally suitable attribute to use as a naming attribute, object designers are encouraged to provide a naming attribute of type Graphic String πΈ.
BEHAVIOUR <behaviour-definition-label>
If present, this clause lets you define any behavioural impact that comes from the name binding π₯. The behaviour-definition-label identifies the constraint definition concerned, so the constraint gets expressed using the behaviour template π .
CREATE [<create-modifier>[,<create-modifier>]][<parameter-label>]*
This one's present if it's permitted to create new instances of the managed object class referenced by the SUBORDINATE OBJECT CLASS construct, in the context of this name binding, through systems management operations π. The create-modifier values set the options available on creation. The permitted create-modifiers are:
- with reference-object. If present, a reference object can be specified on creation as a source of default values and to specify the choice of Conditional Packages π.
- with automatic instance naming. If present, the CREATE request can leave out the instance name of the new object instance π§. The behaviour definitions shall specify what course of action is taken when there's a choice of Name Forms that may be applied to the new object instance β¨.
If neither create-modifier is specified, the instance name and all necessary default values shall be specified in the CREATE request π.
The parameter-labels let you attach parameters to the CREATE operation π.
DELETE <delete-modifier> [<parameter-label>]*
This is present if it's permitted to delete instances of the managed object class referenced by the SUBORDINATE OBJECT CLASS construct in the context of this name binding π. The delete-modifier tells you what a managed object of that class does when it gets deleted. The permitted delete-modifiers are:
- only-if-no-contained-objects. If specified, any contained managed objects must be explicitly deleted before the containing managed object is deleted. In other words, a DELETE request causes an error if there are contained managed objects π.
- delete-contained-objects. If specified, a DELETE request applied to an instance of the managed object class also deletes the contained objects π₯.
If there are constraints on deletion relative to other relationships or conditions, those get specified as part of the behaviour of the managed object class π«Ά.
The parameter-labels let you attach parameters to the DELETE operation π¦.
A1.7 Attribute Template π
A1.7.1 Overview β¨
okay so this template is where we make up individual attribute types π and if we need groups of them, the Attribute Group template can bundle them together π there are five main pieces you need to know about:
- Derivation π±: an attribute type can modify or constrain another attribute type's definition, kind of like a remix πΆ
- Attribute Syntax π¦: every attribute type has to define the syntax that carries its values in CMIP. You point to an ASN.l Type Definition for this. The syntax also tells you whether the attribute is single-valued or set-valued. If the base type is SET OF, it's set-valued. Otherwise it's single-valued π«Ά
- Value Matching π: this says how you're allowed to test an attribute's value, like checking for equality, magnitude, and so on, etc.. Some attributes need a matching rule spelled out as part of their behaviour definition π and if there are no matching rules at all, matching is undefined. no cap, that's a whole vibe π
- Behaviour π§ : this is attribute-specific behaviour, meaning it applies to the attribute type no matter which managed object class holds instances of it π
- Attribute type name π·οΈ: every attribute that goes into a managed object class definition gets an Object Identifier value. CMIP uses that value to identify the attribute π¦
A1.7.2 Template Structure π
<attribute-label> ATTRIBUTE
derived-from-construct | with attribute-syntax-construct
[MATCHES FOR <qualifier>[,<qualifier>]* ;]
[BEHAVIOUR <behaviour-definition-label>
[,<behaviour-definition-label>]* ;
]
[PARAMETERS <parameter-label>
[,<parameter-label>]*
]
[REGISTERED AS < object-identifier> ;]
supporting productions
qualifier -> Equality | Ordering | Substrings
| Set Comparison | Set Intersection
derived-from-construct -> DERIVED FROM <attribute-label > ;
with-attribute-syntax-construct -> WITH ATTRIBUTE SYNTAX
<syntax-label> ;
A1.7.3 Supporting Definitions πΈ
DERIVED FROM <attribute-label> π§¬
If this element shows up, the attribute definition starts from everything in the definition referenced by attribute-label. That includes anything that referenced definition derived from other attribute definitions too π°οΈ Here's how the other elements behave when this happens:
- WITH ATTRIBUTE SYNTAX is not permitted to be present π«. The attribute syntax shall be the attribute syntax of the attribute from which this attribute has been derived.;
- MATCHES FOR: the resultant set of matching rules shall be the logical OR of the matching rules specified by this construct with any derived matching rules π
- BEHAVIOUR is assumed to extend any derived behaviour definitions π
- REGISTERED AS is assumed to replace any registration derived from other definitions π
This derivation mechanism lets you do two things:
- define a new attribute based on an existing attribute definition π±
- add further constraints to an existing attribute definition π
WITH ATTRIBUTE SYNTAX <syntax label> π¦
this one is only present when DERIVED FROM is absent π ββοΈ. It names the ASN.1 data type that describes how attribute values are carried in the protocol. The syntax-label shall be an ASN.l Externaltypereference.
The ASN.1 data type also defines the data type of the attribute itself. If the base type of the syntax is set-of, the attribute is set-valued. Every other ASN.l data type, including set, sequence of, and sequence type, gives you a single-valued attribute type π―
MATCHES FOR <qualifier>[,<qualifier>]* π
this element defines what kinds of test can be run on an attribute value as part of a Filter operation. Checking whether an attribute is present is implicitly allowed for every attribute π₯°. For any other kind of matching, if this clause isn't there, matching is undefined and not permitted on that attribute. The options are:
- Equality π°: if present, the value can be tested for equality against a given value
- Ordering π: if present, the value can be tested against a given value to figure out which one is greater
- Substrings π§΅: if present, the value can be tested against a given substring to see whether it's present or absent in the attribute value
- Set Comparison π«§: if present, the value can be tested against a given value to determine set equality or subset/superset relationships
- Set Intersection π€: if present, the value can be tested against a given value to check for the presence or absence of a non-null set intersection between the two
BEHAVIOUR <behaviour-definition-label> [,<behaviour-definition-label>]* π§
any behaviour that's generic to this attribute type can go in this clause π«. The behaviour definition shall include any extra specification needed to show how the chosen matching rules get applied to the attribute definition. Behaviour that's specific to a managed object class goes in the behaviour clause of the managed object class template instead π
Note: it should not be assumed that the behaviour defined by this clause is testable using existing conformance test technology π
REGISTERED AS <object-identifier> π·οΈ
If this is present, the object-identifier gives a globally unique identifier for the attribute definition β¨. That covers every element referenced directly or indirectly through the Derived From, With Attribute Syntax, Matches For and Behaviour constructs, wherever they show up. The management protocol uses this value whenever it needs to identify the attribute type π‘. If this construct is left out, the attribute definition shall not be referenced in a managed object class definition unless another attribute definition adds further constraints π§
A1.8 Notification Template π
A1.8.1 Overview π
this template defines the behaviour and syntax for a particular Notification type π«Ά the main features are:
- Behaviour π: the definition of a Notification type must specify the circumstances in which a notification of that type is generated
- Mode of operation π: the definition of a notification type shall indicate whether the notification may be confirmed, unconfirmed or both
- Syntax Definitions π¦: the definition must specify any syntax used to carry the CMIS Event Information and Event Reply parameters in CMIP. These syntaxes are defined with ASN.1 data types. The template also lets you assign attribute values to fields in the syntax π§©
- Notification naming π·οΈ: the value of the Object Identifier associated with the Notification definition is what identifies the Event type in CMIP
A1.8.2 Template Structure π
<notification-label> NOTIFICATION
BEHAVIOUR <behaviour-definition-label>
[,<behaviour-definition-label>]*;
MODE <confirmation-mode>;
[PARAMETERS <parameter-label>[,<parameter-label]*;
]
[WITH INFORMATION SYNTAX <syntax-label>
[AND ATTRIBUTE IDS <field-name><attribute-label>
[,<field-name><attribute-label]*];
]
[WITH REPLY SYNTAX <syntax-label>;]
REGISTERED AS <object-identifier>;
supporting productions
confirmation-mode -> CONFIRMED | NON-CONFIRMED | CONFIRMED AND
NON-CONFIRMED
A1.8.3 Supporting Definitions π¦
BEHAVIOUR <behaviour-definition-label> π§
this defines how the notification behaves, the data that has to come with the notification, the results it may produce, and what those results mean β¨. The behaviour-definition-label points to a behaviour description defined using the Behaviour Template π
Note: it should not be assumed that the behaviour defined by this clause is testable using existing conformance test technology π
MODE CONFIRMED | NON-CONFIRMED | CONFIRMED AND NON-CONFIRMED π
this sets the allowed mode of operation for the notification type, like so:
- CONFIRMED: the notification type shall operate in the confirmed mode only π€
- NON-CONFIRMED: the notification type shall operate in the non-confirmed mode only π¨
- CONFIRMED AND NON-CONFIRMED: the notification type may operate in either the confirmed mode or the non-confirmed mode π
PARAMETERS <parameter-label>[,<parameter-label>]* βοΈ
the parameter-labels let you attach parameters to the behaviour of the attribute type π«§
WITH INFORMATION SYNTAX <syntax-label> [AND ATTRIBUTE IDS <field-name><attribute-label> [,<field-name><attribute-label>]*;] π¦
this construct names the ASN.1 data type that describes the structure of the notification information carried in the management protocol. It also lets you link attribute identifiers to named fields in the abstract syntax π§΅ The syntax-label shall be a type reference name, using the Externaltypereference notation defined in ISO 8824. If it's absent, there's no information attached to the notification invocation. If you use the AND ATTRIBUTE IDS option, the field-name label shall be a label defined within the abstract syntax referenced by the syntax in the construct. The data type labelled by the field-name carries the values of the attribute referenced by attribute-label. The ASN.1 data type of the attribute shall be the same as the data type referenced by field-name π―
WITH REPLY SYNTAX <syntax-label> π¬
if a syntax-label is present, it names the ASN.1 data type that describes the structure of the notification reply carried in the management protocol. The syntax-label shall be a type reference name, using the Externaltypereference notation defined in ISO 8824. If it's absent, there's no information attached to the notification reply π«Ά
Appendix 2: New Objects: Internet SMI Object Type Macros β¨
okay bestie, this is the big list of brand-new attribute objects π every one is a DisplayString that's read-only and mandatory, and the only real difference between them is the id number at the end. some are "An empty string." (very minimal, iconic π
) and some actually spell out how to build the id from the table's fields π§
atEntryId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<index>.1.<address>, where <index is the decimal representation
of atIfIndex and <address> is atNetAddress represented in
dot notation. The 1 is a subidentifier indicating that an IP
address follows. "
::= { attributes 3}
atTableId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 2}
egpId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 16}
egpNeighEntryId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"egpNeighAddr encoded in dot notation."
::= { attributes 22}
egpNeighTableId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 17}
icmpId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 9}
ifId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 23}
ifEntryId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The decimal representation of ifIndex."
::= { attributes 21}
ifTableId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 1}
ipAdEntryId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"ipAdEntAddr encoded in dot notation."
::= { attributes 19}
ipAddrTableId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 5}
ipId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 4}
ipNetToMediaEntryId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<interface>.<address>, where <interface> is the decimal
representation of ipNetToMediaIndex and <address> is
ipNetToMediaNetAddress in dot notation."
::= { attributes 8}
ipNetToMediaTableId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 7}
ipRouteEntryId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<dest> , where <dest> is ipRouteDest represented in dot
notation."
::= { attributes 20}
ipRoutingTableId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 6}
snmpId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 18}
tcpConnId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<laddr> . <lport> . <raddr> . <rport>, where
<laddr> is the dot notation representation of
tcpConnLocalAddress,
<lport> is the decimal representation of tcpConnLocalPort,
<raddr> is the dot notation representation of
tcpConnRemAddress, and
<rport> is the decimal representation of tcpConnRemPort."
::= { attributes 12}
tcpConnTableId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 11}
tcpId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 10}
updEntryId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<index> . <address>, where <index> is the decimal
representation of atIfIndex and <address> is atNetAddress
represented in dot notation."
::= { attributes 15}
udpId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 13}
udpTableId OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An empty string."
::= { attributes 14}
Appendix 3: Supporting Definitions π¦
okay so this appendix is where the object class "top" lives π it's the parent of every managed object class, basically the main character of the whole hierarchy. the definition is taken from ISO/IEC DIS 10165-2: Definition of Management Information [5], but since that doc hasn't been progressed to an International Standard yet, "top" and its attributes got registered here under the oim registration arc instead πΈ
top MANAGED OBJECT CLASS
CHARACTERIZED BY
topPackage PACKAGE
BEHAVIOUR DEFINITIONS topBehaviour;
ATTRIBUTES
objectClass GET,
name GET,
allomorphs GET,
nameBindings GET,
packages GET;;;
REGISTERED AS {objects 1};
topBehaviour BEHAVIOUR
DEFINED AS
This is the top level of managed object class hierarchy and
every other managed object class is a specialization of either
this generic class (top) or a specialization of a subclass of top.;
allomorphs ATTRIBUTE
WITH ATTRIBUTE SYNTAX
Top-Syntax.Allomorphs;
-- A set of allormorphic superclass identifiers
MATCHES FOR Set Comparison, Set Intersection;
REGISTERED AS {attributes 30};
name ATTRIBUTE
WITH ATTRIBUTE SYNTAX InformationFramework.
RelativeDistinguishedName;
-- defined in Directory standards
MATCHES FOR Equality;
REGISTERED AS {attributes 31};
nameBindings ATTRIBUTE
WITH ATTRIBUTE SYNTAX
Top-Syntax.NameBindings;
-- A set of valid namebindings for this object.
MATCHES FOR Set Comparison, Set Intersection;
REGISTERED AS {attributes 32};
objectClass ATTRIBUTE
WITH ATTRIBUTE SYNTAX CMIP-1.ObjectClass;
MATCHES FOR Equality, Ordering;
REGISTERED AS {attributes 33};
packages ATTRIBUTE
WITH ATTRIBUTE SYNTAX
Top-Syntax.Packages;
-- The set of optional packages defined for the
-- class that are included in this instantiation of
-- the object.
MATCHES FOR Set Comparison, Set Intersection;
REGISTERED AS {attributes 34};
Top-Syntax {iso(1) org(3) dod(6) internet(1) mgmt(1) mib(1)
oim(9) misc(4) 2}
DEFINITIONS ::=
BEGIN
-- from ISO/IEC DIS 10165-2:Definition of Management Information
Allomorphs ::= SET OF OBJECT IDENTIFIER
NameBindings ::= SET OF OBJECT IDENTIFIER
Packages ::= SET OF OBJECT IDENTIFIER
-- From Directory InformationFramework
RelativeDistinguishedName ::= SET OF AttributeValueAssertion
AttributeValueAssertion ::= SEQUENCE {AttributeType,
AttributeValue}
AttributeType ::= OBJECT IDENTIFIER
AttributeValue ::= ANY
-- From CMIP-1
ObjectClass ::= CHOICE {globalForm [0] OBJECT IDENTIFIER,
localForm [1] INTEGER }
END
Security Considerations π
okay, real talk bestie π this memo says "Security issues are not discussed in this memo." so no security stuff is covered here at all. zero. nada. not a single word π please don't go looking for hidden security tips in these pages, they just aren't here π
Author's Address ποΈ
this is who wrote it, and how to reach them π«Ά
Lee LaBarre
The MITRE Corporation
Burlington Road
Bedford, MA 01730
Phone: (617) 271-8507
EMail: cel@mbunix.mitre.org
π¦ where this page comes from
- ietf: rfc1214 1991-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms