1 PTOPO-MIB DEFINITIONS ::= BEGIN
4 MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
5 Integer32, Counter32, mib-2
7 TEXTUAL-CONVENTION, AutonomousType, RowStatus, TimeStamp, TruthValue
9 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
18 FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB;
20 ptopoMIB MODULE-IDENTITY
21 LAST-UPDATED "200009210000Z"
22 ORGANIZATION "IETF; PTOPOMIB Working Group"
24 "PTOPOMIB WG Discussion:
28 msg body: [un]subscribe ptopomib
39 4401 Great America Parkway
42 kejones@nortelnetworks.com"
44 "The MIB module for physical topology information."
45 REVISION "200009210000Z"
47 "Initial Version of the Physical Topology MIB. This version
48 published as RFC 2922."
51 ptopoMIBObjects OBJECT IDENTIFIER ::= { ptopoMIB 1 }
55 ptopoData OBJECT IDENTIFIER ::= { ptopoMIBObjects 1 }
56 ptopoGeneral OBJECT IDENTIFIER ::= { ptopoMIBObjects 2 }
57 ptopoConfig OBJECT IDENTIFIER ::= { ptopoMIBObjects 3 }
59 -- textual conventions
62 PtopoGenAddr ::= TEXTUAL-CONVENTION
65 "The value of an address."
66 SYNTAX OCTET STRING (SIZE (0..20))
68 PtopoChassisIdType ::= TEXTUAL-CONVENTION
71 "This TC describes the source of a chassis identifier.
73 The enumeration 'chasIdEntPhysicalAlias(1)' represents a
74 chassis identifier based on the value of entPhysicalAlias
75 for a chassis component (i.e., an entPhysicalClass value of
78 The enumeration 'chasIdIfAlias(2)' represents a chassis
79 identifier based on the value of ifAlias for an interface
80 on the containing chassis.
82 The enumeration 'chasIdPortEntPhysicalAlias(3)' represents
83 a chassis identifier based on the value of entPhysicalAlias
84 for a port or backplane component (i.e., entPhysicalClass
85 value of 'port(10)' or 'backplane(4)'), within the
88 The enumeration 'chasIdMacAddress(4)' represents a chassis
89 identifier based on the value of a unicast source MAC
90 address (encoded in network byte order and IEEE 802.3
91 canonical bit order), of a port on the containing chassis.
93 The enumeration 'chasIdPtopoGenAddr(5)' represents a
94 chassis identifier based on a network address, associated
95 with a particular chassis. The encoded address is actually
96 composed of two fields. The first field is a single octet,
97 representing the IANA AddressFamilyNumbers value for the
98 specific address type, and the second field is the
99 PtopoGenAddr address value."
101 chasIdEntPhysicalAlias(1),
103 chasIdPortEntPhysicalAlias(3),
105 chasIdPtopoGenAddr(5)
108 PtopoChassisId ::= TEXTUAL-CONVENTION
113 "This TC describes the format of a chassis identifier
114 string. Objects of this type are always used with an
115 associated PtopoChassisIdType object, which identifies the
116 format of the particular PtopoChassisId object instance.
118 If the associated PtopoChassisIdType object has a value of
119 'chasIdEntPhysicalAlias(1)', then the octet string
120 identifies a particular instance of the entPhysicalAlias
121 object for a chassis component (i.e., an entPhysicalClass
122 value of 'chassis(3)').
124 If the associated PtopoChassisIdType object has a value of
125 'chasIdIfAlias(2)', then the octet string identifies a
126 particular instance of the ifAlias object for an interface
127 on the containing chassis.
129 If the associated PtopoChassisIdType object has a value of
130 'chasIdPortEntPhysicalAlias(3)', then the octet string
131 identifies a particular instance of the entPhysicalAlias
132 object for a port or backplane component within the
135 If the associated PtopoChassisIdType object has a value of
136 'chasIdMacAddress(4)', then this string identifies a
137 particular unicast source MAC address (encoded in network
138 byte order and IEEE 802.3 canonical bit order), of a port on
139 the containing chassis.
141 If the associated PtopoChassisIdType object has a value of
142 'chasIdPtopoGenAddr(5)', then this string identifies a
143 particular network address, encoded in network byte order,
144 associated with one or more ports on the containing chassis.
145 The first octet contains the IANA Address Family Numbers
146 enumeration value for the specific address type, and octets
147 2 through N contain the PtopoGenAddr address value in
149 SYNTAX OCTET STRING (SIZE (1..32))
151 PtopoPortIdType ::= TEXTUAL-CONVENTION
154 "This TC describes the source of a particular type of port
155 identifier used in the PTOPO MIB.
157 The enumeration 'portIdIfAlias(1)' represents a port
158 identifier based on the ifAlias MIB object.
162 The enumeration 'portIdPortEntPhysicalAlias(2)' represents a
163 port identifier based on the value of entPhysicalAlias for a
164 port or backplane component (i.e., entPhysicalClass value of
165 'port(10)' or 'backplane(4)'), within the containing
168 The enumeration 'portIdMacAddr(3)' represents a port
169 identifier based on a unicast source MAC address, which has
170 been detected by the agent and associated with a particular
173 The enumeration 'portIdPtopoGenAddr(4)' represents a port
174 identifier based on a network address, detected by the agent
175 and associated with a particular port."
178 portIdEntPhysicalAlias(2),
180 portIdPtopoGenAddr(4)
183 PtopoPortId ::= TEXTUAL-CONVENTION
186 "This TC describes the format of a port identifier string.
187 Objects of this type are always used with an associated
188 PtopoPortIdType object, which identifies the format of the
189 particular PtopoPortId object instance.
191 If the associated PtopoPortIdType object has a value of
192 'portIdIfAlias(1)', then the octet string identifies a
193 particular instance of the ifAlias object.
195 If the associated PtopoPortIdType object has a value of
196 'portIdEntPhysicalAlias(2)', then the octet string
197 identifies a particular instance of the entPhysicalAlias
198 object for a port component (i.e., entPhysicalClass value of
201 If the associated PtopoPortIdType object has a value of
202 'portIdMacAddr(3)', then this string identifies a particular
203 unicast source MAC address associated with the port.
205 If the associated PtopoPortIdType object has a value of
206 'portIdPtopoGenAddr(4)', then this string identifies a
207 network address associated with the port. The first octet
208 contains the IANA AddressFamilyNumbers enumeration value for
209 the specific address type, and octets 2 through N contain
212 the PtopoGenAddr address value in network byte order."
213 SYNTAX OCTET STRING (SIZE (1..32))
216 PtopoAddrSeenState ::= TEXTUAL-CONVENTION
219 "This TC describes the state of address detection for a
220 particular type of port identifier used in the PTOPO MIB.
222 The enumeration 'notUsed(1)' represents an entry for which
223 the particular MIB object is not applicable to the remote
226 The enumeration 'unknown(2)' represents an entry for which
227 the particular address collection state is not known.
229 The enumeration 'oneAddr(3)' represents an entry for which
230 exactly one source address (of the type indicated by the
231 particular MIB object), has been detected.
233 The enumeration 'multiAddr(4)' represents an entry for
234 which more than one source address (of the type indicated by
235 the particular MIB object), has been detected.
237 An agent is expected to set the initial state of the
238 PtopoAddrSeenState to 'notUsed(1)' or 'unknown(2)'.
240 Note that the PTOPO MIB does not restrict or specify the
241 means in which the PtopoAddrSeenState is known to an agent.
242 In particular, an agent may detect this information through
243 configuration data, or some means other than directly
244 monitoring all port traffic."
252 -- ***********************************************************
254 -- P T O P O D A T A G R O U P
256 -- ***********************************************************
262 ptopoConnTable OBJECT-TYPE
263 SYNTAX SEQUENCE OF PtopoConnEntry
264 MAX-ACCESS not-accessible
267 "This table contains one or more rows per physical network
268 connection known to this agent. The agent may wish to
269 ensure that only one ptopoConnEntry is present for each
270 local port, or it may choose to maintain multiple
271 ptopoConnEntries for the same local port.
273 Entries based on lower numbered identifier types are
274 preferred over higher numbered identifier types, i.e., lower
275 values of the ptopoConnRemoteChassisType and
276 ptopoConnRemotePortType objects."
279 ptopoConnEntry OBJECT-TYPE
280 SYNTAX PtopoConnEntry
281 MAX-ACCESS not-accessible
284 "Information about a particular physical network connection.
285 Entries may be created and deleted in this table, either
286 manually or by the agent, if a physical topology discovery
290 ptopoConnLocalChassis,
294 ::= { ptopoConnTable 1 }
296 PtopoConnEntry ::= SEQUENCE {
297 ptopoConnTimeMark TimeFilter,
298 ptopoConnLocalChassis PhysicalIndex,
299 ptopoConnLocalPort PhysicalIndex,
300 ptopoConnIndex Integer32,
301 ptopoConnRemoteChassisType PtopoChassisIdType,
302 ptopoConnRemoteChassis PtopoChassisId,
303 ptopoConnRemotePortType PtopoPortIdType,
304 ptopoConnRemotePort PtopoPortId,
305 ptopoConnDiscAlgorithm AutonomousType,
306 ptopoConnAgentNetAddrType AddressFamilyNumbers,
307 ptopoConnAgentNetAddr PtopoGenAddr,
308 ptopoConnMultiMacSASeen PtopoAddrSeenState,
309 ptopoConnMultiNetSASeen PtopoAddrSeenState,
312 ptopoConnIsStatic TruthValue,
313 ptopoConnLastVerifyTime TimeStamp,
314 ptopoConnRowStatus RowStatus
317 ptopoConnTimeMark OBJECT-TYPE
319 MAX-ACCESS not-accessible
322 "A TimeFilter for this entry. See the TimeFilter textual
323 convention in RFC 2021 to see how this works."
324 ::= { ptopoConnEntry 1 }
326 ptopoConnLocalChassis OBJECT-TYPE
328 MAX-ACCESS not-accessible
331 "The entPhysicalIndex value used to identify the chassis
332 component associated with the local connection endpoint."
333 ::= { ptopoConnEntry 2 }
335 ptopoConnLocalPort OBJECT-TYPE
337 MAX-ACCESS not-accessible
340 "The entPhysicalIndex value used to identify the port
341 component associated with the local connection endpoint."
342 ::= { ptopoConnEntry 3 }
344 ptopoConnIndex OBJECT-TYPE
345 SYNTAX Integer32 (1..2147483647)
346 MAX-ACCESS not-accessible
349 "This object represents an arbitrary local integer value
350 used by this agent to identify a particular connection
351 instance, unique only for the indicated local connection
354 A particular ptopoConnIndex value may be reused in the event
355 an entry is aged out and later re-learned with the same (or
356 different) remote chassis and port identifiers.
358 An agent is encouraged to assign monotonically increasing
359 index values to new entries, starting with one, after each
362 reboot. It is considered unlikely that the ptopoConnIndex
363 will wrap between reboots."
364 ::= { ptopoConnEntry 4 }
366 ptopoConnRemoteChassisType OBJECT-TYPE
367 SYNTAX PtopoChassisIdType
368 MAX-ACCESS read-create
371 "The type of encoding used to identify the chassis
372 associated with the remote connection endpoint.
374 This object may not be modified if the associated
375 ptopoConnRowStatus object has a value of active(1)."
376 ::= { ptopoConnEntry 5 }
378 ptopoConnRemoteChassis OBJECT-TYPE
379 SYNTAX PtopoChassisId
380 MAX-ACCESS read-create
383 "The string value used to identify the chassis component
384 associated with the remote connection endpoint.
386 This object may not be modified if the associated
387 ptopoConnRowStatus object has a value of active(1)."
388 ::= { ptopoConnEntry 6 }
390 ptopoConnRemotePortType OBJECT-TYPE
391 SYNTAX PtopoPortIdType
392 MAX-ACCESS read-create
395 "The type of port identifier encoding used in the associated
396 'ptopoConnRemotePort' object.
398 This object may not be modified if the associated
399 ptopoConnRowStatus object has a value of active(1)."
400 ::= { ptopoConnEntry 7 }
402 ptopoConnRemotePort OBJECT-TYPE
404 MAX-ACCESS read-create
407 "The string value used to identify the port component
408 associated with the remote connection endpoint.
412 This object may not be modified if the associated
413 ptopoConnRowStatus object has a value of active(1)."
414 ::= { ptopoConnEntry 8 }
416 ptopoConnDiscAlgorithm OBJECT-TYPE
417 SYNTAX AutonomousType
421 "An indication of the algorithm used to discover the
422 information contained in this conceptual row.
424 A value of ptopoDiscoveryLocal indicates this entry was
425 configured by the local agent, without use of a discovery
428 A value of { 0 0 } indicates this entry was created manually
429 by an NMS via the associated RowStatus object. "
430 ::= { ptopoConnEntry 9 }
432 ptopoConnAgentNetAddrType OBJECT-TYPE
433 SYNTAX AddressFamilyNumbers
434 MAX-ACCESS read-create
437 "This network address type of the associated
438 ptopoConnNetAddr object, unless that object contains a zero
439 length string. In such a case, an NMS application should
440 ignore any returned value for this object.
442 This object may not be modified if the associated
443 ptopoConnRowStatus object has a value of active(1)."
444 ::= { ptopoConnEntry 10 }
446 ptopoConnAgentNetAddr OBJECT-TYPE
448 MAX-ACCESS read-create
451 "This object identifies a network address which may be used
452 to reach an SNMP agent entity containing information for the
453 chassis and port components represented by the associated
454 'ptopoConnRemoteChassis' and 'ptopoConnRemotePort' objects.
455 If no such address is known, then this object shall contain
458 This object may not be modified if the associated
459 ptopoConnRowStatus object has a value of active(1)."
462 ::= { ptopoConnEntry 11 }
464 ptopoConnMultiMacSASeen OBJECT-TYPE
465 SYNTAX PtopoAddrSeenState
469 "This object indicates if multiple unicast source MAC
470 addresses have been detected by the agent from the remote
471 connection endpoint, since the creation of this entry.
473 If this entry has an associated ptopoConnRemoteChassisType
474 and/or ptopoConnRemotePortType value other than
475 'portIdMacAddr(3)', then the value 'notUsed(1)' is returned.
477 Otherwise, one of the following conditions must be true:
479 If the agent has not yet detected any unicast source MAC
480 addresses from the remote port, then the value 'unknown(2)'
483 If the agent has detected exactly one unicast source MAC
484 address from the remote port, then the value 'oneAddr(3)' is
487 If the agent has detected more than one unicast source MAC
488 address from the remote port, then the value 'multiAddr(4)'
490 ::= { ptopoConnEntry 12 }
492 ptopoConnMultiNetSASeen OBJECT-TYPE
493 SYNTAX PtopoAddrSeenState
497 "This object indicates if multiple network layer source
498 addresses have been detected by the agent from the remote
499 connection endpoint, since the creation of this entry.
501 If this entry has an associated ptopoConnRemoteChassisType
502 or ptopoConnRemotePortType value other than
503 'portIdGenAddr(4)' then the value 'notUsed(1)' is returned.
505 Otherwise, one of the following conditions must be true:
507 If the agent has not yet detected any network source
508 addresses of the appropriate type from the remote port, then
509 the value 'unknown(2)' is returned.
512 If the agent has detected exactly one network source address
513 of the appropriate type from the remote port, then the value
514 'oneAddr(3)' is returned.
516 If the agent has detected more than one network source
517 address (of the same appropriate type) from the remote port,
518 this the value 'multiAddr(4)' is returned."
519 ::= { ptopoConnEntry 13 }
521 ptopoConnIsStatic OBJECT-TYPE
523 MAX-ACCESS read-create
526 "This object identifies static ptopoConnEntries. If this
527 object has the value 'true(1)', then this entry is not
528 subject to any age-out mechanisms implemented by the agent.
530 If this object has the value 'false(2)', then this entry is
531 subject to all age-out mechanisms implemented by the agent.
533 This object may not be modified if the associated
534 ptopoConnRowStatus object has a value of active(1)."
536 ::= { ptopoConnEntry 14 }
538 ptopoConnLastVerifyTime OBJECT-TYPE
543 "If the associated value of ptopoConnIsStatic is equal to
544 'false(2)', then this object contains the value of sysUpTime
545 at the time the conceptual row was last verified by the
546 agent, e.g., via reception of a topology protocol message,
547 pertaining to the associated remote chassis and port.
549 If the associated value of ptopoConnIsStatic is equal to
550 'true(1)', then this object shall contain the value of
551 sysUpTime at the time this entry was last activated (i.e.,
552 ptopoConnRowStatus set to 'active(1)')."
553 ::= { ptopoConnEntry 15 }
555 ptopoConnRowStatus OBJECT-TYPE
557 MAX-ACCESS read-create
562 "The status of this conceptual row."
563 ::= { ptopoConnEntry 16 }
565 -- ***********************************************************
567 -- P T O P O G E N E R A L G R O U P
569 -- ***********************************************************
571 -- last change time stamp for the whole MIB
573 ptopoLastChangeTime OBJECT-TYPE
578 "The value of sysUpTime at the time a conceptual row is
579 created, modified, or deleted in the ptopoConnTable.
581 An NMS can use this object to reduce polling of the
582 ptopoData group objects."
583 ::= { ptopoGeneral 1 }
585 ptopoConnTabInserts OBJECT-TYPE
587 UNITS "table entries"
591 "The number of times an entry has been inserted into the
593 ::= { ptopoGeneral 2 }
595 ptopoConnTabDeletes OBJECT-TYPE
597 UNITS "table entries"
602 "The number of times an entry has been deleted from the
604 ::= { ptopoGeneral 3 }
606 ptopoConnTabDrops OBJECT-TYPE
608 UNITS "table entries"
614 "The number of times an entry would have been added to the
615 ptopoConnTable, (e.g., via information learned from a
616 topology protocol), but was not because of insufficient
618 ::= { ptopoGeneral 4 }
620 ptopoConnTabAgeouts OBJECT-TYPE
625 "The number of times an entry has been deleted from the
626 ptopoConnTable because the information timeliness interval
627 for that entry has expired."
628 ::= { ptopoGeneral 5 }
630 -- ***********************************************************
632 -- P T O P O C O N F I G G R O U P
634 -- ***********************************************************
636 ptopoConfigTrapInterval OBJECT-TYPE
637 SYNTAX Integer32 (0 | 5..3600)
639 MAX-ACCESS read-write
642 "This object controls the transmission of PTOPO
645 If this object has a value of zero, then no
646 ptopoConfigChange notifications will be transmitted by the
649 If this object has a non-zero value, then the agent must not
650 generate more than one ptopoConfigChange trap-event in the
651 indicated period, where a 'trap-event' is the transmission
652 of a single notification PDU type to a list of notification
653 destinations. If additional configuration changes occur
654 within the indicated throttling period, then these trap-
655 events must be suppressed by the agent. An NMS should
656 periodically check the value of ptopoLastChangeTime to
657 detect any missed ptopoConfigChange trap-events, e.g. due to
658 throttling or transmission loss.
662 If notification transmission is enabled, the suggested
663 default throttling period is 60 seconds, but transmission
664 should be disabled by default.
666 If the agent is capable of storing non-volatile
667 configuration, then the value of this object must be
668 restored after a re-initialization of the management
671 ::= { ptopoConfig 1 }
673 ptopoConfigMaxHoldTime OBJECT-TYPE
674 SYNTAX Integer32 (1..2147483647)
676 MAX-ACCESS read-write
679 "This object specifies the desired time interval for which
680 an agent will maintain dynamic ptopoConnEntries.
682 After the specified number of seconds since the last time an
683 entry was verified, in the absence of new verification
684 (e.g., receipt of a topology protocol message), the agent
685 shall remove the entry. Note that entries may not always be
686 removed immediately, but may possibly be removed at periodic
687 garbage collection intervals.
688 This object only affects dynamic ptopoConnEntries, i.e. for
689 which ptopoConnIsStatic equals 'false(2)'. Static entries
692 Note that dynamic ptopoConnEntries may also be removed by
693 the agent due to the expired timeliness of learned topology
694 information (e.g., timeliness interval for a remote port
695 expires). The actual age-out interval for a given entry is
696 defined by the following formula:
699 min(ptopoConfigMaxHoldTime, <entry-specific hold-time>)
701 where <entry-specific hold-time> is determined by the
702 discovery algorithm, and may be different for each entry."
704 ::= { ptopoConfig 2 }
707 -- PTOPO MIB Notification Definitions
708 ptopoMIBNotifications OBJECT IDENTIFIER ::= { ptopoMIB 2 }
709 ptopoMIBTrapPrefix OBJECT IDENTIFIER ::=
712 { ptopoMIBNotifications 0 }
714 ptopoConfigChange NOTIFICATION-TYPE
723 "A ptopoConfigChange notification is sent when the value of
724 ptopoLastChangeTime changes. It can be utilized by an NMS to
725 trigger physical topology table maintenance polls.
727 Note that transmission of ptopoConfigChange notifications
728 are throttled by the agent, as specified by the
729 'ptopoConfigTrapInterval' object."
730 ::= { ptopoMIBTrapPrefix 1 }
733 -- PTOPO Registration Points
734 ptopoRegistrationPoints OBJECT IDENTIFIER ::= { ptopoMIB 3 }
736 -- values used with ptopoConnDiscAlgorithm object
737 ptopoDiscoveryMechanisms OBJECT IDENTIFIER ::=
738 { ptopoRegistrationPoints 1 }
740 ptopoDiscoveryLocal OBJECT IDENTIFIER ::=
741 { ptopoDiscoveryMechanisms 1 }
744 -- conformance information
745 ptopoConformance OBJECT IDENTIFIER ::= { ptopoMIB 4 }
747 ptopoCompliances OBJECT IDENTIFIER ::= { ptopoConformance 1 }
748 ptopoGroups OBJECT IDENTIFIER ::= { ptopoConformance 2 }
751 -- compliance statements
752 ptopoCompliance MODULE-COMPLIANCE
755 "The compliance statement for SNMP entities which implement
757 MODULE -- this module
764 ptopoNotificationsGroup
766 ::= { ptopoCompliances 1 }
769 ptopoDataGroup OBJECT-GROUP
771 ptopoConnRemoteChassisType,
772 ptopoConnRemoteChassis,
773 ptopoConnRemotePortType,
775 ptopoConnDiscAlgorithm,
776 ptopoConnAgentNetAddrType,
777 ptopoConnAgentNetAddr,
778 ptopoConnMultiMacSASeen,
779 ptopoConnMultiNetSASeen,
781 ptopoConnLastVerifyTime,
786 "The collection of objects which are used to represent
787 physical topology information for which a single agent
788 provides management information.
790 This group is mandatory for all implementations of the PTOPO
792 ::= { ptopoGroups 1 }
794 ptopoGeneralGroup OBJECT-GROUP
804 "The collection of objects which are used to report the
805 general status of the PTOPO MIB implementation.
807 This group is mandatory for all agents which implement the
809 ::= { ptopoGroups 2 }
812 ptopoConfigGroup OBJECT-GROUP
814 ptopoConfigTrapInterval,
815 ptopoConfigMaxHoldTime
819 "The collection of objects which are used to configure the
820 PTOPO MIB implementation behavior.
822 This group is mandatory for agents which implement the PTOPO
824 ::= { ptopoGroups 3 }
826 ptopoNotificationsGroup NOTIFICATION-GROUP
832 "The collection of notifications used to indicate PTOPO MIB
833 data consistency and general status information.
835 This group is mandatory for agents which implement the PTOPO
837 ::= { ptopoGroups 4 }