RFC 1516
Definitions of Managed Objects for IEEE 802.3 Repeater Devices
Definitions of Managed Objects for IEEE 802.3 Repeater Devices β¨
RFC 1516 π is a Standards Track doc from the Network Working Group, dated September 1993. It was written by D. McMaster (SynOptics Communications, Inc.) and K. McCloghrie (Hughes LAN Systems, Inc.) π«Ά. It obsoletes RFC 1368, so that's the one it replaces π .
Status of This Memo
okay so this part is the official "what kind of doc is this" bit π. It's an Internet standards track protocol for the Internet community, and it's basically asking everyone to talk about it and suggest improvements π¬. For the current standardization state, check the "Internet Official Protocol Standards" π. And distribution is unlimited, so share away πΈ.
Abstract
this memo defines a chunk of the Management Information Base (MIB) π§©, which is what network management protocols use in the Internet community. specifically, it's for managing IEEE 802.3 10 Mb/second baseband repeaters, aka the ones people call "hubs" πβ¨.
Table of Contents
1. The Network Management Framework ...................... 2
1.1 Object Definitions ................................... 2
2. Overview .............................................. 2
2.1 Terminology .......................................... 3
2.1.1 Repeaters, Hubs and Concentrators .................. 3
2.1.2 Repeaters, Ports, and MAUs ......................... 3
2.1.3 Ports and Groups ................................... 5
2.1.4 Internal Ports and MAUs ............................ 6
2.2 Supporting Functions ................................. 7
2.3 Structure of MIB ..................................... 9
2.3.1 The Basic Group Definitions ........................ 10
2.3.2 The Monitor Group Definitions ...................... 10
2.3.3 The Address Tracking Group Definitions ............ 10
2.4 Relationship to Other MIBs ........................... 10
2.4.1 Relationship to the 'system' group ................. 10
2.4.2 Relationship to the 'interfaces' group ............. 10
2.5 Textual Conventions .................................. 11
3. Definitions ........................................... 11
3.1 MIB Groups in the Repeater MIB ....................... 12
3.2 The Basic Group Definitions .......................... 13
3.3 The Monitor Group Definitions ........................ 23
3.4 The Address Tracking Group Definitions ............... 34
3.5 Traps for use by Repeaters ........................... 36
4. Changes from RFC 1368 ................................. 38
5. Acknowledgments ....................................... 39
6. References ............................................ 39
7. Security Considerations ............................... 40
8. Authors' Addresses .................................... 40
1. The Network Management Framework β¨
the Internet-standard Network Management Framework has three components π§. Here they are:
- STD 16, RFC 1155 defines the SMI π, which is the set of mechanisms for describing and naming objects so they can be managed. STD 16, RFC 1212 defines a more concise description mechanism, and it's totally consistent with the SMI π―.
- STD 17, RFC 1213 defines MIB-II, which is the core set of managed objects for the Internet suite of protocols π.
- STD 15, RFC 1157 defines SNMP, the protocol used for network access to managed objects π¦.
the Framework also lets people define new objects for experimentation and evaluation π§ͺ. ngl that's iconic π₯.
1.1. Object Definitions
managed objects are accessed through a virtual information store called the Management Information Base, or MIB ποΈ. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) that the SMI defines π§ . Each object type gets named by an OBJECT IDENTIFIER, which is an administratively assigned name π·οΈ. The object type plus an object instance uniquely identifies one specific instantiation of the object β¨. For human convenience, we often use a text string called the descriptor to refer to the object type π.
2. Overview πΈ
the object types in this memo represent attributes of an IEEE 802.3 (Ethernet-like) repeater π. These are defined by Section 9, "Repeater Unit for 10 Mb/s Baseband Networks," in the IEEE 802.3/ISO 8802-3 CSMA/CD standard [7] π.
these Repeater MIB objects can be used to manage non-standard repeater-like devices. BUT defining objects for implementation-specific properties of those non-standard devices is outside the scope of this memo π.
the definitions here are based on the IEEE draft standard P802.3K, "Layer Management for 10 Mb/s Baseband Repeaters" [8] π. If you're implementing these MIB objects, note that [8] explicitly describes when, where, and how various repeater attributes are measured π. That IEEE document also describes the effects of repeater actions that you can trigger by manipulating the MIB objects defined here β‘.
the counters in this document are defined to be the same as the counters in the IEEE 802.3 Repeater Management draft π’. The goal is that the same instrumentation can implement both the IEEE and IETF management standards π«Ά. iykyk.
2.1. Terminology π
2.1.1. Repeaters, Hubs and Concentrators
okay history time π°οΈ. In late 1988, the IEEE 802.3 Hub Management task force got chartered to define managed objects for both 802.3 repeaters and the proposed 10BASE-FA synchronous active stars β. The word "hub" was used to cover both repeaters and active stars π.
in March, 1991, the active star proposal got dropped from the 10BASE-F draft π. After that, the 802.3 group renamed the task force to the IEEE 802.3 Repeater Management Task Force, and they renamed their draft to match π.
the term "hub" has caused some confusion, because "hub," "intelligent hub," and "concentrator" are often used to mean a modular chassis ποΈ. That chassis has plug-in modules that give generalized LAN/WAN connectivity, often mixing 802.3 repeater, token ring, and FDDI connectivity, all internetworked by bridges, routers, and terminal servers π.
so to be super clear that this work only covers managing IEEE 802.3 repeaters, the editors chose to call it a "Repeater MIB" instead of a "Hub MIB" π β¨.
2.1.2. Repeaters, Ports, and MAUs
this text roughly defines "repeater," "port," and "MAU" as they're used in this memo π. Heads up, it's imprecise and skips lots of technical details π. For the full, precise definitions, check Section 9 of [7] π.
an IEEE 802.3 repeater connects "Ethernet-like" media segments together, which extends the network length and topology past what a single coax segment can do π§΅. You can picture it as a star structure with two or more input/output ports β. The diagram below shows a 6-port repeater π:
^ ^
| |
\ \ / /
\ \ / /
_____\ v /_____
-> ______ ______ ->
/ ^ \
/ / \ \
/ / \ \
| |
v v
Figure 1. Repeater Unit
all the stations on the media segments connected to a given repeater's ports are in a single collision domain π₯. A packet sent by any of those stations is seen by all of them π.
data coming in on any port gets transmitted out through each of the remaining n-1 ports π. If data comes in on two or more ports at the same time, or the repeater detects a collision on the incoming port, the repeater sends a jamming signal out on all ports for the duration of the collision π¨.
a repeater is a bit-wise store-and-forward device π§. It's different from a bridge (which is a frame store-and-forward device) because it mainly cares about carrier sense and data bits π‘. It doesn't make data-handling decisions based on the legality or contents of a packet π ββοΈ. A repeater retransmits data bits as they come in πββοΈ. Its data FIFO only holds enough bits to make sure it doesn't underflow when incoming bits arrive a bit slower than the repeater's transmission rate π.
a repeater is not an end-station on the network, so it doesn't count toward the overall limit of 1024 stations π«. A repeater has no MAC address, so packets can't be addressed to the repeater or to its ports π . (Packets CAN be addressed to the MAC address of a management entity monitoring a repeater π¬. That management entity may or may not be connected to the network through one of the repeater's ports. How it gets info about the repeater's activity is an implementation issue and isn't discussed here π€·ββοΈ.)
a repeater connects to the network with Medium Attachment Units (MAUs), and sometimes through Attachment Unit Interfaces (AUIs) too π. MAUs are also called transceivers, and an AUI is the same thing as a 15-pin Ethernet or DIX connector π.
the 802.3 standard defines a "repeater set" as the "repeater unit" plus its associated MAUs (and AUIs, if present) π¦. The "repeater unit" is the part of the repeater set that's inboard of the physical media interfaces π§ . The MAUs might be physically separate from the repeater unit, or they might be built into the same physical package π§©.
(MAU) (MAU)
\ \ / /
\ \ / /
_____\ v /_____
(MAU) ______ ______ (MAU)
/ ^ \
/ / \ \
/ / \ \
(MAU) (MAU)
Figure 2. Repeater Set
the most common MAUs are the 10BASE-5 (AUI to thick "yellow" coax), 10BASE-2 (BNC to thin coax), 10BASE-T (unshielded twisted-pair), and FOIRL (asynchronous fiber optic inter-repeater link, which is being folded into the 10BASE-F standard as 10BASE-FL) π§΅β¨. The draft 10BASE-F standard also includes a new synchronous fiber optic attachment called 10BASE-FB π.
it's worth stressing that the repeater MIB being defined by the IEEE only covers repeater unit management π―. It does NOT include management of the MAUs that form the repeater set π ββοΈ. The IEEE recognizes that MAU management should be the same whether the MAUs are connected to end-stations (DTEs) or to repeaters π€. This memo follows the same strategy, and the definition of management information for MAUs is being handled in a separate memo π. more parts coming, bestie π«Άπ
2.1.3. Ports and Groups π
Okay so repeaters are often built into modular "concentrators" π§, where a card cage holds a bunch of field-replaceable cards. Several cards can team up to form one single repeater unit, and each card holds one or more of the repeater's ports. Because of that modular setup, people usually identify repeater ports by card number plus the port number relative to the card, e.g., Card 3, Port 11. β¨
To support this numbering vibe, this document follows the example of the IEEE Repeater Management draft [8] and lets an implementor split the ports in a repeater into "groups", if they want. For example, an implementor might represent field-replaceable units as groups of ports so the port numbering matches the modular hardware. π
This group mapping is recommended but optional. An implementor can put all of a modular repeater's ports into a single group, or divide the ports into groups that don't match physical divisions. πΈ
The object rptrGroupCapacity, which has a maximum value of 1024, tells you the maximum number of groups that a given repeater may contain. The value of rptrGroupCapacity must remain constant from one management restart to the next. π
Each group within the repeater is uniquely identified by a group number in the range 1..rptrGroupCapacity. Groups can come and go without causing a management reset, and they may be sparsely numbered within the repeater. For example, in a 12-card cage, cards 3, 5, 6, and 7 may together form a single repeater, and the implementor may choose to number them as groups 3, 5, 6, and 7, respectively. π¦
The object rptrGroupPortCapacity, which also has a maximum value of 1024, tells you the maximum number of ports that a given group may contain. The value of rptrGroupPortCapacity must not change for a given group. However, a group may be deleted from the repeater and replaced with a group containing a different number of ports. The value of rptrGroupLastOperStatusChange will indicate that a change took place. π
Each port within the repeater is uniquely identified by a combination of group number and port number, where port number is an integer in the range 1..rptrGroupPortCapacity. Just like groups, ports within a group may be sparsely numbered. Ports can also come and go within a group without causing a management reset. π§Έ
2.1.4. Internal Ports and MAUs π
Repeater ports can be thought of as sources of traffic into the repeater. Besides the externally visible ports mentioned above, like those with 10BASE-T MAUs or AUI ports with external transceivers, some implementations have internal ports that aren't obvious to the end-user but are still sources of traffic into the repeater. Examples include internal management ports, which an agent uses to communicate, and ports connecting to a backplane internal to the implementation. π
Some implementations may not manage all of a repeater's ports. For managed ports, there must be entries in the port table. Unmanaged ports will not show up in the table. π
It is up to the implementor to select the appropriate group(s) in which to place internal ports. GroupCapacity for a given group always reflects the number of MANAGED ports in that group. π«Ά
If some ports are unmanaged such that not all packet sources are represented by managed ports, then the sum of the input counters for the repeater will not equal the actual output of the repeater. π
2.2. Supporting Functions π
The IEEE 802.3 Hub Management draft [8] defines the following seven functions and seven signals, which are used to describe precisely when port counters are incremented. The relationship between the functions and signals is shown in Figure 3. π§
The CollisionEvent, ActivityDuration, CarrierEvent, FramingError, OctetCount, FCSError, and SourceAddress output signals defined here are not retrievable MIB objects. They're concepts used to define the MIB objects. The inputs are defined in Section 9 of the IEEE 802.3 standard [7]. π
+---------+
|Collision|--------------------->CollisionEvent
CollIn(X)+>|Event |
| |Funct | +--------+
| +---------+ |Activity|
| +-------+ |Timing |->ActivityDuration
+>|Carrier| +---->|Funct |
|Event | | +--------+
DataIn(X)->|Funct |+-----+---------------->CarrierEvent
+-------+|
| +-------+
+>|Framing|------------>FramingError
|Funct | +-------+
decodedData---------->| |+>|Octet |
+-------+| |Count |->OctetCount
| |Funct |
| +-------+
| +-------+
Octet | |Cyclic |
Stream +>|Redund.|
| |Check |->FCSError
| |Funct |
| +-------+
| +-------+
| |Source |
+>|Address|->SourceAddress
|Funct |
+-------+
Figure 3. Port Functions Relationship
Collision Event Function: The collision event function asserts the CollisionEvent signal when the CollIn(X) variable has the value SQE. The CollisionEvent signal remains asserted until the assertion of any CarrierEvent signal due to the reception of the following event. π₯
Carrier Event Function: The carrier event function asserts the CarrierEvent signal when the repeater exits the IDLE state, Fig 9-2 [7], and the port has been determined to be port N. It deasserts the CarrierEvent signal when, for a duration of at least Carrier Recovery Time (Ref: 9.5.6.5 [7]), both the DataIn(N) variable has the value II and the CollIn(N) variable has the value -SQE. The value N is the port assigned at the time of transition from the IDLE state. π‘
Framing Function: The framing function recognizes the boundaries of an incoming frame by monitoring the CarrierEvent signal and the decoded data stream. Data bits are accepted while the CarrierEvent signal is asserted. The framing function strips the preamble and start of frame delimiter from the received data stream. The remaining bits are aligned along octet boundaries. If there is not an integral number of octets, then FramingError shall be asserted. The FramingError signal is cleared upon the assertion of the CarrierEvent signal due to the reception of the following event. π§©
Activity Timing Function: The activity timing function measures the duration of the assertion of the CarrierEvent signal. This duration value must be adjusted by removing the value of Carrier Recovery Time (Ref: 9.5.6.5 [7]) to obtain the true duration of activity on the network. The output of the Activity Timing function is the ActivityDuration value, which represents the duration of the CarrierEvent signal as expressed in units of bit times. β±οΈ
Octet Counting Function: The octet counting function counts the number of complete octets received from the output of the framing function. The output of the octet counting function is the OctetCount value. The OctetCount value is reset to zero upon the assertion of the CarrierEvent signal due to the reception of the following event. π’
Cyclic Redundancy Check Function: The cyclic redundancy check function verifies that the sequence of octets output by the framing function contains a valid frame check sequence field. The frame check sequence field is the last four octets received from the output of the framing function. The algorithm for generating an FCS from the octet stream is specified in 3.2.8 [7]. If the FCS generated according to this algorithm is not the same as the last four octets received from the framing function, then the FCSError signal is asserted. The FCSError signal is cleared upon the assertion of the CarrierEvent signal due to the reception of the following event. π
Source Address Function: The source address function extracts octets from the stream output by the framing function. The seventh through twelfth octets shall be extracted from the octet stream and output as the SourceAddress variable. The SourceAddress variable is set to an invalid state upon the assertion of the CarrierEvent signal due to the reception of the following event. π·οΈ
2.3. Structure of MIB π
Objects in this MIB are arranged into MIB groups. Each MIB group is organized as a set of related objects. ποΈ
2.3.1. The Basic Group Definitions
This mandatory group contains the objects that are applicable to all repeaters. It contains status, parameter, and control objects for the repeater as a whole, the port groups within the repeater, as well as for the individual ports themselves. π
2.3.2. The Monitor Group Definitions
This optional group contains monitoring statistics for the repeater as a whole and for individual ports. π
2.3.3. The Address Tracking Group Definitions
This optional group contains objects for tracking the MAC addresses of the DTEs attached to the ports of the repeater. π΅οΈββοΈ
2.4. Relationship to Other MIBs π¦
It is assumed that a repeater implementing this MIB will also implement (at least) the 'system' group defined in MIB-II [3]. π«§
2.4.1. Relationship to the 'system' group
In MIB-II, the 'system' group is defined as being mandatory for all systems, such that each managed entity contains one instance of each object in the 'system' group. Thus, those objects apply to the entity even if the entity's sole functionality is management of a repeater. π₯οΈ
2.4.2. Relationship to the 'interfaces' group
In MIB-II, the 'interfaces' group is defined as being mandatory for all systems and contains information on an entity's interfaces, where each interface is thought of as being attached to a the Internet suite of protocols.)
This Repeater MIB uses the notion of ports on a repeater. The concept of a MIB-II interface has NO specific relationship to a repeater's port. Therefore, the 'interfaces' group applies only to the one (or more) network interfaces on which the entity managing the repeater sends and receives management protocol operations, and does not apply to the repeater's ports. π ββοΈ
This is consistent with the physical-layer nature of a repeater. A repeater is a bitwise store-and-forward device. It recognizes activity and bits, but does not process incoming data based on any packet-related information (such as checksum or addresses). A repeater has no MAC address, no MAC implementation, and does not pass packets up to higher-level protocol entities for processing. β‘
(When a network management entity is observing the repeater, it may appear as though the repeater is passing packets to a higher-level protocol entity. However, this is only a means of implementing management, and this passing of management information is not part of the repeater functionality.) π
2.5. Textual Conventions π
okay so the datatype MacAddress is used as a textual convention in this doc, and this convention has NO effect on the syntax or the semantics of any managed object π . Objects that use it still get encoded using the rules for their primitive type. So no changes to the SMI or the SNMP are needed. It's just here to make life easier for the humans reading it π«Ά
3. Definitions β¨
here's the whole MIB module, copied exactly, because implementers need every single character π§
SNMP-REPEATER-MIB DEFINITIONS ::= BEGIN
IMPORTS
Counter, TimeTicks, Gauge
FROM RFC1155-SMI
DisplayString FROM RFC1213-MIB
TRAP-TYPE FROM RFC-1215
OBJECT-TYPE FROM RFC-1212;
snmpDot3RptrMgt OBJECT IDENTIFIER ::= { mib-2 22 }
-- All representations of MAC addresses in this MIB Module use,
-- as a textual convention (i.e., this convention does not affect
-- their encoding), the data type:
MacAddress ::= OCTET STRING (SIZE (6)) -- a 6 octet address in
-- the "canonical" order
-- defined by IEEE 802.1a, i.e., as if it were transmitted least
-- significant bit first.
-- References
--
-- The following references are used throughout this MIB:
--
-- [IEEE 802.3 Std]
-- refers to IEEE 802.3/ISO 8802-3 Information processing
-- systems - Local area networks - Part 3: Carrier sense
-- multiple access with collision detection (CSMA/CD)
-- access method and physical layer specifications
-- (2nd edition, September 21, 1990).
--
-- [IEEE 802.3 Rptr Mgt]
-- refers to IEEE P802.3K, 'Layer Management for 10 Mb/s
-- Baseband Repeaters, Section 19,' Draft Supplement to
-- ANSI/IEEE 802.3, (Draft 8, April 9, 1992)
-- MIB Groups
--
-- The rptrBasicPackage group is mandatory.
-- The rptrMonitorPackage and rptrAddrTrackPackage
-- groups are optional.
rptrBasicPackage
OBJECT IDENTIFIER ::= { snmpDot3RptrMgt 1 }
rptrMonitorPackage
OBJECT IDENTIFIER ::= { snmpDot3RptrMgt 2 }
rptrAddrTrackPackage
OBJECT IDENTIFIER ::= { snmpDot3RptrMgt 3 }
-- object identifiers for organizing the information
-- in the groups by repeater, port-group, and port
rptrRptrInfo
OBJECT IDENTIFIER ::= { rptrBasicPackage 1 }
rptrGroupInfo
OBJECT IDENTIFIER ::= { rptrBasicPackage 2 }
rptrPortInfo
OBJECT IDENTIFIER ::= { rptrBasicPackage 3 }
rptrMonitorRptrInfo
OBJECT IDENTIFIER ::= { rptrMonitorPackage 1 }
rptrMonitorGroupInfo
OBJECT IDENTIFIER ::= { rptrMonitorPackage 2 }
rptrMonitorPortInfo
OBJECT IDENTIFIER ::= { rptrMonitorPackage 3 }
rptrAddrTrackRptrInfo -- this subtree is currently unused
OBJECT IDENTIFIER ::= { rptrAddrTrackPackage 1 }
rptrAddrTrackGroupInfo -- this subtree is currently unused
OBJECT IDENTIFIER ::= { rptrAddrTrackPackage 2 }
rptrAddrTrackPortInfo
OBJECT IDENTIFIER ::= { rptrAddrTrackPackage 3 }
--
-- The BASIC GROUP
--
-- Implementation of the Basic Group is mandatory for all
-- managed repeaters.
--
-- Basic Repeater Information
--
-- Configuration, status, and control objects for the overall
-- repeater
--
rptrGroupCapacity OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The rptrGroupCapacity is the number of groups
that can be contained within the repeater. Within
each managed repeater, the groups are uniquely
numbered in the range from 1 to rptrGroupCapacity.
Some groups may not be present in the repeater, in
which case the actual number of groups present
will be less than rptrGroupCapacity. The number
of groups present will never be greater than
rptrGroupCapacity.
Note: In practice, this will generally be the
number of field-replaceable units (i.e., modules,
cards, or boards) that can fit in the physical
repeater enclosure, and the group numbers will
correspond to numbers marked on the physical
enclosure."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.2,
aRepeaterGroupCapacity."
::= { rptrRptrInfo 1 }
rptrOperStatus OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- undefined or unknown status
ok(2), -- no known failures
rptrFailure(3), -- repeater-related failure
groupFailure(4), -- group-related failure
portFailure(5), -- port-related failure
generalFailure(6) -- failure, unspecified type
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The rptrOperStatus object indicates the
operational state of the repeater. The
rptrHealthText object may be consulted for more
specific information about the state of the
repeater's health.
In the case of multiple kinds of failures (e.g.,
repeater failure and port failure), the value of
this attribute shall reflect the highest priority
failure in the following order, listed highest
priority first:
rptrFailure(3)
groupFailure(4)
portFailure(5)
generalFailure(6)."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.2,
aRepeaterHealthState."
::= { rptrRptrInfo 2 }
rptrHealthText OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The health text object is a text string that
provides information relevant to the operational
state of the repeater. Agents may use this string
to provide detailed information on current
failures, including how they were detected, and/or
instructions for problem resolution. The contents
are agent-specific."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.2,
aRepeaterHealthText."
::= { rptrRptrInfo 3 }
rptrReset OBJECT-TYPE
SYNTAX INTEGER {
noReset(1),
reset(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this object to reset(2) causes a
transition to the START state of Fig 9-2 in
section 9 [IEEE 802.3 Std].
Setting this object to noReset(1) has no effect.
The agent will always return the value noReset(1)
when this object is read.
After receiving a request to set this variable to
reset(2), the agent is allowed to delay the reset
for a short period. For example, the implementor
may choose to delay the reset long enough to allow
the SNMP response to be transmitted. In any
event, the SNMP response must be transmitted.
This action does not reset the management counters
defined in this document nor does it affect the
portAdminStatus parameters. Included in this
action is the execution of a disruptive Self-Test
with the following characteristics: a) The nature
of the tests is not specified. b) The test resets
the repeater but without affecting management
information about the repeater. c) The test does
not inject packets onto any segment. d) Packets
received during the test may or may not be
transferred. e) The test does not interfere with
management functions.
After performing this self-test, the agent will
update the repeater health information (including
rptrOperStatus and rptrHealthText), and send a
rptrHealth trap."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.3,
acResetRepeater."
::= { rptrRptrInfo 4 }
rptrNonDisruptTest OBJECT-TYPE
SYNTAX INTEGER {
noSelfTest(1),
selfTest(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this object to selfTest(2) causes the
repeater to perform a agent-specific, non-
disruptive self-test that has the following
characteristics: a) The nature of the tests is
not specified. b) The test does not change the
state of the repeater or management information
about the repeater. c) The test does not inject
packets onto any segment. d) The test does not
prevent the relay of any packets. e) The test
does not interfere with management functions.
After performing this test, the agent will update
the repeater health information (including
rptrOperStatus and rptrHealthText) and send a
rptrHealth trap.
Note that this definition allows returning an
'okay' result after doing a trivial test.
Setting this object to noSelfTest(1) has no
effect. The agent will always return the value
noSelfTest(1) when this object is read."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.3,
acExecuteNonDisruptiveSelfTest."
::= { rptrRptrInfo 5 }
rptrTotalPartitionedPorts OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object returns the total number of ports in
the repeater whose current state meets all three
of the following criteria: rptrPortOperStatus
does not have the value notPresent(3),
rptrPortAdminStatus is enabled(1), and
rptrPortAutoPartitionState is autoPartitioned(2)."
::= { rptrRptrInfo 6 }
--
-- The Basic Port Group Table
--
rptrGroupTable OBJECT-TYPE
SYNTAX SEQUENCE OF RptrGroupEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Table of descriptive and status information about
the groups of ports."
::= { rptrGroupInfo 1 }
rptrGroupEntry OBJECT-TYPE
SYNTAX RptrGroupEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the table, containing information
about a single group of ports."
INDEX { rptrGroupIndex }
::= { rptrGroupTable 1 }
RptrGroupEntry ::=
SEQUENCE {
rptrGroupIndex
INTEGER,
rptrGroupDescr
DisplayString,
rptrGroupObjectID
OBJECT IDENTIFIER,
rptrGroupOperStatus
INTEGER,
rptrGroupLastOperStatusChange
TimeTicks,
rptrGroupPortCapacity
INTEGER
}
Okay bestie, the Definitions are where the MIB really comes alive π§ Groups, ports, and the monitor stats, all in one place. Let's get into it π
rptrGroupIndex OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object identifies the group within the
repeater for which this entry contains
information. This value is never greater than
rptrGroupCapacity."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.5.2,
aGroupID."
::= { rptrGroupEntry 1 }
rptrGroupDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the group. This value
should include the full name and version
identification of the group's hardware type and
indicate how the group is differentiated from
other types of groups in the repeater. Plug-in
Module, Rev A' or 'Barney Rubble 10BASE-T 4-port
SIMM socket Version 2.1' are examples of valid
group descriptions.
It is mandatory that this only contain printable
ASCII characters."
::= { rptrGroupEntry 2 }
rptrGroupObjectID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The vendor's authoritative identification of the
group. This value may be allocated within the SMI
enterprises subtree (1.3.6.1.4.1) and provides a
straight-forward and unambiguous means for
determining what kind of group is being managed.
For example, this object could take the value
1.3.6.1.4.1.4242.1.2.14 if vendor 'Flintstones,
Inc.' was assigned the subtree 1.3.6.1.4.1.4242,
and had assigned the identifier
1.3.6.1.4.1.4242.1.2.14 to its 'Wilma Flintstone
6-Port FOIRL Plug-in Module.'"
::= { rptrGroupEntry 3 }
rptrGroupOperStatus OBJECT-TYPE
SYNTAX INTEGER {
other(1),
operational(2),
malfunctioning(3),
notPresent(4),
underTest(5),
resetInProgress(6)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An object that indicates the operational status
of the group.
A status of notPresent(4) indicates that the group
is temporarily or permanently physically and/or
logically not a part of the repeater. It is an
implementation-specific matter as to whether the
agent effectively removes notPresent entries from
the table.
A status of operational(2) indicates that the
group is functioning, and a status of
malfunctioning(3) indicates that the group is
malfunctioning in some way."
::= { rptrGroupEntry 4 }
rptrGroupLastOperStatusChange OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An object that contains the value of sysUpTime at
the time that the value of the rptrGroupOperStatus
object for this group last changed.
A value of zero indicates that the group's
operational status has not changed since the agent
last restarted."
::= { rptrGroupEntry 5 }
rptrGroupPortCapacity OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The rptrGroupPortCapacity is the number of ports
that can be contained within the group. Valid
range is 1-1024. Within each group, the ports are
uniquely numbered in the range from 1 to
rptrGroupPortCapacity.
Note: In practice, this will generally be the
number of ports on a module, card, or board, and
the port numbers will correspond to numbers marked
on the physical embodiment."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.5.2,
aGroupPortCapacity."
::= { rptrGroupEntry 6 }
--
-- The Basic Port Table
--
rptrPortTable OBJECT-TYPE
SYNTAX SEQUENCE OF RptrPortEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Table of descriptive and status information about
the ports."
::= { rptrPortInfo 1 }
rptrPortEntry OBJECT-TYPE
SYNTAX RptrPortEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the table, containing information
about a single port."
INDEX { rptrPortGroupIndex, rptrPortIndex }
::= { rptrPortTable 1 }
RptrPortEntry ::=
SEQUENCE {
rptrPortGroupIndex
INTEGER,
rptrPortIndex
INTEGER,
rptrPortAdminStatus
INTEGER,
rptrPortAutoPartitionState
INTEGER,
rptrPortOperStatus
INTEGER
}
rptrPortGroupIndex OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object identifies the group containing the
port for which this entry contains information."
::= { rptrPortEntry 1 }
rptrPortIndex OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object identifies the port within the group
for which this entry contains information. This
value can never be greater than
rptrGroupPortCapacity for the associated group."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aPortID."
::= { rptrPortEntry 2 }
rptrPortAdminStatus OBJECT-TYPE
SYNTAX INTEGER {
enabled(1),
disabled(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this object to disabled(2) disables the
port. A disabled port neither transmits nor
receives. Once disabled, a port must be
explicitly enabled to restore operation. A port
which is disabled when power is lost or when a
reset is exerted shall remain disabled when normal
operation resumes.
The admin status takes precedence over auto-
partition and functionally operates between the
auto-partition mechanism and the AUI/PMA.
Setting this object to enabled(1) enables the port
and exerts a BEGIN on the port's auto-partition
state machine.
(In effect, when a port is disabled, the value of
rptrPortAutoPartitionState for that port is frozen
until the port is next enabled. When the port
becomes enabled, the rptrPortAutoPartitionState
becomes notAutoPartitioned(1), regardless of its
pre-disabling state.)"
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aPortAdminState and 19.2.6.3, acPortAdminControl."
::= { rptrPortEntry 3 }
rptrPortAutoPartitionState OBJECT-TYPE
SYNTAX INTEGER {
notAutoPartitioned(1),
autoPartitioned(2)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The autoPartitionState flag indicates whether the
port is currently partitioned by the repeater's
auto-partition protection.
The conditions that cause port partitioning are
specified in partition state machine in Section 9
[IEEE 802.3 Std]. They are not differentiated
here."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aAutoPartitionState."
::= { rptrPortEntry 4 }
rptrPortOperStatus OBJECT-TYPE
SYNTAX INTEGER {
operational(1),
notOperational(2),
notPresent(3)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object indicates the port's operational
status. The notPresent(3) status indicates the
port is physically removed (note this may or may
not be possible depending on the type of port.)
The operational(1) status indicates that the port
is enabled (see rptrPortAdminStatus) and working,
even though it might be auto-partitioned (see
rptrPortAutoPartitionState).
If this object has the value operational(1) and
rptrPortAdminStatus is set to disabled(2), it is
expected that this object's value will soon change
to notOperational(2)."
::= { rptrPortEntry 5 }
--
-- The MONITOR GROUP
--
-- Implementation of this group is optional, but within the
-- group all elements are mandatory. If a managed repeater
-- implements any part of this group, the entire group shall
-- be implemented.
--
-- Repeater Monitor Information
--
-- Performance monitoring statistics for the repeater
--
rptrMonitorTransmitCollisions OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented every time the
repeater state machine enters the TRANSMIT
COLLISION state from any state other than ONE PORT
LEFT (Ref: Fig 9-2, IEEE 802.3 Std).
The approximate minimum time for rollover of this
counter is 16 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.2,
aTransmitCollisions."
::= { rptrMonitorRptrInfo 1 }
--
-- The Group Monitor Table
--
rptrMonitorGroupTable OBJECT-TYPE
SYNTAX SEQUENCE OF RptrMonitorGroupEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Table of performance and error statistics for the
groups."
::= { rptrMonitorGroupInfo 1 }
rptrMonitorGroupEntry OBJECT-TYPE
SYNTAX RptrMonitorGroupEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the table, containing total
performance and error statistics for a single
group. Regular retrieval of the information in
this table provides a means of tracking the
performance and health of the networked devices
attached to this group's ports.
The counters in this table are redundant in the
sense that they are the summations of information
already available through other objects. However,
these sums provide a considerable optimization of
network management traffic over the otherwise
necessary retrieval of the individual counters
included in each sum."
INDEX { rptrMonitorGroupIndex }
::= { rptrMonitorGroupTable 1 }
okay so we're in the monitor group now and it's giving spreadsheet energy ππ each group gets its own little totals row β¨
RptrMonitorGroupEntry ::=
SEQUENCE {
rptrMonitorGroupIndex
INTEGER,
rptrMonitorGroupTotalFrames
Counter,
rptrMonitorGroupTotalOctets
Counter,
rptrMonitorGroupTotalErrors
Counter
}
rptrMonitorGroupIndex OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object identifies the group within the
repeater for which this entry contains
information."
::= { rptrMonitorGroupEntry 1 }
rptrMonitorGroupTotalFrames OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of frames of valid frame length
that have been received on the ports in this group
and for which the FCSError and CollisionEvent
signals were not asserted. This counter is the
summation of the values of the
rptrMonitorPortReadableFrames counters for all of
the ports in the group.
This statistic provides one of the parameters
necessary for obtaining the packet error rate.
The approximate minimum time for rollover of this
counter is 80 hours."
::= { rptrMonitorGroupEntry 2 }
rptrMonitorGroupTotalOctets OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of octets contained in the valid
frames that have been received on the ports in
this group. This counter is the summation of the
values of the rptrMonitorPortReadableOctets
counters for all of the ports in the group.
This statistic provides an indicator of the total
data transferred. The approximate minimum time
for rollover of this counter is 58 minutes."
::= { rptrMonitorGroupEntry 3 }
rptrMonitorGroupTotalErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of errors which have occurred on
all of the ports in this group. This counter is
the summation of the values of the
rptrMonitorPortTotalErrors counters for all of the
ports in the group."
::= { rptrMonitorGroupEntry 4 }
ok now the port table, which is where the real detail lives π
--
-- The Port Monitor Table
--
rptrMonitorPortTable OBJECT-TYPE
SYNTAX SEQUENCE OF RptrMonitorPortEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Table of performance and error statistics for the
ports."
::= { rptrMonitorPortInfo 1 }
rptrMonitorPortEntry OBJECT-TYPE
SYNTAX RptrMonitorPortEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the table, containing performance and
error statistics for a single port."
INDEX { rptrMonitorPortGroupIndex, rptrMonitorPortIndex }
::= { rptrMonitorPortTable 1 }
RptrMonitorPortEntry ::=
SEQUENCE {
rptrMonitorPortGroupIndex
INTEGER,
rptrMonitorPortIndex
INTEGER,
rptrMonitorPortReadableFrames
Counter,
rptrMonitorPortReadableOctets
Counter,
rptrMonitorPortFCSErrors
Counter,
rptrMonitorPortAlignmentErrors
Counter,
rptrMonitorPortFrameTooLongs
Counter,
rptrMonitorPortShortEvents
Counter,
rptrMonitorPortRunts
Counter,
rptrMonitorPortCollisions
Counter,
rptrMonitorPortLateEvents
Counter,
rptrMonitorPortVeryLongEvents
Counter,
rptrMonitorPortDataRateMismatches
Counter,
rptrMonitorPortAutoPartitions
Counter,
rptrMonitorPortTotalErrors
Counter
}
rptrMonitorPortGroupIndex OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object identifies the group containing the
port for which this entry contains information."
::= { rptrMonitorPortEntry 1 }
rptrMonitorPortIndex OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object identifies the port within the group
for which this entry contains information."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aPortID."
::= { rptrMonitorPortEntry 2 }
rptrMonitorPortReadableFrames OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object is the number of frames of valid
frame length that have been received on this port.
This counter is incremented by one for each frame
received on this port whose OctetCount is greater
than or equal to minFrameSize and less than or
equal to maxFrameSize (Ref: IEEE 802.3 Std,
4.4.2.1) and for which the FCSError and
CollisionEvent signals are not asserted.
This statistic provides one of the parameters
necessary for obtaining the packet error rate.
The approximate minimum time for rollover of this
counter is 80 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aReadableFrames."
::= { rptrMonitorPortEntry 3 }
rptrMonitorPortReadableOctets OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object is the number of octets contained in
valid frames that have been received on this port.
This counter is incremented by OctetCount for each
frame received on this port which has been
determined to be a readable frame (i.e., including
FCS octets but excluding framing bits and dribble
bits).
This statistic provides an indicator of the total
data transferred. The approximate minimum time
for rollover of this counter is 58 minutes."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aReadableOctets."
::= { rptrMonitorPortEntry 4 }
rptrMonitorPortFCSErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each frame
received on this port with the FCSError signal
asserted and the FramingError and CollisionEvent
signals deasserted and whose OctetCount is greater
than or equal to minFrameSize and less than or
equal to maxFrameSize (Ref: 4.4.2.1, IEEE 802.3
Std).
The approximate minimum time for rollover of this
counter is 80 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aFrameCheckSequenceErrors."
::= { rptrMonitorPortEntry 5 }
rptrMonitorPortAlignmentErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each frame
received on this port with the FCSError and
FramingError signals asserted and CollisionEvent
signal deasserted and whose OctetCount is greater
than or equal to minFrameSize and less than or
equal to maxFrameSize (Ref: IEEE 802.3 Std,
4.4.2.1). If rptrMonitorPortAlignmentErrors is
incremented then the rptrMonitorPortFCSErrors
Counter shall not be incremented for the same
frame.
The approximate minimum time for rollover of this
counter is 80 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aAlignmentErrors."
::= { rptrMonitorPortEntry 6 }
rptrMonitorPortFrameTooLongs OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each frame
received on this port whose OctetCount is greater
than maxFrameSize (Ref: 4.4.2.1, IEEE 802.3 Std).
If rptrMonitorPortFrameTooLongs is incremented
then neither the rptrMonitorPortAlignmentErrors
nor the rptrMonitorPortFCSErrors counter shall be
incremented for the frame.
The approximate minimum time for rollover of this
counter is 61 days."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aFramesTooLong."
::= { rptrMonitorPortEntry 7 }
rptrMonitorPortShortEvents OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each
CarrierEvent on this port with ActivityDuration
less than ShortEventMaxTime. ShortEventMaxTime is
greater than 74 bit times and less than 82 bit
times. ShortEventMaxTime has tolerances included
to provide for circuit losses between a
conformance test point at the AUI and the
measurement point within the state machine.
Note: shortEvents may indicate externally
generated noise hits which will cause the repeater
to transmit Runts to its other ports, or propagate
a collision (which may be late) back to the
transmitting DTE and damaged frames to the rest of
the network.
Implementors may wish to consider selecting the
ShortEventMaxTime towards the lower end of the
allowed tolerance range to accommodate bit losses
suffered through physical channel devices not
budgeted for within this standard.
The approximate minimum time for rollover of this
counter is 16 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aShortEvents."
::= { rptrMonitorPortEntry 8 }
rptrMonitorPortRunts OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each
CarrierEvent on this port that meets one of the
following two conditions. Only one test need be
made. a) The ActivityDuration is greater than
ShortEventMaxTime and less than ValidPacketMinTime
and the CollisionEvent signal is deasserted. b)
The OctetCount is less than 64, the
ActivityDuration is greater than ShortEventMaxTime
and the CollisionEvent signal is deasserted.
ValidPacketMinTime is greater than or equal to 552
bit times and less than 565 bit times.
that's the end of this chunk, bestie π«Ά the Runts description is cut right here, so we'll pick up mid-sentence in the next part π§
okay so we're picking up right in the middle of the runts counter's description π the bit about how an event that's between 74 and 82 bit times has to land in shortEvents or runts, but not both. no double-counting, bestie π
An event whose length is greater than 74 bit times
but less than 82 bit times shall increment either
the shortEvents counter or the runts counter but
not both. A CarrierEvent greater than or equal to
552 bit times but less than 565 bit times may or
may not be counted as a runt.
ValidPacketMinTime has tolerances included to
provide for circuit losses between a conformance
test point at the AUI and the measurement point
within the state machine.
Runts usually indicate collision fragments, a
normal network event. In certain situations
associated with large diameter networks a
percentage of collision fragments may exceed
ValidPacketMinTime.
The approximate minimum time for rollover of this
counter is 16 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2, aRunts."
::= { rptrMonitorPortEntry 9 }
rptrMonitorPortCollisions OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for any
CarrierEvent signal on any port for which the
CollisionEvent signal on this port is also
asserted.
The approximate minimum time for rollover of this
counter is 16 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aCollisions."
::= { rptrMonitorPortEntry 10 }
the collisions counter is giving "I'm counting every time a carrier event and a collision event show up together" π₯ no notes π«Ά
Next up is the late events counter, and this one is a whole vibe π it only ticks when the CollIn(X) variable flips to SQE while the ActivityDuration is past the LateEventThreshold, and those events get counted twice (as a collision AND a late event). the threshold has to sit between 480 and 565 bit times, and it's allowed to double as the ValidPacketMinTime threshold, which is so efficient, iconic π
rptrMonitorPortLateEvents OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each
CarrierEvent on this port in which the CollIn(X)
variable transitions to the value SQE (Ref:
9.6.6.2, IEEE 802.3 Std) while the
ActivityDuration is greater than the
LateEventThreshold. Such a CarrierEvent is
counted twice, as both a collision and as a
lateEvent.
The LateEventThreshold is greater than 480 bit
times and less than 565 bit times.
LateEventThreshold has tolerances included to
permit an implementation to build a single
threshold to serve as both the LateEventThreshold
and ValidPacketMinTime threshold.
The approximate minimum time for rollover of this
counter is 81 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aLateEvents."
::= { rptrMonitorPortEntry 11 }
rptrMonitorPortVeryLongEvents OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each
CarrierEvent on this port whose ActivityDuration
is greater than the MAU Jabber Lockup Protection
timer TW3 (Ref: 9.6.1 & 9.6.5, IEEE 802.3 Std).
Other counters may be incremented as appropriate."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aVeryLongEvents."
::= { rptrMonitorPortEntry 12 }
rptrMonitorPortDataRateMismatches OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each frame
received on this port that meets all of the
following conditions: a) The CollisionEvent
signal is not asserted. b) The ActivityDuration
is greater than ValidPacketMinTime. c) The
frequency (data rate) is detectably mismatched
from the local transmit frequency. The exact
degree of mismatch is vendor specific and is to be
defined by the vendor for conformance testing.
When this event occurs, other counters whose
increment conditions were satisfied may or may not
also be incremented, at the implementor's
discretion. Whether or not the repeater was able
to maintain data integrity is beyond the scope of
this standard."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aDataRateMismatches."
::= { rptrMonitorPortEntry 13 }
rptrMonitorPortAutoPartitions OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each time
the repeater has automatically partitioned this
port. The conditions that cause port partitioning
are specified in the partition state machine in
Section 9 [IEEE 802.3 Std]. They are not
differentiated here."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aAutoPartitions."
::= { rptrMonitorPortEntry 14 }
rptrMonitorPortTotalErrors OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of errors which have occurred on
this port. This counter is the summation of the
values of other error counters (for the same
port), namely:
rptrMonitorPortFCSErrors,
rptrMonitorPortAlignmentErrors,
rptrMonitorPortFrameTooLongs,
rptrMonitorPortShortEvents,
rptrMonitorPortLateEvents,
rptrMonitorPortVeryLongEvents, and
rptrMonitorPortDataRateMismatches.
This counter is redundant in the sense that it is
the summation of information already available
through other objects. However, it is included
specifically because the regular retrieval of this
object as a means of tracking the health of a port
provides a considerable optimization of network
management traffic over the otherwise necessary
retrieval of the summed counters."
::= { rptrMonitorPortEntry 15 }
the total errors counter is basically the group chat summary of all the other error counters π§ it's redundant on purpose, bc grabbing one number is way less traffic than pulling all of them. smart, efficient, slay π
now we're entering the ADDRESS TRACKING GROUP π¦ the vibe here is that implementing it is optional, but if a managed repeater does implement any part of it, it has to do the whole thing. commitment era π
--
-- The ADDRESS TRACKING GROUP
--
-- Implementation of this group is optional; it is appropriate
-- for all systems which have the necessary instrumentation. If a
-- managed repeater implements any part of this group, the entire
-- group shall be implemented.
--
-- The Port Address Tracking Table
--
rptrAddrTrackTable OBJECT-TYPE
SYNTAX SEQUENCE OF RptrAddrTrackEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Table of address mapping information about the
ports."
::= { rptrAddrTrackPortInfo 1 }
rptrAddrTrackEntry OBJECT-TYPE
SYNTAX RptrAddrTrackEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the table, containing address mapping
information about a single port."
INDEX { rptrAddrTrackGroupIndex, rptrAddrTrackPortIndex }
::= { rptrAddrTrackTable 1 }
RptrAddrTrackEntry ::=
SEQUENCE {
rptrAddrTrackGroupIndex
INTEGER,
rptrAddrTrackPortIndex
INTEGER,
rptrAddrTrackLastSourceAddress -- DEPRECATED OBJECT
MacAddress,
rptrAddrTrackSourceAddrChanges
Counter,
rptrAddrTrackNewLastSrcAddress
OCTET STRING
}
rptrAddrTrackGroupIndex OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object identifies the group containing the
port for which this entry contains information."
::= { rptrAddrTrackEntry 1 }
rptrAddrTrackPortIndex OBJECT-TYPE
SYNTAX INTEGER (1..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object identifies the port within the group
for which this entry contains information."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aPortID."
::= { rptrAddrTrackEntry 2 }
rptrAddrTrackLastSourceAddress OBJECT-TYPE
SYNTAX MacAddress
ACCESS read-only
STATUS deprecated
DESCRIPTION
"This object is the SourceAddress of the last
readable frame (i.e., counted by
rptrMonitorPortReadableFrames) received by this
port.
This object has been deprecated because its value
is undefined when no frames have been observed on
this port. The replacement object is
rptrAddrTrackNewLastSrcAddress."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aLastSourceAddress."
::= { rptrAddrTrackEntry 3 }
rptrAddrTrackSourceAddrChanges OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This counter is incremented by one for each time
that the rptrAddrTrackLastSourceAddress attribute
for this port has changed.
This may indicate whether a link is connected to a
single DTE or another multi-user segment.
The approximate minimum time for rollover of this
counter is 81 hours."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aSourceAddressChanges."
::= { rptrAddrTrackEntry 4 }
rptrAddrTrackNewLastSrcAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(0 | 6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This object is the SourceAddress of the last
readable frame (i.e., counted by
rptrMonitorPortReadableFrames) received by this
port. If no frames have been received by this
port since the agent began monitoring the port
activity, the agent shall return a string of
length zero."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.6.2,
aLastSourceAddress."
::= { rptrAddrTrackEntry 5 }
ngl the deprecated object is kind of a cautionary tale π rptrAddrTrackLastSourceAddress got retired because its value is undefined when a port hasn't seen any frames, so the replacement, rptrAddrTrackNewLastSrcAddress, gets to be the main character now β¨ and when no frames have come in since the agent started watching, that one returns a zero-length string. no drama, just clean πΈ
last bit of this part is the traps π¨ the rptrHealth trap is for repeater health, and it fires either when rptrOperStatus changes or when a non-disruptive test finishes. traps follow the conventions in RFC 1215 [6], so that's the rulebook π
-- Traps for use by Repeaters
-- Traps are defined using the conventions in RFC 1215 [6].
rptrHealth TRAP-TYPE
ENTERPRISE snmpDot3RptrMgt
VARIABLES { rptrOperStatus }
DESCRIPTION
"The rptrHealth trap conveys information related
to the operational status of the repeater. This
trap is sent either when the value of
rptrOperStatus changes, or upon completion of a
non-disruptive test.
The rptrHealth trap must contain the
rptrOperStatus object. The agent may optionally
include the rptrHealthText object in the varBind
list. See the rptrOperStatus and rptrHealthText
objects for descriptions of the information that
is sent.
the trap gets to carry rptrOperStatus no matter what, and rptrHealthText is optional extra flair π more trap details coming up, stay tuned π§β¨
The agent must throttle the generation of
consecutive rptrHealth traps so that there is at
least a five-second gap between traps of this
type. When traps are throttled, they are dropped,
not queued for sending at a future time. (Note
that 'generating' a trap means sending to all
configured recipients.)"
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.4,
hubHealth notification."
::= 1
rptrGroupChange TRAP-TYPE
ENTERPRISE snmpDot3RptrMgt
VARIABLES { rptrGroupIndex }
DESCRIPTION
"This trap is sent when a change occurs in the
group structure of a repeater. This occurs only
when a group is logically or physically removed
from or added to a repeater. The varBind list
contains the identifier of the group that was
removed or added.
The agent must throttle the generation of
consecutive rptrGroupChange traps for the same
group so that there is at least a five-second gap
between traps of this type. When traps are
throttled, they are dropped, not queued for
sending at a future time. (Note that 'generating'
a trap means sending to all configured
recipients.)"
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.4,
groupMapChange notification."
::= 2
rptrResetEvent TRAP-TYPE
ENTERPRISE snmpDot3RptrMgt
VARIABLES { rptrOperStatus }
DESCRIPTION
"The rptrResetEvent trap conveys information
related to the operational status of the repeater.
This trap is sent on completion of a repeater
reset action. A repeater reset action is defined
as an a transition to the START state of Fig 9-2
in section 9 [IEEE 802.3 Std], when triggered by a
management command (e.g., an SNMP Set on the
rptrReset object).
The agent must throttle the generation of
consecutive rptrResetEvent traps so that there is
at least a five-second gap between traps of this
type. When traps are throttled, they are dropped,
not queued for sending at a future time. (Note
that 'generating' a trap means sending to all
configured recipients.)
The rptrResetEvent trap is not sent when the agent
restarts and sends an SNMP coldStart or warmStart
trap. However, it is recommended that a repeater
agent send the rptrOperStatus object as an
optional object with its coldStart and warmStart
trap PDUs.
The rptrOperStatus object must be included in the
varbind list sent with this trap. The agent may
optionally include the rptrHealthText object as
well."
REFERENCE
"Reference IEEE 802.3 Rptr Mgt, 19.2.3.4, hubReset
notification."
::= 3
END
4. Changes from RFC 1368 π¦
(1) okay first up, they added section 2.1.4, "Internal Ports and MAUs" π§, which defines internal ports and spells out how they may or may not be managed π.
(2) they noticed the failure list for rptrOperStatus goes highest priority first π.
(3) the rptrReset description got a glow-up π : the agent may briefly delay the reset action β³.
(4) for rptrReset, they cleared up what the agent should take care of after doing the reset and self-test π§Ό.
(5) rptrNonDisruptTest got the same kind of tweak as (3) π.
(6) the rptrNonDisruptTest description now says it's totally fine to return "ok" after only a trivial test π.
(7) rptrAddrTrackLastSourceAddress is deprecated π, and there's a replacement object with a zero-length value until the first frame is seen on the port πΈ.
(8) the rptrHealth trap is sent after rptrNonDisruptTest even if the repeater health info doesn't change from the test π©Ί.
(9) and the throttling-traps text got clarified π¦.
5. Acknowledgments π«Ά
This document is the work of the IETF Hub MIB Working Group. It is based on drafts of the IEEE 802.3 Repeater Management Task Force.
6. References π
[1] Rose M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based internets", STD 16, RFC 1155, Performance Systems International, Hughes LAN Systems, May 1990.
[2] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990.
[3] McCloghrie K., and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets", STD 17, RFC 1213, Performance Systems International, March 1991.
[4] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization, International Standard 8824, December 1987.
[5] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions", STD 16, RFC 1212, Performance Systems International, Hughes LAN Systems, March 1991.
[6] Rose, M., Editor, "A Convention for Defining Traps for use with the SNMP", RFC 1215, Performance Systems International, March 1991.
[7] IEEE 802.3/ISO 8802-3 - Information processing systems - Local area networks - Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications, 2nd edition, 21 September 1990.
[8] IEEE P802.3K - Layer Management for 10 Mb/s Baseband Repeaters, Section 19, Draft Supplement to ANSI/IEEE 802.3, Draft 8, 9 April 1992.
7. Security Considerations π
Okay, serious moment π: this memo does not discuss security issues. Security issues are not discussed in this memo.
8. Authors' Addresses π
Donna McMaster
SynOptics Communications, Inc.
4401 Great America Parkway
P.O. Box 58185
Santa Clara, CA 95052-8185
Phone: (408) 764-1206
EMail: mcmaster@synoptics.com
Keith McCloghrie
Hughes LAN Systems, Inc.
1225 Charleston Road
Mountain View, CA 94043
Phone: (415) 966-7934
EMail: kzm@hls.com
And that's a wrap, bestie πβ¨
π¦ where this page comes from
- ietf: rfc1516 1993-09
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms