RFC 2662
Definitions of Managed Objects for the ADSL Lines
RFC 2662: Definitions of Managed Objects for the ADSL Lines π¦
Okay bestie, let's get into it! π This one is from August 1999 and it's a Standards Track doc from the Network Working Group. The authors are G. Bathrick (AG Communication Systems) and F. Ly (Copper Mountain Networks). The title block doesn't list anything it obsoletes or updates, so it's just vibing on its own. πΈ
Status of This Memo π
This doc specifies an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements. π«Ά For the current standardization state and status of this protocol, check the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited. β¨
Copyright Notice Β©οΈ
Copyright (C) The Internet Society (1999). All Rights Reserved. π
Table of Contents π
1. Abstract .............................................. 1
2. The SNMP Network Management Framework ................. 2
3. Object Definitions ..................................... 3
4. Relationship of the ADSL LINE MIB with standard MIBs ... 3
5. Conventions used in the MIB ............................ 7
6. Conformance and Compliance ............................. 17
7. Definitions ............................................ 17
8. Acknowledgments ........................................ 110
9. References ............................................. 111
10. Security Considerations ................................ 113
11. Intellectual Property Notice ........................... 114
12. Authors' Addresses ..................................... 114
13. Full Copyright Statement ............................... 115
1. Abstract π
Okay so this doc defines a standard SNMP MIB for ADSL lines, and it's built on the ADSL Forum standard data model [9]. π The ADSL standard calls ATU-C and ATU-R the two sides of the ADSL line. This MIB covers both the ATU-C and ATU-R agent's perspectives, and each instance defined in the MIB represents a single ADSL line. β¨
It should be noted that the ADSL Forum Network Management Working Group gave input on the content of this document. π Check out the Acknowledgement Section for a list of the individuals who made this doc possible. π«Ά
2. The SNMP Network Management Framework π§
The SNMP Management Framework currently has five major components: π₯
- An overall architecture, described in RFC 2571 [13].
- Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and it's described in STD 16, RFC 1155 [14], STD 16, RFC 1212 [15] and RFC 1215 [16]. The second version, SMIv2, is described in STD 58, RFC 2578 [1], STD 58, RFC 2579 [2] and STD 58, RFC 2580 [17]. π
- Message protocols for transferring management information. The first version of the SNMP message protocol is SNMPv1, described in STD 15, RFC 1157 [7]. A second version, SNMPv2c, which is not an Internet standards track protocol, is described in RFC 1901 [18] and RFC 1906 [19]. The third version, SNMPv3, is described in RFC 1906 [19], RFC 2572 [20] and RFC 2574 [21]. π
- Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [7]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [8]. π
- A set of fundamental applications described in RFC 2573 [22], plus the view-based access control mechanism described in RFC 2575 [23]. π¦
This doc specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (e.g., use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. πΈ
3. Object Definitions π
Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the extended subset of Abstract Syntax Notation One (ASN.1) defined in the SMI. In particular, each object type is named by an OBJECT IDENTIFIER, an administratively assigned name. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the descriptor, to also refer to the object type. π§
4. Relationship of the ADSL LINE MIB with standard MIBs π
This section outlines the relationship of the ADSL Line MIB with other MIBs described in RFCs, and with their various degrees of "standardization". β¨
4.1. Use of the IfTable π οΈ
The ADSL LINE MIB specifies the detailed attributes of a data interface, so it needs to integrate with IF-MIB [5]. The IANA has assigned the following ifType(s) relative to ADSL:
IANAifType ::= TEXTUAL-CONVENTION
. . .
SYNTAX INTEGER {
. . .
adsl(94), -- Asymmetric Digital Subscriber Loop
. . .
adslInterleave(124), -- ADSL Interleaved Channel
adslFast(125), -- ADSL Fast Channel
. . . }
Interfaces of each of these types are modeled by this doc. Most MIB tables in this doc represent information for one of these interface types and are indexed by ifIndex. The remaining ones are profile tables, which may be accessed by the profileIndex. This is explained in more detail in section 5.4 Profiles. π
4.1.1. ADSL Interface Types π«
As shown below, three ADSL interface types are defined in this doc: physical, interleaved channel, and fast channel. The physical interface represents the characteristics of the physical media associated with both the ATUC and ATUR. The interleaved and fast channel interfaces represent the characteristics of the two types of ADSL channels. π
For each ADSL Line, a physical interface always exists. Depending on which ADSL operational configuration is present (as listed in Figure 5), the channel interfaces (fast or interleaved) may or may not exist. π€·ββοΈ
______ ______
| |____________________| |
| ATUC | | ATUR |
| |____________________| |
|______| |______|
| <----- physical --------> |
| <--- fast channel ------> |
| <- interleaved channel -> |
Figure 1: ADSL Model
4.1.2. Use of IF-MIB (Interface MIB RFC 2233) [5] π
The following attributes are part of the required ifGeneralInformationGroup object group specified in RFC 2233 [5], and they're not duplicated in the ADSL MIB. Keep in mind that these objects apply to the agent's view of the line. π
ifTable Object Use for ADSL
==================================================================
ifIndex Interface index.
ifDescr See interfaces MIB [5]
ifType physical - adsl(94)
fast - adslFast(125)
interleaved - adslInterleave(124)
ifSpeed Transmit rate from the perspective
of the agent.
physical - line rate
fast - channel rate
interleaved - channel rate
ifPhysAddress This object should have an octet string
with zero length.
ifAdminStatus See interfaces MIB [5]
ifOperStatus See interfaces MIB [5]
Supplemented by adslAturCurrStatus and
adslAturCurrStatus
ifLastChange See interfaces MIB [5]
ifName See interfaces MIB [5]
ifLinkUpDownTrapEnable See interfaces MIB [5]
Default set as follows:
physical - enabled(1)
fast - disabled(2)
interleaved - disabled(2)
ifHighSpeed Speed of line in Mega-bits per second
(ifSpeed/1,000,000)
ifConnectorPresent See interfaces MIB [5]
Default set as follows:
physical - true(1)
fast - false(2)
interleaved - false(2)
ifAlias See interfaces MIB [5]
ifTableLastChange See interfaces MIB [5]
==================================================================
Figure 2: Use of ifTable Objects: ifGeneralInformationGroup
Use of the ifStackTable to associate the entries for physical, fast, and interleaved channels, and higher layers (e.g., ATM), is shown below in Figure 3. Use of ifStackTable is necessary, because configuration information is stored in profile tables associated with the physical-layer ifEntry only. The channels' ifEntrys need the ifStackTable to find their associated physical-layer entry and thus their configuration parameters. (See Profile section, 5.4). π§
______ (ifEntry=j) ______
| | fast channel | |
| |________________________| |
| | and/or | |
| | | |
| | (ifEntry=k) | |
| | interleaved channel | |
| |________________________| |
| ATUC | | ATUR |
| | | |
| | (ifEntry=i) | |
| | physical | |
| |________________________| |
|______| |______|
Figure 3: Use of ifStackTable (part 1)
The ifStackTable is then used to show the relationships between the various ADSL interfaces, as illustrated below in Figure 4. πΈοΈ
HigherLayer LowerLayer
--------------------------
j i
k i
Figure 4: Use of ifStackTable (part 2)
The ifRcvAddressTable is not applicable for ADSL interfaces. π ββοΈ
4.2. Relationship with RFC 2037 [25] β¨
okay so implementing the Entity MIB [25] is totally optional π and it does NOT change the info the adslLineMib needs, or how it relates to IF-MIB π«Ά
the Entity MIB is the standardized way to show off the parts of a complex system, like a DSLAM (Digital Subscriber Line Access Multiplexer) that might have racks, shelves, line cards, and/or ports π§ its main goal is showing those components, how they contain each other, and how they map to other MIBs like the Interface MIB and the adslLineMib π
if an ATU-C agent is implemented, the Entity MIB should include entities for the ATU-C in the entPhysicalTable πΈ the entAliasMappingTable would then hold the mapping that identifies the ifIndex object tied to each ATU-C. but if an ATU-R agent is implemented, the Entity MIB should include entities for the ATU-R in the entPhysicalTable instead π¦ and the entAliasMappingTable would hold the mapping for the ifIndex object tied to each ATU-R π
also, to connect the ifTable and the Entity MIB, the entPhysicalTable has an entPhysicalName object that roughly matches the meaning of the ifName object from the Interface MIB π
5. Conventions used in the MIB π
5.1. Naming Conventions π
A. Atuc/Atur are the names for the ATU-C and ATU-R π«Ά other RFCs sometimes call these the Near End (Ne) and Far End (Fe) respectively, but this document does not π
B. "Transmit" and "receive" are seen from the point of view of the corresponding table's end of the line π
so for Fast channels, adslAtucChanConfFastMaxTxRate defines the "downstream" rate, while adslAturChanConfFastMaxTxRate defines the "upstream" rate for a particular channel β¨
C. There are two possible channels: fast, and interleaved π none, one, or both may be implemented on a particular ADSL Line π§ Figure 5 shows every possible operational configuration π
D. Lof, Lol, Los, Lpr mean Loss of Framing, Link, Signal, and Power, respectively π₯ Lpr is used by T1E1, so it gets used for consistency (instead of Lop) π«Ά
A Loss of Link condition is declared at the ATU-C if a Loss of Signal is not preceded by a dying-gasp message from the ATU-R π and note that Loss of Link is only supported by the ATU-C π
E. ES means errored second π an Errored Second is any second that contains one or more CRC anomaly, or one or more Los(s) or Severely Errored Frame (Sef) defect(s) β
F. A "block" is a physical-layer data buffer that CRCs are calculated over π¦ in DMT, the block is defined as the ADSL superframe πΈ the block duration is 250 micro-seconds, so the block length in bytes (as defined in adslAtu*ChanCrcBlockLength) changes with data rate π see Line Code Specific MIBs [11] [12] for more line-code-specific info π
G. Atn means Attenuation, Psd is Power Spectral Density and Snr is Signal to Noise Ratio π
H. LCS means line code specific, e.g.,
- DMT = Discrete MultiTone
- CAP = Carrierless Amplitude and Phase modulation and
- QAM = Quadrature Amplitude Modulation
I. Vendor (in the Inventory objects) refers to the manufacturer of the ATU-C or ATU-R assembly, NOT the modem chip vendor π when you're unsure, use the manufacturer of the smallest field replaceable unit (e.g., stand-alone modem box, plug-in board) π§
J. RADSL - Rate Adaptive Asymmetric Digital Subscriber Loop π
5.2. Structure ποΈ
the MIB has multiple parallel tables π there are tables for:
- line - common attributes
- atuc and atur status
- atuc and atur performance
- Current and up to 96 buckets of 15 min performance history
- Current and Previous 1-day bucket performance history
- profiles - configuration parameters and alarm parameters
there are separate tables for the Physical and Channel layers π«Ά since their attributes are similar, only one set of "channel" tables is defined, used for both fast and interleaved channels π¦ the corresponding ifType gives the proper interpretation for that ifEntry β¨
Line Code Specific MIBs are meant to live under adslLCSMib πΈ these MIBs will be defined in separate modules π
there could have been fewer tables by combining the ATU-C and ATU-R info into shared tables π€ but the tables are way easier to read when there are two identical sets of data π
the figure below lists the five possible ADSL operational configurations (indicated by the value of the adslLineType) π in every configuration, the physical line interface entry will exist π«Ά but whether the ADSL channel exists varies in each case, as shown below π
Table Phys Fast Interleaved
___________________________________________________________
No Channels (1) | Y | | |
Fast Only (2) | Y | Y | |
Interleaved Only (3) | Y | | Y |
Fast or Interleaved (4) | Y | Y | Y |
Fast and Interleaved (5) | Y | Y | Y |
Figure 5: ADSL Operational configurations
NOTE: In (4), channel exists of either Fast or Interleaved type, but not both. The Manager may select the type of channel to be used. π
depending on which operational configuration exists, some or all ADSL MIB tables could be supported, as shown below π see the Conformance Statements for more info on which objects are mandatory π
Table Phys Fast Interleaved
___________________________________________________________
adslLineTable | Y | | |
adslAtucPhysTable | Y | | |
adslAturPhysTable | Y | | |
adslAtucChanTable | | Y | Y |
adslAturChanTable | | Y | Y |
adslAtucPerfDataTable | Y | | |
adslAturPerfDataTable | Y | | |
adslAtucIntervalTable | Y | | |
adslAturIntervalTable | Y | | |
adslAtucChanPerfDataTable | | Y | Y |
adslAturChanPerfDataTable | | Y | Y |
adslAtucChanIntervalTable | | Y | Y |
adslAturChanIntervalTable | | Y | Y |
Figure 6: Use of ADSL MIB Tables with various ifIndex values
NOTE: The adslLineConfProfileTable and adslLineAlarmConfProfileTable will be present for all scenarios π§ see the Profile Section of this document for implementation details such as profile creation, assignment, and indexing β¨
5.2.1. Structure of Conformance Groups π
the MIB covers both ends of the ADSL line, ATU-C and ATU-R π«Ά the objects can be sorted into two groups: the ATU-C group, which has objects supported by ATU-C agents, and the ATU-R group, which has objects supported by ATU-R agents π these two groups are defined by the conformance section of the MIB πΈ every object defined in the MIB module is supported by the ATU-C agent, and only portions of the objects are supported by the ATU-R agent π Figure 7 lists all the tables and objects that the ATU-R agent supports π
Table Objects
_______________________________________________________
adslLineTable adslLineCoding
adslAtucPhysTable adslAtucInvVendorID
adslAtucInvVersionNumber
adslAtucCurrStatus (Partial)
adslAtucCurrOutputPwr
adslAtucCurrAttainableRate
adslAturPhysTable all are supported
adslAtucChanTable all except
adslAtucChanCrcBlockLength
are supported
adslAtucPerfDataTable all except
adslAtucPerfLols,
adslAtucPerfLprs
adslAtucPerfCurr15MinLols,
adslAtucPerfCurr15MinLprs,
adslAtucPerfCurr1DayLols,
adslAtucPerfCurr1DayLprs,
adslAtucPerfPrev1DayLols and
adslAtucPerfPrev1DayLprs
are supported
adslAturPerfDataTable all are supported
adslAtucIntervalTable adslAtucIntervalLofs
adslAtucIntervalLoss
adslAtucIntervalESs
adslAtucIntervalInits
adslAtucIntervalValidData
adslAturIntervalTable all are supported
adslAtucChanPerfDataTable all are supported
adslAturChanPerfDataTable all are supported
adslAtucChanIntervalTable all are supported
adslAturChanIntervalTable all are supported
adslLineConfProfileTable not supported
adslLineAlarmConfProfileTable all are supported except
adslAtucThresh15MinLols
and adslAtucThresh15MinLprs
--------------------------------------------------------------------
Figure 7: MIB Tables and Objects Supported by the ATU-R Agent
all the traps supported by the ATU-R agent are listed here too π§
adslAtucPerfLofsThreshTrap
adslAtucPerfLossThreshTrap
adslAtucPerfESsThreshTrap
adslAtucRateChangeTrap
adslAturPerfLofsThreshTrap
adslAturPerfLossThreshTrap
adslAturPerfLprsThreshTrap
adslAturPerfESsThreshTrap
adslAturRateChangeTrap
5.3. Counters, Interval Buckets and Thresholds β¨
okay so for the physical-level stuff (ES, Los, Lof, Lol, Lpr and line initialization attempts), you get event counters π plus a current 15-minute bucket, one (up to 96) 15-minute history bucket(s) of "interval-counters", and current and previous 1-day interval-counters. Each physical-layer current 15-minute event bucket has a threshold trap π₯
at the channel level, there are counters for total received blocks, received-and-corrected blocks, received-but-uncorrectable blocks, and transmitted blocks. same 15-minute and 1-day buckets as the physical layer, so it's giving consistency π«Ά
there's no requirement for an agent to keep a fixed relationship between the start of a fifteen minute interval and any wall clock. some implementations might line the fifteen minute intervals up with quarter hours though. likewise, an implementation may choose to align one day intervals with the start of a day π
separate tables are provided for the 96 interval-counters. they're indexed by {ifIndex, AdslAtu*IntervalNumber} π§
counters aren't reset when an ATU-C or ATU-R gets reinitialized. they only get reset when the agent is reset or reinitialized (or under specific request outside the scope of this MIB) π
the 15-minute event counters are of type PerfCurrentCount and PerfIntervalCount. the 1-day event counters are of type AdslPerfCurrDayCount and AdslPerfPrevDayCount. both the 15-minute and 1-day time elapsed counters are of type AdslPerfTimeElapsed β±οΈ
5.4. Profiles π
okay, so a managed node can handle a huge number of ATU-Cs (e.g., hundreds or perhaps thousands of ADSL lines), and provisioning every single parameter on every ATU-C can get seriously burdensome π so two MIB tables were created to define ADSL equipment configuration data profiles, plus a mechanism to link the equipment to those profiles π
profile tables can be implemented in one of two ways, but not at the same time:
- MODE-I: Dynamic Profiles - one profile shared by one or multiple ADSL lines.
- MODE-II: Static Profiles - one profile per ADSL physical line, always.
5.4.1. MODE-I : Dynamic Profiles πΈ
implementations using this mode let the manager dynamically create and delete profiles as needed. the index of the profile is a locally-unique, administratively assigned name for the profile, with the textual convention `SnmpAdminString' (RFC2571 [13]).
one or more ADSL lines can be configured to share the parameters of a single profile (e.g., adslLineConfProfileName = `silver') by setting their adslLineConfProfile objects to the index value of that profile. if a change is made to the profile, every line that refers to it gets reconfigured to the changed parameters. before a profile can be deleted or taken out of service, it has to be unreferenced from all associated lines first. no drama, just order π
this figure below shows an example of how this mode can be implemented. in the example, ADSL lines 1' and x' share the configuration of the silver' profile, while line 2' uses the platinum' profile. the gold' profile has no lines associated with it π
ADSL ifIndex ifTable Configuration Line
Profile Table
__________________________________________________________________
1 i1 ADSL Line -- ---> Platinum Profile
j1 Fast Chan | |
k1 Int Chan | |
| ^
v | Gold Profile
2 i2 ADSL Line ------->----
j2 Fast Chan |
k2 Int Chan |
|
|
|
v
x ix ADSL Line ------>------> Silver Profile
jx Fast Chan --------------->
kx Int Chan
__________________________________________________________________
Figure 8: Use of Dynamic Profiles: MODE-I
in the figure above, note that the three interface entries of an ADSL line (physical, fast channel, and interleaved channel) are represented by i', j', and k'. only the physical-layer entry i' contains an adslLineTable entry, so only those entries contain pointers to the adslLineConfProfileTable. the ifStackTable (see rfc2233 [5]) can be used to link the channel entries to the corresponding physical-layer entry, so you can get the channel's configuration parameters. see figure 4 for use of the ifStackTable π§
the same characteristics and mechanisms are present for the alarm profile type. there is no requirement that its index be the same as the configuration profile's index, so no need to match them π
implementations of this mode must provide a default profile whose name is DEFVAL' for each profile type: Configuration and Alarm. the values of the associated parameters will be vendor specific unless otherwise indicated in this document. before a line's profiles have been set, these profiles are automatically used by setting adslLineConfProfile and adslLineAlarmConfProfile to DEFVAL' π«Ά
in this mode, profiles are created, assigned, and deleted dynamically using these four objects: adslLineConfProfile, adslLineConfProfileRowStatus, adslLineAlarmConfProfile, and adslLineAlarmConfProfileRowStatus β¨
5.4.2. MODE-II : Static Profiles π¦
implementations with this mode will automatically create a profile one-for-one with each ADSL line physical entry. the name of this profile is a system generated, read-only object whose value is equivalent to the index of the physical line. the agent will not allow a manager to create or delete profiles in this mode. so adslLineConfProfile, adslLineConfProfileRowStatus, adslLineAlarmConfProfile, and adslLineAlarmConfProfileRowStatus objects have minimal value here and are read-only π
the figure below shows an example of this mode. in the example, ADSL lines 1', 2', and `x' each have their own profiles π
ADSL ifIndex ifTable Configuration Line
Profile Table
__________________________________________________________________
1 i1 ADSL Line ------------> Profile
j1 Fast Chan
k1 Int Chan
2 i2 ADSL Line ------------> Profile
j2 Fast Chan
k2 Int Chan
x ix ADSL Line ------------> Profile
jx Fast Chan
kx Int Chan
__________________________________________________________________
Figure 9: Use of Static Profiles: MODE II
5.5. Traps π¨
these SNMP traps are required: coldStart / warmStart (per [6]), which are per agent (e.g., per DSLAM in such a device), and linkUp / linkDown (per [5]), which are per interface (i.e., per ADSL line). note: RFC 2233 [5] recommends that linkUp / linkDown only be used at a physical-layer ifEntry, as discussed above π‘
a linkDown trap is generated whenever any of Lof, Los, Lol, Loss of Signal Quality, or Lpr events occurs. at this operational point, a manager can use adslAtu*CurrStatus for additional detailed information. the corresponding linkUp trap is sent when all link failure conditions are cleared π
the traps defined in this MIB cover initialization failure, rate change, and threshold crossings associated with the following events: Lofs, Lols, Loss, Lprs, and ESs. each threshold has its own enable/threshold value. when that value is 0, the trap is disabled π
the current status objects (adslAtu*CurrStatus) indicate, through a bitmask, all outstanding error conditions or that the line is operational. note that each object claims to represent the status of the modem at that end of the line. however, since the SNMP agent likely co-resides with only one end of the line, the corresponding far-end current status object may be incomplete. for example, when there are errors on the line, the far-end ATU may not be able to correctly report this condition. therefore, not all conditions are included in its current status π€·ββοΈ
a threshold trap occurs whenever the corresponding current 15-minute interval error counter becomes equal to and/or exceeds the threshold value. one trap is sent per interval per interface. since the current 15-minute counters are reset to 0 every 15 minutes, if the condition persists, the trap may recur as often as every 15 minutes. for example, to get a trap whenever a "loss of" event occurs (but at most once every 15 minutes), set the corresponding Thresh15Min to 1. the agent will generate a trap when the event originally occurs π
note that the NMS will get a linkDown trap as well, if enabled. at the beginning of the next 15 minute interval, the counter is reset. when the first second goes by and the event occurs, the current interval bucket will be 1, which equals the threshold, and the trap will be sent again π
the rate change trap is invoked when the transmit rate on a channel either increases by adsl(x)Thresh(y)RateUp or decreases by adsl(x)Thresh(y)RateDown. the trap is per direction, (x) being Atuc or Atur, and per channel, (y) being Fast or Interleave. in other words, the trap is sent whenever the rate changes in either direction on either channel and:
CurrTxRate >= PrevTxRate plus ThreshRateUp
or
CurrTxRate <= PrevTxRate minus ThreshRateDown
no trap is sent on initialization. it can be disabled by setting the Up (and/or) Down threshold rates to 0 π ββοΈ
the PrevTxRate object is set to the current value at initialization and whenever a trap is sent. thus, rate changes are cumulative until the total change reaches the threshold π
6. Conformance and Compliance π
see the conformance and compliance statements within the information module π
7. Definitions π§
here's the module itself, the actual MIB definitions in all their glory. the ADSL Line Coding Textual Convention is what this part kicks off with π
ADSL-TC-MIB DEFINITIONS ::= BEGIN
IMPORTS
transmission,
MODULE-IDENTITY, Gauge32 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC;
adsltcmib MODULE-IDENTITY
LAST-UPDATED "9908190000Z"
ORGANIZATION "IETF ADSL MIB Working Group"
CONTACT-INFO
"
Gregory Bathrick
AG Communication Systems
A Subsidiary of Lucent Technologies
2500 W Utopia Rd.
Phoenix, AZ 85027 USA
Tel: +1 602-582-7679
Fax: +1 602-582-7697
E-mail: bathricg@agcs.com
Faye Ly
Copper Mountain Networks
Norcal Office
2470 Embarcadero Way
Palo Alto, CA 94303
Tel: +1 650-858-8500
Fax: +1 650-858-8085
E-Mail: faye@coppermountain.com
IETF ADSL MIB Working Group (adsl@xlist.agcs.com)
"
DESCRIPTION
"The MIB module which provides a ADSL
Line Coding Textual Convention to be used
by ADSL Lines."
-- Revision history
REVISION "9908190000Z" -- 19 August 1999, midnight
DESCRIPTION "Initial Version, published as RFC 2662"
::= { transmission 94 2 } -- adslMIB 2
AdslLineCodingType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This data type is used as the syntax for the ADSL
Line Code."
SYNTAX INTEGER {
other(1),-- none of the following
dmt (2), -- Discrete MultiTone
cap (3), -- Carrierless Amplitude & Phase modulation
qam (4) -- Quadrature Amplitude Modulation
}
Okay bestie, we're still deep in the MIB module zone π The first bit wraps up the ADSL-TC-MIB textual conventions for the 1-day counters and the elapsed-time value, and then the ADSL-LINE-MIB module starts β¨
AdslPerfCurrDayCount ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A counter associated with interface performance
measurements in a current 1-day (24 hour) measurement
interval.
The value of this counter starts at zero at the
beginning of an interval and is increased when
associated events occur, until the end of the
1-day interval. At that time the value of the
counter is stored in the previous 1-day history
interval, if available, and the current interval
counter is restarted at zero.
In the case where the agent has no valid data available
for this interval the corresponding object
instance is not available and upon a retrieval
request a corresponding error message shall be
returned to indicate that this instance does
not exist (for example, a noSuchName error for
SNMPv1 and a noSuchInstance for SNMPv2 GET
operation)."
SYNTAX Gauge32
AdslPerfPrevDayCount ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A counter associated with interface performance
measurements during the most previous 1-day (24 hour)
measurement interval. The value of this counter is
equal to the value of the current day counter at
the end of its most recent interval.
In the case where the agent has no valid data available
for this interval the corresponding object
instance is not available and upon a retrieval
request a corresponding error message shall be
returned to indicate that this instance does
not exist (for example, a noSuchName error for
SNMPv1 and a noSuchInstance for SNMPv2 GET
operation)."
SYNTAX Gauge32
AdslPerfTimeElapsed ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The number of seconds that have elapsed since
the beginning of the current measurement period.
If, for some reason, such as an adjustment in the
system's time-of-day clock, the current interval
exceeds the maximum value, the agent will return
the maximum value."
SYNTAX Gauge32
END
So the two "current day" counters are basically a 24-hour scoreboard π The current one ticks up until the 1-day interval ends, then it gets saved into the previous-day slot and starts over at zero π If the agent doesn't have valid data for that window, the object just doesn't exist, and asking for it gets you a noSuchName (SNMPv1) or noSuchInstance (SNMPv2 GET) error π And the elapsed-time one is giving "how long has this been running" vibes β±οΈ, with a max value if the clock does something weird π
Now the big one: the ADSL-LINE-MIB module itself π
ADSL-LINE-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Counter32, Gauge32,
NOTIFICATION-TYPE,
transmission, Unsigned32 FROM SNMPv2-SMI
RowStatus,
TruthValue, VariablePointer FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP FROM SNMPv2-CONF
ifIndex FROM IF-MIB
PerfCurrentCount,
PerfIntervalCount FROM PerfHist-TC-MIB
SnmpAdminString FROM SNMP-FRAMEWORK-MIB
AdslPerfCurrDayCount,
AdslPerfPrevDayCount,
AdslPerfTimeElapsed,
AdslLineCodingType FROM ADSL-TC-MIB
;
adslMIB MODULE-IDENTITY
LAST-UPDATED "9908190000Z"
ORGANIZATION "IETF ADSL MIB Working Group"
CONTACT-INFO
"
Gregory Bathrick
AG Communication Systems
A Subsidiary of Lucent Technologies
2500 W Utopia Rd.
Phoenix, AZ 85027 USA
Tel: +1 602-582-7679
Fax: +1 602-582-7697
E-mail: bathricg@agcs.com
Faye Ly
Copper Mountain Networks
Norcal Office
2470 Embarcadero Way
Palo Alto, CA 94303
Tel: +1 650-858-8500
Fax: +1 650-858-8085
E-Mail: faye@coppermountain.com
(ADSL Forum input only)
John Burgess
Predictive Systems, Inc.
25A Vreeland Rd.
Florham Park, NJ 07932 USA
Tel: +1 973-301-5610
Fax: +1 973-301-5699
E-mail: jtburgess@predictive.com
IETF ADSL MIB Working Group (adsl@xlist.agcs.com)
"
DESCRIPTION
"The MIB module defining objects for the management of a pair of
ADSL modems at each end of the ADSL line. Each such line has
an entry in an ifTable which may include multiple modem lines.
An agent may reside at either end of the ADSL line however the
MIB is designed to require no management communication between
them beyond that inherent in the low-level ADSL line protocol.
The agent may monitor and control this protocol for its needs.
ADSL lines may support optional Fast or Interleaved channels.
If these are supported, additional entries corresponding to the
supported channels must be created in the ifTable. Thus an ADSL
line that supports both channels will have three entries in the
ifTable, one for each physical, fast, and interleaved, whose
ifType values are equal to adsl(94), fast(125), and
interleaved(124), respectively. The ifStackTable is used to
represent the relationship between the entries.
Naming Conventions:
Atuc -- (ATUC) modem at near (Central) end of line
Atur -- (ATUR) modem at Remote end of line
Curr -- Current
Prev -- Previous
Atn -- Attenuation
ES -- Errored Second.
LCS -- Line Code Specific
Lof -- Loss of Frame
Lol -- Loss of Link
Los -- Loss of Signal
Lpr -- Loss of Power
xxxs-- interval of Seconds in which xxx occurs
(e.g., xxx=Lof, Los, Lpr)
Max -- Maximum
Mgn -- Margin
Min -- Minimum
Psd -- Power Spectral Density
Snr -- Signal to Noise Ratio
Tx -- Transmit
Blks-- Blocks, a data unit, see
adslAtuXChanCrcBlockLength
"
-- Revision history
REVISION "9908190000Z" -- 19 August 1999, midnight
DESCRIPTION "Initial Version, published as RFC 2662"
::= { transmission 94 }
Quick vibe check on the header π This module is all about managing a pair of ADSL modems, one at each end of the line π§ The agent can sit on either end, and the MIB is built so the two ends don't need to chat over management traffic beyond what the ADSL line protocol already does π«Ά Also, a line can have optional Fast or Interleaved channels, and if it does, extra ifTable entries get created, with the ifType values adsl(94), fast(125), and interleaved(124) π The ifStackTable is what ties all those entries together π The naming-conventions list is the glossary you'll want open for the rest of this, iykyk π
Next up, the MIB object tree and the first table, adslLineTable π¦
adslLineMib OBJECT IDENTIFIER ::= { adslMIB 1 }
adslMibObjects OBJECT IDENTIFIER ::= { adslLineMib 1 }
-- objects
adslLineTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslLineEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table includes common attributes describing
both ends of the line. It is required for all ADSL
physical interfaces. ADSL physical interfaces are
those ifEntries where ifType is equal to adsl(94)."
::= { adslMibObjects 1 }
adslLineEntry OBJECT-TYPE
SYNTAX AdslLineEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in adslLineTable."
INDEX { ifIndex }
::= { adslLineTable 1 }
AdslLineEntry ::=
SEQUENCE {
adslLineCoding AdslLineCodingType,
adslLineType INTEGER,
adslLineSpecific VariablePointer,
adslLineConfProfile SnmpAdminString,
adslLineAlarmConfProfile SnmpAdminString
}
adslLineCoding OBJECT-TYPE
SYNTAX AdslLineCodingType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Specifies the ADSL coding type used on this
line."
::= { adslLineEntry 1 }
adslLineType OBJECT-TYPE
SYNTAX INTEGER {
noChannel (1), -- no channels exist
fastOnly (2), -- fast channel exists only
interleavedOnly (3), -- interleaved channel exists
-- only
fastOrInterleaved (4),-- either fast or interleaved
-- channels can exist, but
-- only one at any time
fastAndInterleaved (5)-- both fast or interleaved
-- channels exist
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Defines the type of ADSL physical line
entity that exists, by defining whether and how
the line is channelized. If the line is channelized,
the value will be other than noChannel(1). This
object defines which channel type(s) are supported.
In the case that the line is channelized, the manager
can use the ifStackTable to determine the ifIndex for
the associated channel(s)."
::= { adslLineEntry 2 }
adslLineSpecific OBJECT-TYPE
SYNTAX VariablePointer
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"OID instance in vendor-specific MIB. The Instance may
be used to determine shelf/slot/port of the ATUC
interface in a DSLAM."
::= { adslLineEntry 3 }
adslLineConfProfile OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (1..32))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The value of this object identifies the row
in the ADSL Line Configuration Profile Table,
(adslLineConfProfileTable), which applies for this
ADSL line, and channels if applicable.
For `dynamic' mode, in the case which the
configuration profile has not been set, the
value will be set to `DEFVAL'.
If the implementator of this MIB has chosen not
to implement `dynamic assignment' of profiles, this
object's MIN-ACCESS is read-only."
::= { adslLineEntry 4 }
adslLineAlarmConfProfile OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (1..32))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The value of this object identifies the row
in the ADSL Line Alarm Configuration Profile Table,
(adslLineAlarmConfProfileTable), which applies to this
ADSL line, and channels if applicable.
For `dynamic' mode, in the case which the
alarm profile has not been set, the
value will be set to `DEFVAL'.
If the implementator of this MIB has chosen not
to implement `dynamic assignment' of profiles, this
object's MIN-ACCESS is read-only."
::= { adslLineEntry 5 }
adslAtucPhysTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAtucPhysEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUC.
Each row contains the Physical Layer Parameters
table for that ATUC. ADSL physical interfaces are
those ifEntries where ifType is equal to adsl(94)."
::= { adslMibObjects 2 }
So adslLineTable is the "common stuff about both ends of the line" table π§ Every ADSL physical interface gets a row, and each row carries the coding type, the channelization type (noChannel(1) through fastAndInterleaved(5)) π§©, and two profile-pointer columns that point at config and alarm profile rows π Those profile pointers have a little DEFVAL moment in dynamic mode, and if the implementer skipped dynamic assignment, they're read-only, no drama π The adslLineSpecific one is a VariablePointer into vendor land, so it's giving "go look at the vendor MIB for shelf/slot/port" π’ And adslAtucPhysTable is the next stop, one row per ATUC, with the physical layer params π
okay bestie, we're deep in the ADSL tables now π Every object here is a column in a table, and each one has its own little ID number after ::=.
adslAtucPhysEntry OBJECT-TYPE
SYNTAX AdslAtucPhysEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the adslAtucPhysTable."
INDEX { ifIndex }
::= { adslAtucPhysTable 1 }
AdslAtucPhysEntry ::=
SEQUENCE {
adslAtucInvSerialNumber SnmpAdminString,
adslAtucInvVendorID SnmpAdminString,
adslAtucInvVersionNumber SnmpAdminString,
adslAtucCurrSnrMgn INTEGER,
adslAtucCurrAtn Gauge32,
adslAtucCurrStatus BITS,
adslAtucCurrOutputPwr INTEGER,
adslAtucCurrAttainableRate Gauge32
}
-- inventory group
--
-- These items should describe the lowest level identifiable
-- component, be it a stand-alone modem, a card in a rack,
-- a child-board, etc.
--
adslAtucInvSerialNumber OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (0..32))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor specific string that identifies the
vendor equipment."
::= { adslAtucPhysEntry 1 }
adslAtucInvVendorID OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (0..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor ID code is a copy of the binary
vendor identification field defined by the
PHY[10] and expressed as readable characters."
REFERENCE "ANSI T1.413[10]"
::= { adslAtucPhysEntry 2 }
adslAtucInvVersionNumber OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (0..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor specific version number sent by this ATU
as part of the initialization messages. It is a copy
of the binary version number field defined by the
PHY[10] and expressed as readable characters."
REFERENCE "ANSI T1.413[10]"
::= { adslAtucPhysEntry 3 }
-- current status group
--
adslAtucCurrSnrMgn OBJECT-TYPE
SYNTAX INTEGER (-640..640)
UNITS "tenth dB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Noise Margin as seen by this ATU with respect to its
received signal in tenth dB."
::= { adslAtucPhysEntry 4 }
adslAtucCurrAtn OBJECT-TYPE
SYNTAX Gauge32(0..630)
UNITS "tenth dB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Measured difference in the total power transmitted by
the peer ATU and the total power received by this ATU."
::= { adslAtucPhysEntry 5 }
adslAtucCurrStatus OBJECT-TYPE
SYNTAX BITS {
noDefect(0),
lossOfFraming(1),
lossOfSignal(2),
lossOfPower(3),
lossOfSignalQuality(4),
lossOfLink(5),
dataInitFailure(6),
configInitFailure(7),
protocolInitFailure(8),
noPeerAtuPresent(9)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates current state of the ATUC line. This is a
bit-map of possible conditions. The various bit
positions are:
0 noDefect There no defects on the line
1 lossOfFraming ATUC failure due to not
receiving valid frame.
2 lossOfSignal ATUC failure due to not
receiving signal.
3 lossOfPower ATUC failure due to loss of
power.
Note: the Agent may still
function.
4 lossOfSignalQuality Loss of Signal Quality is
declared when the Noise Margin
falls below the Minimum Noise
Margin, or the bit-error-rate
exceeds 10^-7.
5 lossOfLink ATUC failure due to inability
to link with ATUR.
6 dataInitFailure ATUC failure during
initialization due to bit
errors corrupting startup
exchange data.
7 configInitFailure ATUC failure during
initialization due to peer
ATU not able to support
requested configuration
8 protocolInitFailure ATUC failure during
initialization due to
incompatible protocol used by
the peer ATU.
9 noPeerAtuPresent ATUC failure during
initialization due to no
activation sequence detected
from peer ATU.
This is intended to supplement ifOperStatus."
::= { adslAtucPhysEntry 6 }
adslAtucCurrOutputPwr OBJECT-TYPE
SYNTAX INTEGER (-310..310)
UNITS "tenth dBm"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Measured total output power transmitted by this ATU.
This is the measurement that was reported during
the last activation sequence."
::= { adslAtucPhysEntry 7 }
adslAtucCurrAttainableRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the maximum currently attainable data rate
by the ATU. This value will be equal or greater than
the current line rate."
::= { adslAtucPhysEntry 8 }
adslAturPhysTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAturPhysEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUR
Each row contains the Physical Layer Parameters
table for that ATUR. ADSL physical interfaces are
those ifEntries where ifType is equal to adsl(94)."
::= { adslMibObjects 3 }
adslAturPhysEntry OBJECT-TYPE
SYNTAX AdslAturPhysEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the adslAturPhysTable."
INDEX { ifIndex }
::= { adslAturPhysTable 1 }
AdslAturPhysEntry ::=
SEQUENCE {
adslAturInvSerialNumber SnmpAdminString,
adslAturInvVendorID SnmpAdminString,
adslAturInvVersionNumber SnmpAdminString,
adslAturCurrSnrMgn INTEGER,
adslAturCurrAtn Gauge32,
adslAturCurrStatus BITS,
adslAturCurrOutputPwr INTEGER,
adslAturCurrAttainableRate Gauge32
}
-- inventory group
--
adslAturInvSerialNumber OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (0..32))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor specific string that identifies the
vendor equipment."
::= { adslAturPhysEntry 1 }
adslAturInvVendorID OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (0..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor ID code is a copy of the binary
vendor identification field defined by the
PHY[10] and expressed as readable characters."
REFERENCE "ANSI T1.413"
::= { adslAturPhysEntry 2 }
adslAturInvVersionNumber OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (0..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The vendor specific version number sent by this ATU
as part of the initialization messages. It is a copy
of the binary version number field defined by the
PHY[10] and expressed as readable characters."
REFERENCE "ANSI T1.413"
::= { adslAturPhysEntry 3 }
-- current status group
--
adslAturCurrSnrMgn OBJECT-TYPE
SYNTAX INTEGER (-640..640)
UNITS "tenth dB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Noise Margin as seen by this ATU with respect to its
received signal in tenth dB."
::= { adslAturPhysEntry 4 }
adslAturCurrAtn OBJECT-TYPE
SYNTAX Gauge32(0..630)
UNITS "tenth dB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Measured difference in the total power transmitted by
the peer ATU and the total power received by this ATU."
::= { adslAturPhysEntry 5 }
adslAturCurrStatus OBJECT-TYPE
SYNTAX BITS {
noDefect(0),
lossOfFraming(1),
lossOfSignal(2),
lossOfPower(3),
lossOfSignalQuality(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates current state of the ATUR line. This is a
bit-map of possible conditions. Due to the isolation
of the ATUR when line problems occur, many state
conditions like loss of power, loss of quality signal,
and initialization errors, can not be determined.
While trouble shooting ATUR, also use object,
adslAtucCurrStatus. The various bit positions are:
0 noDefect There no defects on the line
1 lossOfFraming ATUR failure due to not
receiving valid frame
2 lossOfSignal ATUR failure due to not
receiving signal
3 lossOfPower ATUR failure due to loss of
power
Okay, the MIB definitions keep rolling and this bit is all about the ATU-R line status and channel tables π Here's the code, exactly as it's written. Every field, index, and trap-threshold detail stays put π
4 lossOfSignalQuality Loss of Signal Quality is
declared when the Noise Margin
falls below the Minimum Noise
Margin, or the
bit-error-rate exceeds 10^-7.
This is intended to supplement ifOperStatus."
::= { adslAturPhysEntry 6 }
adslAturCurrOutputPwr OBJECT-TYPE
SYNTAX INTEGER (-310..310)
UNITS "tenth dBm"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Measured total output power transmitted by this ATU.
This is the measurement that was reported during
the last activation sequence."
::= { adslAturPhysEntry 7 }
adslAturCurrAttainableRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the maximum currently attainable data rate
by the ATU. This value will be equal or greater than
the current line rate."
::= { adslAturPhysEntry 8 }
adslAtucChanTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAtucChanEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUC channel.
ADSL channel interfaces are those ifEntries
where ifType is equal to adslInterleave(124)
or adslFast(125)."
::= { adslMibObjects 4 }
adslAtucChanEntry OBJECT-TYPE
SYNTAX AdslAtucChanEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the adslAtucChanTable."
INDEX { ifIndex }
::= { adslAtucChanTable 1 }
AdslAtucChanEntry ::=
SEQUENCE {
adslAtucChanInterleaveDelay Gauge32,
adslAtucChanCurrTxRate Gauge32,
adslAtucChanPrevTxRate Gauge32,
adslAtucChanCrcBlockLength Gauge32
}
-- current group
--
adslAtucChanInterleaveDelay OBJECT-TYPE
SYNTAX Gauge32
UNITS "milli-seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Interleave Delay for this channel.
Interleave delay applies only to the
interleave channel and defines the mapping
(relative spacing) between subsequent input
bytes at the interleaver input and their placement
in the bit stream at the interleaver output.
Larger numbers provide greater separation between
consecutive input bytes in the output bit stream
allowing for improved impulse noise immunity at
the expense of payload latency.
In the case where the ifType is Fast(125), use
noSuchObject."
::= { adslAtucChanEntry 1 }
adslAtucChanCurrTxRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Actual transmit rate on this channel."
::= { adslAtucChanEntry 2 }
adslAtucChanPrevTxRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The rate at the time of the last
adslAtucRateChangeTrap event. It is also set at
initialization to prevent a trap being sent.
Rate changes less than adslAtucThresh(*)RateDown
or less than adslAtucThresh(*)RateUp will not
cause a trap or cause this object to change.
(*) == Fast or Interleave.
See AdslLineAlarmConfProfileEntry."
::= { adslAtucChanEntry 3 }
adslAtucChanCrcBlockLength OBJECT-TYPE
SYNTAX Gauge32
UNITS "byte"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the length of the channel data-block
on which the CRC operates. Refer to Line Code
Specific MIBs, [11] and [12] for more
information."
::= { adslAtucChanEntry 4 }
adslAturChanTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAturChanEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUR channel.
ADSL channel interfaces are those ifEntries
where ifType is equal to adslInterleave(124)
or adslFast(125)."
::= { adslMibObjects 5 }
adslAturChanEntry OBJECT-TYPE
SYNTAX AdslAturChanEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the adslAturChanTable."
INDEX { ifIndex }
::= { adslAturChanTable 1 }
AdslAturChanEntry ::=
SEQUENCE {
adslAturChanInterleaveDelay Gauge32,
adslAturChanCurrTxRate Gauge32,
adslAturChanPrevTxRate Gauge32,
adslAturChanCrcBlockLength Gauge32
}
-- current group
--
adslAturChanInterleaveDelay OBJECT-TYPE
SYNTAX Gauge32
UNITS "milli-seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Interleave Delay for this channel.
Interleave delay applies only to the
interleave channel and defines the mapping
(relative spacing) between subsequent input
bytes at the interleaver input and their placement
in the bit stream at the interleaver output.
Larger numbers provide greater separation between
consecutive input bytes in the output bit stream
allowing for improved impulse noise immunity at
the expense of payload latency.
In the case where the ifType is Fast(125), use
noSuchObject."
::= { adslAturChanEntry 1 }
adslAturChanCurrTxRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Actual transmit rate on this channel."
::= { adslAturChanEntry 2 }
adslAturChanPrevTxRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The rate at the time of the last
adslAturRateChangeTrap event. It is also set at
initialization to prevent a trap being sent.
Rate changes less than adslAturThresh(*)RateDown
or less than adslAturThresh(*)RateUp will not
cause a trap or cause this object to change.
(*) == Fast or Interleave.
See AdslLineAlarmConfProfileEntry."
::= { adslAturChanEntry 3 }
adslAturChanCrcBlockLength OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the length of the channel data-block
on which the CRC operates. Refer to Line Code
Specific MIBs, [11] and [12] for more
information."
::= { adslAturChanEntry 4 }
adslAtucPerfDataTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAtucPerfDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUC.
ADSL physical interfaces are
those ifEntries where ifType is equal to adsl(94)."
::= { adslMibObjects 6 }
adslAtucPerfDataEntry OBJECT-TYPE
SYNTAX AdslAtucPerfDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in adslAtucPerfDataTable."
INDEX { ifIndex }
::= { adslAtucPerfDataTable 1 }
AdslAtucPerfDataEntry ::=
SEQUENCE {
adslAtucPerfLofs Counter32,
adslAtucPerfLoss Counter32,
adslAtucPerfLols Counter32,
adslAtucPerfLprs Counter32,
adslAtucPerfESs Counter32,
adslAtucPerfInits Counter32,
adslAtucPerfValidIntervals INTEGER,
adslAtucPerfInvalidIntervals INTEGER,
adslAtucPerfCurr15MinTimeElapsed AdslPerfTimeElapsed,
adslAtucPerfCurr15MinLofs PerfCurrentCount,
adslAtucPerfCurr15MinLoss PerfCurrentCount,
adslAtucPerfCurr15MinLols PerfCurrentCount,
adslAtucPerfCurr15MinLprs PerfCurrentCount,
adslAtucPerfCurr15MinESs PerfCurrentCount,
adslAtucPerfCurr15MinInits PerfCurrentCount,
adslAtucPerfCurr1DayTimeElapsed AdslPerfTimeElapsed,
adslAtucPerfCurr1DayLofs AdslPerfCurrDayCount,
adslAtucPerfCurr1DayLoss AdslPerfCurrDayCount,
adslAtucPerfCurr1DayLols AdslPerfCurrDayCount,
adslAtucPerfCurr1DayLprs AdslPerfCurrDayCount,
adslAtucPerfCurr1DayESs AdslPerfCurrDayCount,
adslAtucPerfCurr1DayInits AdslPerfCurrDayCount,
adslAtucPerfPrev1DayMoniSecs INTEGER,
adslAtucPerfPrev1DayLofs AdslPerfPrevDayCount,
adslAtucPerfPrev1DayLoss AdslPerfPrevDayCount,
adslAtucPerfPrev1DayLols AdslPerfPrevDayCount,
adslAtucPerfPrev1DayLprs AdslPerfPrevDayCount,
adslAtucPerfPrev1DayESs AdslPerfPrevDayCount,
adslAtucPerfPrev1DayInits AdslPerfPrevDayCount
}
-- Event Counters
--
-- Also see adslAtucIntervalTable for 15 minute interval
-- elapsed counters.
--
adslAtucPerfLofs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Loss of Framing failures since
agent reset."
::= { adslAtucPerfDataEntry 1 }
adslAtucPerfLoss OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Loss of Signal failures since
agent reset."
::= { adslAtucPerfDataEntry 2 }
okay bestie, the counters keep going and they're giving main character energy π
adslAtucPerfLols OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Loss of Link failures since
agent reset."
::= { adslAtucPerfDataEntry 3 }
adslAtucPerfLprs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Loss of Power failures since
agent reset."
::= { adslAtucPerfDataEntry 4 }
adslAtucPerfESs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Errored Seconds since agent
reset. The errored second parameter is a count of
one-second intervals containing one or more crc
anomalies, or one or more los or sef defects."
::= { adslAtucPerfDataEntry 5 }
adslAtucPerfInits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the line initialization attempts since
agent reset. Includes both successful and failed
attempts."
::= { adslAtucPerfDataEntry 6 }
Lols and Lprs count Loss of Link and Loss of Power failures since agent reset πβ¨ ESs counts errored seconds, where a second counts if it has one or more crc anomalies or one or more los or sef defects π«Ά and Inits counts line initialization attempts, successful and failed both π¦
next up: the general 15 min interval info π
-- general 15 min interval information
--
adslAtucPerfValidIntervals OBJECT-TYPE
SYNTAX INTEGER(0..96)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of previous 15-minute intervals in the
interval table for which data was collected. Given
that <n> is the maximum # of intervals supported.
The value will be <n> unless the measurement was
(re-)started within the last (<n>*15) minutes, in which
case the value will be the number of complete 15
minute intervals for which the agent has at least
some data. In certain cases (e.g., in the case
where the agent is a proxy) it is possible that some
intervals are unavailable. In this case, this
interval is the maximum interval number for
which data is available."
::= { adslAtucPerfDataEntry 7 }
adslAtucPerfInvalidIntervals OBJECT-TYPE
SYNTAX INTEGER(0..96)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of intervals in the range from
0 to the value of adslAtucPerfValidIntervals
for which no data is available. This object
will typically be zero except in cases where
the data for some intervals are not available
(e.g., in proxy situations)."
::= { adslAtucPerfDataEntry 8 }
ValidIntervals tells you how many previous 15-minute intervals have data, and InvalidIntervals counts the ones in that range where there's none πΈ the proxy situations get a special shout-out π
now the 15 min current performance group π
-- 15 min current performance group
--
adslAtucPerfCurr15MinTimeElapsed OBJECT-TYPE
SYNTAX AdslPerfTimeElapsed(0..899)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total elapsed seconds in this interval."
::= { adslAtucPerfDataEntry 9 }
adslAtucPerfCurr15MinLofs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the current 15 minute interval
when there was Loss of Framing."
::= { adslAtucPerfDataEntry 10 }
adslAtucPerfCurr15MinLoss OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the current 15 minute interval
when there was Loss of Signal."
::= { adslAtucPerfDataEntry 11 }
adslAtucPerfCurr15MinLols OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the current 15 minute interval
when there was Loss of Link."
::= { adslAtucPerfDataEntry 12 }
adslAtucPerfCurr15MinLprs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the current 15 minute interval
when there was Loss of Power."
::= { adslAtucPerfDataEntry 13 }
adslAtucPerfCurr15MinESs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds in the current 15 minute
interval. The errored second parameter is a count of
one-second intervals containing one or more crc
anomalies, or one or more los or sef defects."
::= { adslAtucPerfDataEntry 14 }
adslAtucPerfCurr15MinInits OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the line initialization attempts in the
current 15 minute interval. Includes both successful
and failed attempts."
::= { adslAtucPerfDataEntry 15 }
This group is the current 15-minute snapshot π TimeElapsed tracks the seconds so far in this interval, and then you get the same Lofs, Loss, Lols, Lprs, ESs and Inits vibes, but counted only inside this current window π
and the 1-day current and previous performance group π§
-- 1-day current and previous performance group
--
adslAtucPerfCurr1DayTimeElapsed OBJECT-TYPE
SYNTAX AdslPerfTimeElapsed(0..86399)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds that have elapsed since the
beginning of the current 1-day interval."
::= { adslAtucPerfDataEntry 16 }
adslAtucPerfCurr1DayLofs OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of seconds when there was Loss of
Framing during the current day as measured by
adslAtucPerfCurr1DayTimeElapsed."
::= { adslAtucPerfDataEntry 17 }
adslAtucPerfCurr1DayLoss OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of seconds when there was Loss of
Signal during the current day as measured by
adslAtucPerfCurr1DayTimeElapsed."
::= { adslAtucPerfDataEntry 18 }
adslAtucPerfCurr1DayLols OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of seconds when there was Loss of
Link during the current day as measured by
adslAtucPerfCurr1DayTimeElapsed."
::= { adslAtucPerfDataEntry 19 }
adslAtucPerfCurr1DayLprs OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of seconds when there was Loss of
Power during the current day as measured by
adslAtucPerfCurr1DayTimeElapsed."
::= { adslAtucPerfDataEntry 20 }
adslAtucPerfCurr1DayESs OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds during the current day as
measured by adslAtucPerfCurr1DayTimeElapsed.
The errored second parameter is a count of
one-second intervals containing one or more crc
anomalies, or one or more los or sef defects."
::= { adslAtucPerfDataEntry 21 }
adslAtucPerfCurr1DayInits OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the line initialization attempts in the
day as measured by adslAtucPerfCurr1DayTimeElapsed.
Includes both successful and failed attempts."
::= { adslAtucPerfDataEntry 22 }
adslAtucPerfPrev1DayMoniSecs OBJECT-TYPE
SYNTAX INTEGER(0..86400)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time in the previous 1-day interval
over which the performance monitoring information
is actually counted. This value will be the same as
the interval duration except in a situation where
performance monitoring data could not be collected
for any reason."
::= { adslAtucPerfDataEntry 23 }
adslAtucPerfPrev1DayLofs OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Framing within the most recent previous
1-day period."
::= { adslAtucPerfDataEntry 24 }
adslAtucPerfPrev1DayLoss OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Signal within the most recent previous
1-day period."
::= { adslAtucPerfDataEntry 25 }
adslAtucPerfPrev1DayLols OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Link within the most recent previous
1-day period."
::= { adslAtucPerfDataEntry 26 }
adslAtucPerfPrev1DayLprs OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Power within the most recent previous
1-day period."
::= { adslAtucPerfDataEntry 27 }
The 1-day current group counts the same kinds of events, but across the current day, with Curr1DayTimeElapsed as the clock π°οΈ then the previous-day group adds Prev1DayMoniSecs, which tells you how long performance monitoring actually ran in the previous 1-day interval, plus the Lofs, Loss, Lols and Lprs counts for that period π it's giving organised, periodt π
okay so the first bit is the ATUC's previous-day counters π ESs means errored seconds, and Inits counts line initialization attempts, successful or not π
adslAtucPerfPrev1DayESs OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds within the most recent
previous 1-day period. The errored second parameter is
a count of one-second intervals containing one or more
crc anomalies, or one or more los or sef defects."
::= { adslAtucPerfDataEntry 28 }
adslAtucPerfPrev1DayInits OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the line initialization attempts in the most
recent previous 1-day period. Includes both successful
and failed attempts."
::= { adslAtucPerfDataEntry 29 }
next up: the ATUR side! π¦ This table gets one row for each ATUR, and the rows live under the ifEntries whose ifType is adsl(94) β¨
adslAturPerfDataTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAturPerfDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUR.
ADSL physical interfaces are
those ifEntries where ifType is equal to adsl(94)."
::= { adslMibObjects 7 }
adslAturPerfDataEntry OBJECT-TYPE
SYNTAX AdslAturPerfDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in adslAturPerfDataTable."
INDEX { ifIndex }
::= { adslAturPerfDataTable 1 }
AdslAturPerfDataEntry ::=
SEQUENCE {
adslAturPerfLofs Counter32,
adslAturPerfLoss Counter32,
adslAturPerfLprs Counter32,
adslAturPerfESs Counter32,
adslAturPerfValidIntervals INTEGER,
adslAturPerfInvalidIntervals INTEGER,
adslAturPerfCurr15MinTimeElapsed AdslPerfTimeElapsed,
adslAturPerfCurr15MinLofs PerfCurrentCount,
adslAturPerfCurr15MinLoss PerfCurrentCount,
adslAturPerfCurr15MinLprs PerfCurrentCount,
adslAturPerfCurr15MinESs PerfCurrentCount,
adslAturPerfCurr1DayTimeElapsed AdslPerfTimeElapsed,
adslAturPerfCurr1DayLofs AdslPerfCurrDayCount,
adslAturPerfCurr1DayLoss AdslPerfCurrDayCount,
adslAturPerfCurr1DayLprs AdslPerfCurrDayCount,
adslAturPerfCurr1DayESs AdslPerfCurrDayCount,
adslAturPerfPrev1DayMoniSecs INTEGER,
adslAturPerfPrev1DayLofs AdslPerfPrevDayCount,
adslAturPerfPrev1DayLoss AdslPerfPrevDayCount,
adslAturPerfPrev1DayLprs AdslPerfPrevDayCount,
adslAturPerfPrev1DayESs AdslPerfPrevDayCount
}
these are the raw event counters, the ones that just keep counting since the agent reset πΈ (the 15 minute interval stuff lives in adslAturIntervalTable, so peek there too!) π
-- Event (Raw) Counters
--
-- Also see adslAturIntervalTable for 15 minute interval
-- elapsed counters.
--
adslAturPerfLofs OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Loss of Framing failures since
agent reset."
::= { adslAturPerfDataEntry 1 }
adslAturPerfLoss OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Loss of Signal failures since
agent reset."
::= { adslAturPerfDataEntry 2 }
adslAturPerfLprs OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Loss of Power failures since
agent reset."
::= { adslAturPerfDataEntry 3 }
adslAturPerfESs OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of Errored Seconds since agent
reset. The errored second parameter is a count of
one-second intervals containing one or more crc
anomalies, or one or more los or sef defects."
::= { adslAturPerfDataEntry 4 }
general 15 min interval info time π§ these two tell you how many intervals have data, and how many are missing (proxies, I'm looking at you) π
-- general 15 min interval information
--
adslAturPerfValidIntervals OBJECT-TYPE
SYNTAX INTEGER(0..96)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of previous 15-minute intervals in the
interval table for which data was collected. Given
that <n> is the maximum # of intervals supported.
The value will be <n> unless the measurement was
(re-)started within the last (<n>*15) minutes, in which
case the value will be the number of complete 15
minute intervals for which the agent has at least
some data. In certain cases (e.g., in the case
where the agent is a proxy) it is possible that some
intervals are unavailable. In this case, this
interval is the maximum interval number for
which data is available."
::= { adslAturPerfDataEntry 5 }
adslAturPerfInvalidIntervals OBJECT-TYPE
SYNTAX INTEGER(0..96)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of intervals in the range from
0 to the value of adslAturPerfValidIntervals
for which no data is available. This object
will typically be zero except in cases where
the data for some intervals are not available
(e.g., in proxy situations)."
::= { adslAturPerfDataEntry 6 }
current 15 minute group π this is the live bucket that's still filling up β¨
-- 15 min current performance group
--
adslAturPerfCurr15MinTimeElapsed OBJECT-TYPE
SYNTAX AdslPerfTimeElapsed(0..899)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total elapsed seconds in this interval."
::= { adslAturPerfDataEntry 7 }
adslAturPerfCurr15MinLofs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the current 15 minute interval
when there was Loss of Framing."
::= { adslAturPerfDataEntry 8 }
adslAturPerfCurr15MinLoss OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the current 15 minute interval
when there was Loss of Signal."
::= { adslAturPerfDataEntry 9 }
adslAturPerfCurr15MinLprs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the current 15 minute interval
when there was Loss of Power."
::= { adslAturPerfDataEntry 10 }
adslAturPerfCurr15MinESs OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds in the current 15 minute
interval. The errored second parameter is a count of
one-second intervals containing one or more crc
anomalies, or one or more los or sef defects."
::= { adslAturPerfDataEntry 11 }
the 1-day current and previous groups are next, and yes, the day counters have their own whole vibe π π₯
-- 1-day current and previous performance group
--
adslAturPerfCurr1DayTimeElapsed OBJECT-TYPE
SYNTAX AdslPerfTimeElapsed(0..86399)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds that have elapsed since the
beginning of the current 1-day interval."
::= { adslAturPerfDataEntry 12 }
adslAturPerfCurr1DayLofs OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of seconds when there was Loss
of Framing during the current day as measured by
adslAturPerfCurr1DayTimeElapsed."
::= { adslAturPerfDataEntry 13 }
adslAturPerfCurr1DayLoss OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of seconds when there was Loss
of Signal during the current day as measured by
adslAturPerfCurr1DayTimeElapsed."
::= { adslAturPerfDataEntry 14 }
adslAturPerfCurr1DayLprs OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the number of seconds when there was Loss
of Power during the current day as measured by
adslAturPerfCurr1DayTimeElapsed."
::= { adslAturPerfDataEntry 15 }
adslAturPerfCurr1DayESs OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds during the current day as
measured by adslAturPerfCurr1DayTimeElapsed.
The errored second parameter is a count of
one-second intervals containing one or more crc
anomalies, or one or more los or sef defects."
::= { adslAturPerfDataEntry 16 }
adslAturPerfPrev1DayMoniSecs OBJECT-TYPE
SYNTAX INTEGER(0..86400)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time in the previous 1-day interval
over which the performance monitoring information
is actually counted. This value will be the same as
the interval duration except in a situation where
performance monitoring data could not be collected
for any reason."
::= { adslAturPerfDataEntry 17 }
adslAturPerfPrev1DayLofs OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Framing within the most recent previous
1-day period."
::= { adslAturPerfDataEntry 18 }
okay so this next bit is all about the performance counters bestie, the stuff that keeps track of what your line has been up to π π we've got the previous-1-day counts for the ATUR side, then the ATUC and ATUR interval tables (96 buckets, up to 24 hours back π), then the ATUC channel table kicking things off π¦
adslAturPerfPrev1DayLoss OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Signal within the most recent previous
1-day period."
::= { adslAturPerfDataEntry 19 }
adslAturPerfPrev1DayLprs OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Power within the most recent previous
1-day period."
::= { adslAturPerfDataEntry 20 }
adslAturPerfPrev1DayESs OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds within the most recent
previous 1-day period. The errored second parameter is
a count of one-second intervals containing one or more
crc anomalies, or one or more los or sef defects."
::= { adslAturPerfDataEntry 21 }
adslAtucIntervalTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAtucIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUC
performance data collection interval.
ADSL physical interfaces are
those ifEntries where ifType is equal to adsl(94)."
::= { adslMibObjects 8 }
adslAtucIntervalEntry OBJECT-TYPE
SYNTAX AdslAtucIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the adslAtucIntervalTable."
INDEX { ifIndex, adslAtucIntervalNumber }
::= { adslAtucIntervalTable 1 }
AdslAtucIntervalEntry ::=
SEQUENCE {
adslAtucIntervalNumber INTEGER,
adslAtucIntervalLofs PerfIntervalCount,
adslAtucIntervalLoss PerfIntervalCount,
adslAtucIntervalLols PerfIntervalCount,
adslAtucIntervalLprs PerfIntervalCount,
adslAtucIntervalESs PerfIntervalCount,
adslAtucIntervalInits PerfIntervalCount,
adslAtucIntervalValidData TruthValue
}
adslAtucIntervalNumber OBJECT-TYPE
SYNTAX INTEGER(1..96)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Performance Data Interval number 1 is the
the most recent previous interval; interval
96 is 24 hours ago. Intervals 2..96 are
optional."
::= { adslAtucIntervalEntry 1 }
adslAtucIntervalLofs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was Loss
of Framing."
::= { adslAtucIntervalEntry 2 }
adslAtucIntervalLoss OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was Loss
of Signal."
::= { adslAtucIntervalEntry 3 }
adslAtucIntervalLols OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was Loss
of Link."
::= { adslAtucIntervalEntry 4 }
adslAtucIntervalLprs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was Loss
of Power."
::= { adslAtucIntervalEntry 5 }
adslAtucIntervalESs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds in the interval.
The errored second parameter is a count of
one-second intervals containing one or more crc
anomalies, or one or more los or sef defects."
::= { adslAtucIntervalEntry 6 }
adslAtucIntervalInits OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the line initialization attempts
during the interval. Includes both successful
and failed attempts."
::= { adslAtucIntervalEntry 7 }
adslAtucIntervalValidData OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable indicates if the data for this
interval is valid."
::= { adslAtucIntervalEntry 8 }
adslAturIntervalTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAturIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUR
performance data collection interval.
ADSL physical interfaces are those
ifEntries where ifType is equal to adsl(94)."
::= { adslMibObjects 9 }
adslAturIntervalEntry OBJECT-TYPE
SYNTAX AdslAturIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the adslAturIntervalTable."
INDEX { ifIndex, adslAturIntervalNumber }
::= { adslAturIntervalTable 1 }
AdslAturIntervalEntry ::=
SEQUENCE {
adslAturIntervalNumber INTEGER,
adslAturIntervalLofs PerfIntervalCount,
adslAturIntervalLoss PerfIntervalCount,
adslAturIntervalLprs PerfIntervalCount,
adslAturIntervalESs PerfIntervalCount,
adslAturIntervalValidData TruthValue
}
adslAturIntervalNumber OBJECT-TYPE
SYNTAX INTEGER(1..96)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Performance Data Interval number 1 is the
the most recent previous interval; interval
96 is 24 hours ago. Intervals 2..96 are
optional."
::= { adslAturIntervalEntry 1 }
adslAturIntervalLofs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Framing."
::= { adslAturIntervalEntry 2 }
adslAturIntervalLoss OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Signal."
::= { adslAturIntervalEntry 3 }
adslAturIntervalLprs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of seconds in the interval when there was
Loss of Power."
::= { adslAturIntervalEntry 4 }
adslAturIntervalESs OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds in the interval.
The errored second parameter is a count of
one-second intervals containing one or more crc
anomalies, or one or more los or sef defects."
::= { adslAturIntervalEntry 5 }
adslAturIntervalValidData OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable indicates if the data for this
interval is valid."
::= { adslAturIntervalEntry 6 }
adslAtucChanPerfDataTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAtucChanPerfDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUC channel.
ADSL channel interfaces are those ifEntries
where ifType is equal to adslInterleave(124)
or adslFast(125)."
::= { adslMibObjects 10 }
adslAtucChanPerfDataEntry OBJECT-TYPE
SYNTAX AdslAtucChanPerfDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in adslAtucChanPerfDataTable."
INDEX { ifIndex }
::= { adslAtucChanPerfDataTable 1 }
Okay bestie, this is where the ATUC channel gets its whole performance report card πβ¨ The Entry is the row, and every column in it is a counter or a timer, so let's go through it step by step π
AdslAtucChanPerfDataEntry ::=
SEQUENCE {
adslAtucChanReceivedBlks Counter32,
adslAtucChanTransmittedBlks Counter32,
adslAtucChanCorrectedBlks Counter32,
adslAtucChanUncorrectBlks Counter32,
adslAtucChanPerfValidIntervals INTEGER,
adslAtucChanPerfInvalidIntervals INTEGER,
adslAtucChanPerfCurr15MinTimeElapsed AdslPerfTimeElapsed,
adslAtucChanPerfCurr15MinReceivedBlks PerfCurrentCount,
adslAtucChanPerfCurr15MinTransmittedBlks PerfCurrentCount,
adslAtucChanPerfCurr15MinCorrectedBlks PerfCurrentCount,
adslAtucChanPerfCurr15MinUncorrectBlks PerfCurrentCount,
adslAtucChanPerfCurr1DayTimeElapsed AdslPerfTimeElapsed,
adslAtucChanPerfCurr1DayReceivedBlks AdslPerfCurrDayCount,
adslAtucChanPerfCurr1DayTransmittedBlks AdslPerfCurrDayCount,
adslAtucChanPerfCurr1DayCorrectedBlks AdslPerfCurrDayCount,
adslAtucChanPerfCurr1DayUncorrectBlks AdslPerfCurrDayCount,
adslAtucChanPerfPrev1DayMoniSecs INTEGER,
adslAtucChanPerfPrev1DayReceivedBlks AdslPerfPrevDayCount,
adslAtucChanPerfPrev1DayTransmittedBlks AdslPerfPrevDayCount,
adslAtucChanPerfPrev1DayCorrectedBlks AdslPerfPrevDayCount,
adslAtucChanPerfPrev1DayUncorrectBlks AdslPerfPrevDayCount
}
-- performance group
--
-- Note: block is intended to be the length of the channel
-- data-block on which the CRC operates. See
-- adslAtucChanCrcBlockLength for more information.
--
adslAtucChanReceivedBlks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this channel
since agent reset."
::= { adslAtucChanPerfDataEntry 1 }
adslAtucChanTransmittedBlks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel since agent reset."
::= { adslAtucChanPerfDataEntry 2 }
adslAtucChanCorrectedBlks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected since agent reset. These blocks are passed
on as good data."
::= { adslAtucChanPerfDataEntry 3 }
adslAtucChanUncorrectBlks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors since agent reset."
::= { adslAtucChanPerfDataEntry 4 }
So the first four columns are the lifetime totals since the agent was reset πΈ Received, transmitted, corrected and uncorrectable blocks, all counted up from the reset. Corrected blocks are the ones that had errors but got fixed, and they're passed on as good data π«Ά
-- general 15 min interval information
--
adslAtucChanPerfValidIntervals OBJECT-TYPE
SYNTAX INTEGER(0..96)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of previous 15-minute intervals in the
interval table for which data was collected. Given
that <n> is the maximum # of intervals supported.
The value will be <n> unless the measurement was
(re-)started within the last (<n>*15) minutes, in which
case the value will be the number of complete 15
minute intervals for which the agent has at least
some data. In certain cases (e.g., in the case
where the agent is a proxy) it is possible that some
intervals are unavailable. In this case, this
interval is the maximum interval number for
which data is available."
::= { adslAtucChanPerfDataEntry 5 }
adslAtucChanPerfInvalidIntervals OBJECT-TYPE
SYNTAX INTEGER(0..96)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of intervals in the range from
0 to the value of adslAtucChanPerfValidIntervals
for which no data is available. This object
will typically be zero except in cases where
the data for some intervals are not available
(e.g., in proxy situations)."
::= { adslAtucChanPerfDataEntry 6 }
Now the 15-minute interval stuff π The valid intervals column is a 0 to 96 count, which makes sense because 96 quarter-hours is a full day π§ The invalid one counts the intervals in that range that have no data, and it's usually zero unless something like a proxy is hiding some of them π
-- 15 min current performance group
--
adslAtucChanPerfCurr15MinTimeElapsed OBJECT-TYPE
SYNTAX AdslPerfTimeElapsed(0..899)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total elapsed seconds in this interval."
::= { adslAtucChanPerfDataEntry 7 }
adslAtucChanPerfCurr15MinReceivedBlks OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this channel
within the current 15 minute interval."
::= { adslAtucChanPerfDataEntry 8 }
adslAtucChanPerfCurr15MinTransmittedBlks OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel within the current 15 minute interval."
::= { adslAtucChanPerfDataEntry 9 }
adslAtucChanPerfCurr15MinCorrectedBlks OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected on this channel within the current 15 minute
interval."
::= { adslAtucChanPerfDataEntry 10 }
adslAtucChanPerfCurr15MinUncorrectBlks OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors on this channel within the current 15 minute
interval."
::= { adslAtucChanPerfDataEntry 11 }
Next up is the current 15-minute group, which is the live scoreboard for the interval you're in right now π₯ It has its own elapsed-seconds timer that tops out at 899, plus the same four block counters, just scoped to this one quarter-hour π
-- 1-day current and previous performance group
--
adslAtucChanPerfCurr1DayTimeElapsed OBJECT-TYPE
SYNTAX AdslPerfTimeElapsed(0..86399)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds that have elapsed since the
beginning of the current 1-day interval."
::= { adslAtucChanPerfDataEntry 12 }
adslAtucChanPerfCurr1DayReceivedBlks OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this
channel during the current day as measured by
adslAtucChanPerfCurr1DayTimeElapsed."
::= { adslAtucChanPerfDataEntry 13 }
adslAtucChanPerfCurr1DayTransmittedBlks OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel during the current day as measured by
adslAtucChanPerfCurr1DayTimeElapsed."
::= { adslAtucChanPerfDataEntry 14 }
adslAtucChanPerfCurr1DayCorrectedBlks OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected on this channel during the current day as
measured by adslAtucChanPerfCurr1DayTimeElapsed."
::= { adslAtucChanPerfDataEntry 15 }
adslAtucChanPerfCurr1DayUncorrectBlks OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors on this channel during the current day as
measured by adslAtucChanPerfCurr1DayTimeElapsed."
::= { adslAtucChanPerfDataEntry 16 }
adslAtucChanPerfPrev1DayMoniSecs OBJECT-TYPE
SYNTAX INTEGER(0..86400)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time in the previous 1-day interval
over which the performance monitoring information
is actually counted. This value will be the same as
the interval duration except in a situation where
performance monitoring data could not be collected
for any reason."
::= { adslAtucChanPerfDataEntry 17 }
adslAtucChanPerfPrev1DayReceivedBlks OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this
channel within the most recent previous 1-day
period."
::= { adslAtucChanPerfDataEntry 18 }
adslAtucChanPerfPrev1DayTransmittedBlks OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel within the most recent previous 1-day
period."
::= { adslAtucChanPerfDataEntry 19 }
adslAtucChanPerfPrev1DayCorrectedBlks OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected on this channel within the most recent
previous 1-day period."
::= { adslAtucChanPerfDataEntry 20 }
adslAtucChanPerfPrev1DayUncorrectBlks OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors on this channel within the most recent previous
1-day period."
::= { adslAtucChanPerfDataEntry 21 }
And then we've got the day-sized views π There's a current-day group with its own seconds timer (counting up to 86399, so basically a whole day), and a previous-day group that adds a monitored-seconds column so you can see how long the data was actually collected for π¦ Same four counters in each, just on a bigger timeline π
adslAturChanPerfDataTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAturChanPerfDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUR channel.
ADSL channel interfaces are those ifEntries
where ifType is equal to adslInterleave(124)
or adslFast(125)."
::= { adslMibObjects 11 }
Okay bestie, this is the ATU-R channel performance row π
Every counter here is indexed by ifIndex, and each one is tracked for the current 15-minute interval, the current day, and the previous day π¦
adslAturChanPerfDataEntry OBJECT-TYPE
SYNTAX AdslAturChanPerfDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in adslAturChanPerfDataTable."
INDEX { ifIndex }
::= { adslAturChanPerfDataTable 1 }
AdslAturChanPerfDataEntry ::=
SEQUENCE {
adslAturChanReceivedBlks Counter32,
adslAturChanTransmittedBlks Counter32,
adslAturChanCorrectedBlks Counter32,
adslAturChanUncorrectBlks Counter32,
adslAturChanPerfValidIntervals INTEGER,
adslAturChanPerfInvalidIntervals INTEGER,
adslAturChanPerfCurr15MinTimeElapsed AdslPerfTimeElapsed,
adslAturChanPerfCurr15MinReceivedBlks PerfCurrentCount,
adslAturChanPerfCurr15MinTransmittedBlks PerfCurrentCount,
adslAturChanPerfCurr15MinCorrectedBlks PerfCurrentCount,
adslAturChanPerfCurr15MinUncorrectBlks PerfCurrentCount,
adslAturChanPerfCurr1DayTimeElapsed AdslPerfTimeElapsed,
adslAturChanPerfCurr1DayReceivedBlks AdslPerfCurrDayCount,
adslAturChanPerfCurr1DayTransmittedBlks AdslPerfCurrDayCount,
adslAturChanPerfCurr1DayCorrectedBlks AdslPerfCurrDayCount,
adslAturChanPerfCurr1DayUncorrectBlks AdslPerfCurrDayCount,
adslAturChanPerfPrev1DayMoniSecs INTEGER,
adslAturChanPerfPrev1DayReceivedBlks AdslPerfPrevDayCount,
adslAturChanPerfPrev1DayTransmittedBlks AdslPerfPrevDayCount,
adslAturChanPerfPrev1DayCorrectedBlks AdslPerfPrevDayCount,
adslAturChanPerfPrev1DayUncorrectBlks AdslPerfPrevDayCount
}
-- performance group
--
-- Note: block is intended to be the length of the channel
-- data-block on which the CRC operates. See
-- adslAturChanCrcBlockLength for more information.
--
Okay so the block-count stuff comes first, and there's a little note saying "block" means the channel data-block the CRC runs over, so go look at adslAturChanCrcBlockLength if you want the details π§
adslAturChanReceivedBlks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this channel
since agent reset."
::= { adslAturChanPerfDataEntry 1 }
adslAturChanTransmittedBlks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel since agent reset."
::= { adslAturChanPerfDataEntry 2 }
adslAturChanCorrectedBlks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected since agent reset. These blocks are passed
on as good data."
::= { adslAturChanPerfDataEntry 3 }
adslAturChanUncorrectBlks OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors since agent reset."
::= { adslAturChanPerfDataEntry 4 }
These four are the lifetime totals, all counted from the last agent reset. Received, transmitted, corrected, and uncorrectable π The corrected ones are the fixed-up blocks that get passed on as good data, which is kind of iconic ngl β¨
-- general 15 min interval information
--
adslAturChanPerfValidIntervals OBJECT-TYPE
SYNTAX INTEGER(0..96)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of previous 15-minute intervals in the
interval table for which data was collected. Given
that <n> is the maximum # of intervals supported.
The value will be <n> unless the measurement was
(re-)started within the last (<n>*15) minutes, in which
case the value will be the number of complete 15
minute intervals for which the agent has at least
some data. In certain cases (e.g., in the case
where the agent is a proxy) it is possible that some
intervals are unavailable. In this case, this
interval is the maximum interval number for
which data is available."
::= { adslAturChanPerfDataEntry 5 }
adslAturChanPerfInvalidIntervals OBJECT-TYPE
SYNTAX INTEGER(0..96)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of intervals in the range from
0 to the value of adslAturChanPerfValidIntervals
for which no data is available. This object
will typically be zero except in cases where
the data for some intervals are not available
(e.g., in proxy situations)."
::= { adslAturChanPerfDataEntry 6 }
Now the interval bookkeeping, which is lowkey the most dramatic part π adslAturChanPerfValidIntervals tells you how many previous 15-minute intervals have data, and it can be less than the max if the measurement was (re-)started recently. It can also be a bit weird in proxy setups where some intervals just aren't there. adslAturChanPerfInvalidIntervals counts the gaps inside that range where there's no data, and it's usually zero πΈ
-- 15 min current performance group
--
adslAturChanPerfCurr15MinTimeElapsed OBJECT-TYPE
SYNTAX AdslPerfTimeElapsed(0..899)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total elapsed seconds in this interval.
A full interval is 900 seconds."
::= { adslAturChanPerfDataEntry 7 }
adslAturChanPerfCurr15MinReceivedBlks OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this
channel within the current 15 minute interval."
::= { adslAturChanPerfDataEntry 8 }
adslAturChanPerfCurr15MinTransmittedBlks OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel within the current 15 minute interval."
::= { adslAturChanPerfDataEntry 9 }
adslAturChanPerfCurr15MinCorrectedBlks OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected on this channel within the current 15 minute
interval."
::= { adslAturChanPerfDataEntry 10 }
adslAturChanPerfCurr15MinUncorrectBlks OBJECT-TYPE
SYNTAX PerfCurrentCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors on this channel within the current 15 minute
interval."
::= { adslAturChanPerfDataEntry 11 }
Here's the live 15-minute view π The elapsed-seconds object goes from 0 to 899, and a full interval is 900 seconds. The other four track received, transmitted, corrected, and uncorrectable blocks, but only inside the current window β¨
-- 1-day current and previous performance group
--
adslAturChanPerfCurr1DayTimeElapsed OBJECT-TYPE
SYNTAX AdslPerfTimeElapsed(0..86399)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds that have elapsed since the
beginning of the current 1-day interval."
::= { adslAturChanPerfDataEntry 12 }
adslAturChanPerfCurr1DayReceivedBlks OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this
channel during the current day as measured by
adslAturChanPerfCurr1DayTimeElapsed."
::= { adslAturChanPerfDataEntry 13 }
adslAturChanPerfCurr1DayTransmittedBlks OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel during the current day as measured by
adslAturChanPerfCurr1DayTimeElapsed."
::= { adslAturChanPerfDataEntry 14 }
adslAturChanPerfCurr1DayCorrectedBlks OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected on this channel during the current day as
measured by adslAturChanPerfCurr1DayTimeElapsed."
::= { adslAturChanPerfDataEntry 15 }
adslAturChanPerfCurr1DayUncorrectBlks OBJECT-TYPE
SYNTAX AdslPerfCurrDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors on this channel during the current day as
measured by adslAturChanPerfCurr1DayTimeElapsed."
::= { adslAturChanPerfDataEntry 16 }
Zooming out to the current day π adslAturChanPerfCurr1DayTimeElapsed is the clock for this section, counting seconds since the day started, from 0 up to 86399. All four day counters are measured against that clock, so they stay in sync with it π«Ά
adslAturChanPerfPrev1DayMoniSecs OBJECT-TYPE
SYNTAX INTEGER(0..86400)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time in the previous 1-day interval
over which the performance monitoring information
is actually counted. This value will be the same as
the interval duration except in a situation where
performance monitoring data could not be collected
for any reason."
::= { adslAturChanPerfDataEntry 17 }
adslAturChanPerfPrev1DayReceivedBlks OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this
channel within the most recent previous 1-day
period."
::= { adslAturChanPerfDataEntry 18 }
adslAturChanPerfPrev1DayTransmittedBlks OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel within the most recent previous 1-day
period."
::= { adslAturChanPerfDataEntry 19 }
adslAturChanPerfPrev1DayCorrectedBlks OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected on this channel within the most recent
previous 1-day period."
::= { adslAturChanPerfDataEntry 20 }
adslAturChanPerfPrev1DayUncorrectBlks OBJECT-TYPE
SYNTAX AdslPerfPrevDayCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors on this channel within the most recent previous
1-day period."
::= { adslAturChanPerfDataEntry 21 }
Last but not least, the previous-day snapshot π adslAturChanPerfPrev1DayMoniSecs says how many seconds actually got monitored in that day. It's usually the full 86400, but it can come in lower if monitoring couldn't run for some reason. The four previous-day counters cover the most recent full day, and that's the whole row, bestie ππ¦
Okay so the ATUC and ATUR channel interval tables are giving full data-collection energy πβ¨ Each one tracks blocks per interval, and it's all indexed by ifIndex and an interval number π
adslAtucChanIntervalTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAtucChanIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUC channel's
performance data collection interval.
ADSL channel interfaces are those ifEntries
where ifType is equal to adslInterleave(124)
or adslFast(125)."
::= { adslMibObjects 12 }
adslAtucChanIntervalEntry OBJECT-TYPE
SYNTAX AdslAtucChanIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the adslAtucIntervalTable."
INDEX { ifIndex, adslAtucChanIntervalNumber }
::= { adslAtucChanIntervalTable 1 }
AdslAtucChanIntervalEntry ::=
SEQUENCE {
adslAtucChanIntervalNumber INTEGER,
adslAtucChanIntervalReceivedBlks PerfIntervalCount,
adslAtucChanIntervalTransmittedBlks PerfIntervalCount,
adslAtucChanIntervalCorrectedBlks PerfIntervalCount,
adslAtucChanIntervalUncorrectBlks PerfIntervalCount,
adslAtucChanIntervalValidData TruthValue
}
adslAtucChanIntervalNumber OBJECT-TYPE
SYNTAX INTEGER(1..96)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Performance Data Interval number 1 is the
the most recent previous interval; interval
96 is 24 hours ago. Intervals 2..96 are
optional."
::= { adslAtucChanIntervalEntry 1 }
adslAtucChanIntervalReceivedBlks OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this channel
during this interval."
::= { adslAtucChanIntervalEntry 2 }
adslAtucChanIntervalTransmittedBlks OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel during this interval."
::= { adslAtucChanIntervalEntry 3 }
adslAtucChanIntervalCorrectedBlks OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected on this channel during this interval."
::= { adslAtucChanIntervalEntry 4 }
adslAtucChanIntervalUncorrectBlks OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors on this channel during this interval."
::= { adslAtucChanIntervalEntry 5 }
adslAtucChanIntervalValidData OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable indicates if the data for this
interval is valid."
::= { adslAtucChanIntervalEntry 6 }
adslAturChanIntervalTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslAturChanIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each ATUR channel's
performance data collection interval.
ADSL channel interfaces are those ifEntries
where ifType is equal to adslInterleave(124)
or adslFast(125)."
::= { adslMibObjects 13 }
adslAturChanIntervalEntry OBJECT-TYPE
SYNTAX AdslAturChanIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "An entry in the adslAturIntervalTable."
INDEX { ifIndex, adslAturChanIntervalNumber }
::= { adslAturChanIntervalTable 1 }
AdslAturChanIntervalEntry ::=
SEQUENCE {
adslAturChanIntervalNumber INTEGER,
adslAturChanIntervalReceivedBlks PerfIntervalCount,
adslAturChanIntervalTransmittedBlks PerfIntervalCount,
adslAturChanIntervalCorrectedBlks PerfIntervalCount,
adslAturChanIntervalUncorrectBlks PerfIntervalCount,
adslAturChanIntervalValidData TruthValue
}
adslAturChanIntervalNumber OBJECT-TYPE
SYNTAX INTEGER(1..96)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Performance Data Interval number 1 is the
the most recent previous interval; interval
96 is 24 hours ago. Intervals 2..96 are
optional."
::= { adslAturChanIntervalEntry 1 }
adslAturChanIntervalReceivedBlks OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks received on this channel
during this interval."
::= { adslAturChanIntervalEntry 2 }
adslAturChanIntervalTransmittedBlks OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all encoded blocks transmitted on this
channel during this interval."
::= { adslAturChanIntervalEntry 3 }
adslAturChanIntervalCorrectedBlks OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with errors that were
corrected on this channel during this interval."
::= { adslAturChanIntervalEntry 4 }
adslAturChanIntervalUncorrectBlks OBJECT-TYPE
SYNTAX PerfIntervalCount
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of all blocks received with uncorrectable
errors on this channel during this interval."
::= { adslAturChanIntervalEntry 5 }
adslAturChanIntervalValidData OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable indicates if the data for this
interval is valid."
::= { adslAturChanIntervalEntry 6 }
Next up is the profile group π The line configuration profile table is where the managers' presets live, and it's honestly so iconic. There's a whole default profile story with DEFVAL and naming rules that depend on whether the profiles are dynamic or static π«Ά
-- Profile Group
--
adslLineConfProfileTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslLineConfProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains information on the ADSL line
configuration. One entry in this table reflects a
profile defined by a manager which can be used to
configure the ADSL line."
::= { adslMibObjects 14}
adslLineConfProfileEntry OBJECT-TYPE
SYNTAX AdslLineConfProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry consists of a list of parameters that
represents the configuration of an ADSL modem.
When `dynamic' profiles are implemented, a default
profile will always exist. This profile's name will
be set to `DEFVAL' and its parameters will be set
to vendor specific values, unless otherwise specified
in this document.
When `static' profiles are implemented, profiles
are automaticly created or destroyed as ADSL
physical lines are discovered and removed by
the system. The name of the profile will be
equivalent to the decimal value of the line's
interface index.
"
INDEX { IMPLIED adslLineConfProfileName}
::= { adslLineConfProfileTable 1}
AdslLineConfProfileEntry ::=
SEQUENCE {
adslLineConfProfileName SnmpAdminString,
adslAtucConfRateMode INTEGER,
adslAtucConfRateChanRatio INTEGER,
adslAtucConfTargetSnrMgn INTEGER,
adslAtucConfMaxSnrMgn INTEGER,
adslAtucConfMinSnrMgn INTEGER,
adslAtucConfDownshiftSnrMgn INTEGER,
adslAtucConfUpshiftSnrMgn INTEGER,
adslAtucConfMinUpshiftTime INTEGER,
adslAtucConfMinDownshiftTime INTEGER,
adslAtucChanConfFastMinTxRate Unsigned32,
adslAtucChanConfInterleaveMinTxRate Unsigned32,
adslAtucChanConfFastMaxTxRate Unsigned32,
adslAtucChanConfInterleaveMaxTxRate Unsigned32,
adslAtucChanConfMaxInterleaveDelay INTEGER,
adslAturConfRateMode INTEGER,
adslAturConfRateChanRatio INTEGER,
adslAturConfTargetSnrMgn INTEGER,
adslAturConfMaxSnrMgn INTEGER,
adslAturConfMinSnrMgn INTEGER,
adslAturConfDownshiftSnrMgn INTEGER,
adslAturConfUpshiftSnrMgn INTEGER,
adslAturConfMinUpshiftTime INTEGER,
adslAturConfMinDownshiftTime INTEGER,
adslAturChanConfFastMinTxRate Unsigned32,
adslAturChanConfInterleaveMinTxRate Unsigned32,
adslAturChanConfFastMaxTxRate Unsigned32,
adslAturChanConfInterleaveMaxTxRate Unsigned32,
adslAturChanConfMaxInterleaveDelay INTEGER,
adslLineConfProfileRowStatus RowStatus
}
adslLineConfProfileName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object is used by the line configuration table
in order to identify a row of this table.
When `dynamic' profiles are implemented, the profile
name is user specified. Also, the system will always
provide a default profile whose name is `DEFVAL'.
When `static' profiles are implemented, there is an
one-to-one relationship between each line and its
profile. In which case, the profile name will
need to algorithmicly represent the Line's ifIndex.
Therefore, the profile's name is a decimalized string
of the ifIndex that is fixed-length (i.e., 10) with
leading zero(s). For example, the profile name for
ifIndex which equals '15' will be '0000000015'."
::= { adslLineConfProfileEntry 1 }
okay so bestie, this is the part where we get into the actual knobs π Every object below is a read-create setting, which means you can configure it, and each one gets its own little slot in the profile entry. The numbers after ::= are the exact positions, so they don't move. π
adslAtucConfRateMode OBJECT-TYPE
SYNTAX INTEGER {
fixed (1), -- no rate adaptation
adaptAtStartup (2), -- perform rate adaptation
-- only at initialization
adaptAtRuntime (3) -- perform rate adaptation at
-- any time
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Defines what form of transmit rate adaptation is
configured on this modem. See ADSL Forum TR-005 [3]
for more information."
::= { adslLineConfProfileEntry 2 }
adslAtucConfRateChanRatio OBJECT-TYPE
SYNTAX INTEGER(0..100)
UNITS "%"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured allocation ratio of excess transmit
bandwidth between fast and interleaved channels. Only
applies when two channel mode and RADSL are supported.
Distribute bandwidth on each channel in excess of the
corresponding ChanConfMinTxRate so that:
adslAtucConfRateChanRatio =
[Fast / (Fast + Interleaved)] * 100
In other words this value is the fast channel
percentage."
::= { adslLineConfProfileEntry 3 }
adslAtucConfTargetSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Target Signal/Noise Margin.
This is the Noise Margin the modem must achieve
with a BER of 10-7 or better to successfully complete
initialization."
::= { adslLineConfProfileEntry 4 }
adslAtucConfMaxSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Maximum acceptable Signal/Noise Margin.
If the Noise Margin is above this the modem should
attempt to reduce its power output to optimize its
operation."
::= { adslLineConfProfileEntry 5 }
adslAtucConfMinSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Minimum acceptable Signal/Noise Margin.
If the noise margin falls below this level, the modem
should attempt to increase its power output. If that
is not possible the modem will attempt to
re-initialize or shut down."
::= { adslLineConfProfileEntry 6 }
adslAtucConfDownshiftSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Signal/Noise Margin for rate downshift.
If the noise margin falls below this level, the modem
should attempt to decrease its transmit rate. In
the case that RADSL mode is not present,
the value will be `0'."
::= { adslLineConfProfileEntry 7 }
adslAtucConfUpshiftSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Signal/Noise Margin for rate upshift.
If the noise margin rises above this level, the modem
should attempt to increase its transmit rate. In
the case that RADSL is not present, the value will
be `0'."
::= { adslLineConfProfileEntry 8 }
adslAtucConfMinUpshiftTime OBJECT-TYPE
SYNTAX INTEGER(0..16383)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Minimum time that the current margin is above
UpshiftSnrMgn before an upshift occurs.
In the case that RADSL is not present, the value will
be `0'."
::= { adslLineConfProfileEntry 9 }
adslAtucConfMinDownshiftTime OBJECT-TYPE
SYNTAX INTEGER(0..16383)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Minimum time that the current margin is below
DownshiftSnrMgn before a downshift occurs.
In the case that RADSL mode is not present,
the value will be `0'."
::= { adslLineConfProfileEntry 10 }
adslAtucChanConfFastMinTxRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Minimum Transmit rate for `Fast' channels,
in bps. See adslAtucConfRateChanRatio for information
regarding RADSL mode and ATUR transmit rate for
ATUC receive rates."
::= { adslLineConfProfileEntry 11 }
adslAtucChanConfInterleaveMinTxRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Minimum Transmit rate for `Interleave'
channels, in bps. See adslAtucConfRateChanRatio for
information regarding RADSL mode and see
ATUR transmit rate for receive rates."
::= { adslLineConfProfileEntry 12 }
adslAtucChanConfFastMaxTxRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Maximum Transmit rate for `Fast' channels,
in bps. See adslAtucConfRateChanRatio for information
regarding RADSL mode and see ATUR transmit rate for
ATUC receive rates."
::= { adslLineConfProfileEntry 13 }
adslAtucChanConfInterleaveMaxTxRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Maximum Transmit rate for `Interleave'
channels, in bps. See adslAtucConfRateChanRatio for
information regarding RADSL mode and ATUR transmit
rate for ATUC receive rates."
::= { adslLineConfProfileEntry 14 }
adslAtucChanConfMaxInterleaveDelay OBJECT-TYPE
SYNTAX INTEGER(0..255)
UNITS "milli-seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured maximum Interleave Delay for this channel.
Interleave delay applies only to the interleave channel
and defines the mapping (relative spacing) between
subsequent input bytes at the interleaver input and
their placement in the bit stream at the interleaver
output. Larger numbers provide greater separation
between consecutive input bytes in the output bit
stream allowing for improved impulse noise immunity
at the expense of payload latency."
::= { adslLineConfProfileEntry 15 }
okay the ATUR side is next and it's basically the same vibe π¦ Same knobs, same descriptions, just a different set of object names and slot numbers starting at 16. Lowkey iconic that they're mirrored like that β¨
adslAturConfRateMode OBJECT-TYPE
SYNTAX INTEGER {
fixed (1), -- no rate adaptation
adaptAtStartup (2), -- perform rate adaptation
-- only at initialization
adaptAtRuntime (3) -- perform rate adaptation at
-- any time
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Defines what form of transmit rate adaptation is
configured on this modem. See ADSL Forum TR-005 [3]
for more information."
::= { adslLineConfProfileEntry 16 }
adslAturConfRateChanRatio OBJECT-TYPE
SYNTAX INTEGER(0..100)
UNITS "%"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured allocation ratio of excess transmit
bandwidth between fast and interleaved channels. Only
applies when two channel mode and RADSL are supported.
Distribute bandwidth on each channel in excess of the
corresponding ChanConfMinTxRate so that:
adslAturConfRateChanRatio =
[Fast / (Fast + Interleaved)] * 100
In other words this value is the fast channel
percentage."
::= { adslLineConfProfileEntry 17 }
adslAturConfTargetSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Target Signal/Noise Margin.
This is the Noise Margin the modem must achieve
with a BER of 10-7 or better to successfully complete
initialization."
::= { adslLineConfProfileEntry 18 }
adslAturConfMaxSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Maximum acceptable Signal/Noise Margin.
If the Noise Margin is above this the modem should
attempt to reduce its power output to optimize its
operation."
::= { adslLineConfProfileEntry 19 }
adslAturConfMinSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Minimum acceptable Signal/Noise Margin.
If the noise margin falls below this level, the modem
should attempt to increase its power output. If that
is not possible the modem will attempt to
re-initialize or shut down."
::= { adslLineConfProfileEntry 20 }
adslAturConfDownshiftSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Signal/Noise Margin for rate downshift.
If the noise margin falls below this level, the modem
should attempt to decrease its transmit rate.
In the case that RADSL mode is not present,
the value will be `0'."
::= { adslLineConfProfileEntry 21 }
Okay bestie, we're still in the MIB definitions and this chunk is giving rate-and-margin drama πβ¨
adslAturConfUpshiftSnrMgn OBJECT-TYPE
SYNTAX INTEGER (0..310)
UNITS "tenth dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Signal/Noise Margin for rate upshift.
If the noise margin rises above this level, the modem
should attempt to increase its transmit rate.
In the case that RADSL is not present,
the value will be `0'."
::= { adslLineConfProfileEntry 22 }
adslAturConfMinUpshiftTime OBJECT-TYPE
SYNTAX INTEGER(0..16383)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Minimum time that the current margin is above
UpshiftSnrMgn before an upshift occurs.
In the case that RADSL is not present, the value will
be `0'."
::= { adslLineConfProfileEntry 23 }
adslAturConfMinDownshiftTime OBJECT-TYPE
SYNTAX INTEGER(0..16383)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Minimum time that the current margin is below
DownshiftSnrMgn before a downshift occurs.
In the case that RADSL mode is not present,
the value will be `0'."
::= { adslLineConfProfileEntry 24 }
So the upshift stuff is basically the modem saying "okay, the margin has been high long enough, time to speed up," and the downshift timer is the mirror image for slowing down π¦ The 0 thing when RADSL isn't around is a total "not applicable, babe" moment π
adslAturChanConfFastMinTxRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Minimum Transmit rate for `Fast' channels,
in bps. See adslAturConfRateChanRatio for information
regarding RADSL mode and ATUC transmit rate
for ATUR receive rates."
::= { adslLineConfProfileEntry 25 }
adslAturChanConfInterleaveMinTxRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Minimum Transmit rate for `Interleave'
channels, in bps. See adslAturConfRateChanRatio for
information regarding RADSL mode and ATUC transmit rate
for ATUR receive rates."
::= { adslLineConfProfileEntry 26 }
adslAturChanConfFastMaxTxRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Maximum Transmit rate for `Fast' channels,
in bps. See adslAturConfRateChanRatio for information
regarding RADSL mode and ATUC transmit rate
for ATUR receive rates."
::= { adslLineConfProfileEntry 27 }
adslAturChanConfInterleaveMaxTxRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured Maximum Transmit rate for `Interleave'
channels, in bps. See adslAturConfRateChanRatio for
information regarding RADSL mode and see
ATUC transmit rate for ATUR receive rates."
::= { adslLineConfProfileEntry 28 }
Now the four rate knobs: min and max for both the Fast and Interleave channels π They all point back at adslAturConfRateChanRatio, so that one's basically the main character of this whole section π
adslAturChanConfMaxInterleaveDelay OBJECT-TYPE
SYNTAX INTEGER(0..255)
UNITS "milli-seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Configured maximum Interleave Delay for this channel.
Interleave delay applies only to the interleave channel
and defines the mapping (relative spacing) between
subsequent input bytes at the interleaver input and
their placement in the bit stream at the interleaver
output. Larger numbers provide greater separation
between consecutive input bytes in the output bit
stream allowing for improved impulse noise immunity
at the expense of payload latency."
::= { adslLineConfProfileEntry 29 }
adslLineConfProfileRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object is used to create a new row or modify or
delete an existing row in this table.
A profile activated by setting this object to
`active'. When `active' is set, the system
will validate the profile.
Before a profile can be deleted or taken out of
service, (by setting this object to `destroy' or
`outOfService') it must be first unreferenced
from all associated lines.
If the implementator of this MIB has chosen not
to implement `dynamic assignment' of profiles, this
object's MIN-ACCESS is read-only and its value
is always to be `active'."
::= { adslLineConfProfileEntry 30 }
The interleave delay one is a trade-off, babe. More spacing between bytes gets you better impulse noise immunity, but the payload pays for it in latency π And the RowStatus thing is how you create, activate, or kill a profile, but you can't delete one while lines are still using it π«
Next up: the whole alarm profile table, which is where the trap thresholds live π
adslLineAlarmConfProfileTable OBJECT-TYPE
SYNTAX SEQUENCE OF AdslLineAlarmConfProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains information on the ADSL line
configuration. One entry in this table reflects a
profile defined by a manager which can be used to
configure the modem for a physical line"
::= { adslMibObjects 15}
adslLineAlarmConfProfileEntry OBJECT-TYPE
SYNTAX AdslLineAlarmConfProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry consists of a list of parameters that
represents the configuration of an ADSL modem.
When `dynamic' profiles are implemented, a default
profile will always exist. This profile's name will
be set to `DEFVAL' and its parameters will be set to
vendor specific values, unless otherwise specified
in this document.
When `static' profiles are implemented, profiles
are automaticly created or destroyed as ADSL
physical lines are discovered and removed by
the system. The name of the profile will be
equivalent to the decimal value of the line's
interface index.
"
INDEX { IMPLIED adslLineAlarmConfProfileName}
::= { adslLineAlarmConfProfileTable 1}
AdslLineAlarmConfProfileEntry ::=
SEQUENCE {
adslLineAlarmConfProfileName SnmpAdminString,
adslAtucThresh15MinLofs INTEGER,
adslAtucThresh15MinLoss INTEGER,
adslAtucThresh15MinLols INTEGER,
adslAtucThresh15MinLprs INTEGER,
adslAtucThresh15MinESs INTEGER,
adslAtucThreshFastRateUp Unsigned32,
adslAtucThreshInterleaveRateUp Unsigned32,
adslAtucThreshFastRateDown Unsigned32,
adslAtucThreshInterleaveRateDown Unsigned32,
adslAtucInitFailureTrapEnable INTEGER,
adslAturThresh15MinLofs INTEGER,
adslAturThresh15MinLoss INTEGER,
adslAturThresh15MinLprs INTEGER,
adslAturThresh15MinESs INTEGER,
adslAturThreshFastRateUp Unsigned32,
adslAturThreshInterleaveRateUp Unsigned32,
adslAturThreshFastRateDown Unsigned32,
adslAturThreshInterleaveRateDown Unsigned32,
adslLineAlarmConfProfileRowStatus RowStatus
}
adslLineAlarmConfProfileName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE (1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object is used by the line alarm configuration
table in order to identify a row of this table.
When `dynamic' profiles are implemented, the profile
name is user specified. Also, the system will always
provide a default profile whose name is `DEFVAL'.
When `static' profiles are implemented, there is an
one-to-one relationship between each line and its
profile. In which case, the profile name will
need to algorithmicly represent the Line's ifIndex.
Therefore, the profile's name is a decimalized string
of the ifIndex that is fixed-length (i.e., 10) with
leading zero(s). For example, the profile name for
ifIndex which equals '15' will be '0000000015'."
::= { adslLineAlarmConfProfileEntry 1}
Okay so the table is the wardrobe, and each entry is an outfit with its own alarm settings π The name is the key that picks which outfit you're wearing, and with static profiles it's literally the ifIndex padded out to ten digits π§
adslAtucThresh15MinLofs OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Loss of Frame Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAtucPerfLofsThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 2}
adslAtucThresh15MinLoss OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Loss of Signal Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAtucPerfLossThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 3}
adslAtucThresh15MinLols OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Loss of Link Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAtucPerfLolsThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 4}
And that's where we're at, bestie: the 15-minute threshold trio for LOF, LOSS, and LOLS, each one armed to send a trap per interval per interface, with 0 as the off switch π₯ Lots more threshold drama is coming next, so stay tuned ππ
okay so we're still in the MIB definitions π and the thresholds are getting spicy now π₯ each one is basically a little alarm you can set per 15-minute window, and a value of 0 just turns it off π
adslAtucThresh15MinLprs OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Loss of Power Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAtucPerfLprsThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 5}
adslAtucThresh15MinESs OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Errored Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAtucPerfESsThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 6}
adslAtucThreshFastRateUp OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Applies to `Fast' channels only.
Configured change in rate causing an
adslAtucRateChangeTrap. A trap is produced when:
ChanCurrTxRate >= ChanPrevTxRate plus the value of
this object. A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 7}
adslAtucThreshInterleaveRateUp OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Applies to `Interleave' channels only.
Configured change in rate causing an
adslAtucRateChangeTrap. A trap is produced when:
ChanCurrTxRate >= ChanPrevTxRate plus the value of
this object. A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 8}
adslAtucThreshFastRateDown OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Applies to `Fast' channels only.
Configured change in rate causing an
adslAtucRateChangeTrap. A trap is produced when:
ChanCurrTxRate <= ChanPrevTxRate minus the value of
this object. A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 9 }
adslAtucThreshInterleaveRateDown OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Applies to `Interleave' channels only.
Configured change in rate causing an
adslAtucRateChangeTrap. A trap is produced when:
ChanCurrTxRate <= ChanPrevTxRate minus the value of
this object. A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 10 }
adslAtucInitFailureTrapEnable OBJECT-TYPE
SYNTAX INTEGER {
enable (1),
disable (2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Enables and disables the InitFailureTrap. This
object is defaulted disable(2)."
DEFVAL { disable }
::= { adslLineAlarmConfProfileEntry 11 }
adslAturThresh15MinLofs OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Loss of Frame Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAturPerfLofsThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 12 }
adslAturThresh15MinLoss OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Loss of Signal Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAturPerfLossThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 13 }
adslAturThresh15MinLprs OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Loss of Power Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAturPerfLprsThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 14 }
adslAturThresh15MinESs OBJECT-TYPE
SYNTAX INTEGER(0..900)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of Errored Seconds
encountered by an ADSL interface within any given 15
minutes performance data collection period, which
causes the SNMP agent to send an
adslAturPerfESsThreshTrap.
One trap will be sent per interval per interface.
A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 15 }
adslAturThreshFastRateUp OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Applies to `Fast' channels only.
Configured change in rate causing an
adslAturRateChangeTrap. A trap is produced when:
ChanCurrTxRate >= ChanPrevTxRate plus the value of
this object. A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 16 }
adslAturThreshInterleaveRateUp OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Applies to `Interleave' channels only.
configured change in rate causing an
adslAturRateChangeTrap. A trap is produced when:
ChanCurrTxRate >= ChanPrevTxRate plus the value of
this object. A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 17 }
adslAturThreshFastRateDown OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Applies to `Fast' channels only.
Configured change in rate causing an
adslAturRateChangeTrap. A trap is produced when:
ChanCurrTxRate <= ChanPrevTxRate minus the value of
this object. A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 18 }
adslAturThreshInterleaveRateDown OBJECT-TYPE
SYNTAX Unsigned32
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Applies to `Interleave' channels only.
Configured change in rate causing an
adslAturRateChangeTrap. A trap is produced when:
ChanCurrTxRate <= ChanPrevTxRate minus the value of
this object. A value of `0' will disable the trap."
::= { adslLineAlarmConfProfileEntry 19 }
adslLineAlarmConfProfileRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object is used to create a new row or modify or
delete an existing row in this table.
A profile activated by setting this object to
`active'. When `active' is set, the system
will validate the profile.
Before a profile can be deleted or taken out of
service, (by setting this object to `destroy' or
`outOfService') it must be first unreferenced
from all associated lines.
If the implementator of this MIB has chosen not
to implement `dynamic assignment' of profiles, this
object's MIN-ACCESS is read-only and its value
is always to be `active'."
::= { adslLineAlarmConfProfileEntry 20 }
-- Line Code Specific Tables
-- These are place holders for the Line Code Specific MIBs
-- once they become available.
adslLCSMib OBJECT IDENTIFIER ::= { adslMibObjects 16 }
-- trap definitions
adslTraps OBJECT IDENTIFIER ::= { adslLineMib 2 }
adslAtucTraps OBJECT IDENTIFIER ::= { adslTraps 1 }
adslAtucPerfLofsThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAtucPerfCurr15MinLofs,
adslAtucThresh15MinLofs }
STATUS current
DESCRIPTION
"Loss of Framing 15-minute interval threshold reached."
::= { adslAtucTraps 0 1 }
adslAtucPerfLossThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAtucPerfCurr15MinLoss,
adslAtucThresh15MinLoss }
STATUS current
DESCRIPTION
"Loss of Signal 15-minute interval threshold reached."
::= { adslAtucTraps 0 2 }
adslAtucPerfLprsThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAtucPerfCurr15MinLprs,
adslAtucThresh15MinLprs }
STATUS current
DESCRIPTION
"Loss of Power 15-minute interval threshold reached."
::= { adslAtucTraps 0 3 }
adslAtucPerfESsThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAtucPerfCurr15MinESs,
adslAtucThresh15MinESs }
STATUS current
DESCRIPTION
"Errored Second 15-minute interval threshold reached."
::= { adslAtucTraps 0 4 }
okay bestie, the trap list is still going π¦ and the big thing to know is that some traps only exist for certain modes. the ATUC rate change one only happens in RADSL mode π
adslAtucRateChangeTrap NOTIFICATION-TYPE
OBJECTS { adslAtucChanCurrTxRate,
adslAtucChanPrevTxRate }
STATUS current
DESCRIPTION
"The ATUCs transmit rate has changed (RADSL mode only)"
::= { adslAtucTraps 0 5 }
adslAtucPerfLolsThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAtucPerfCurr15MinLols,
adslAtucThresh15MinLols }
STATUS current
DESCRIPTION
"Loss of Link 15-minute interval threshold reached."
::= { adslAtucTraps 0 6 }
adslAtucInitFailureTrap NOTIFICATION-TYPE
OBJECTS { adslAtucCurrStatus }
STATUS current
DESCRIPTION
"ATUC initialization failed. See adslAtucCurrStatus
for potential reasons."
::= { adslAtucTraps 0 7 }
adslAturTraps OBJECT IDENTIFIER ::= { adslTraps 2 }
adslAturPerfLofsThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAturPerfCurr15MinLofs,
adslAturThresh15MinLofs }
STATUS current
DESCRIPTION
"Loss of Framing 15-minute interval threshold reached."
::= { adslAturTraps 0 1 }
adslAturPerfLossThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAturPerfCurr15MinLoss,
adslAturThresh15MinLoss }
STATUS current
DESCRIPTION
"Loss of Signal 15-minute interval threshold reached."
::= { adslAturTraps 0 2 }
adslAturPerfLprsThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAturPerfCurr15MinLprs,
adslAturThresh15MinLprs }
STATUS current
DESCRIPTION
"Loss of Power 15-minute interval threshold reached."
::= { adslAturTraps 0 3 }
adslAturPerfESsThreshTrap NOTIFICATION-TYPE
OBJECTS { adslAturPerfCurr15MinESs,
adslAturThresh15MinESs }
STATUS current
DESCRIPTION
"Errored Second 15-minute interval threshold reached."
::= { adslAturTraps 0 4 }
adslAturRateChangeTrap NOTIFICATION-TYPE
OBJECTS { adslAturChanCurrTxRate,
adslAturChanPrevTxRate }
STATUS current
DESCRIPTION
"The ATURs transmit rate has changed (RADSL mode only)"
::= { adslAturTraps 0 5 }
-- no adslAturPerfLolsThreshTrap possible { 0 6 }
-- no adslAturInitFailureTrap possible { 0 7 }
the ATU-R side has its own set of traps, and the LOLS and init failure ones are straight up not possible there π (the comments say so, no cap π)
next up is the conformance info, which is basically the filing system for the whole MIB ποΈβ¨ the groups and compliances both hang off adslLineMib 3 πΈ
-- conformance information
adslConformance OBJECT IDENTIFIER ::= { adslLineMib 3 }
adslGroups OBJECT IDENTIFIER ::= { adslConformance 1 }
adslCompliances OBJECT IDENTIFIER ::= { adslConformance 2 }
and now the ATU-C compliance statement, which is the big one π it lists the mandatory groups first, then the optional ones, then a whole bunch of objects that flip to read-write when static profiles are in use π
-- ATU-C agent compliance statements
adslLineMibAtucCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMP entities
which manage ADSL ATU-C interfaces."
MODULE -- this module
MANDATORY-GROUPS
{
adslLineGroup, adslPhysicalGroup, adslChannelGroup,
adslAtucPhysPerfIntervalGroup,
adslAturPhysPerfIntervalGroup, adslLineConfProfileGroup,
adslLineAlarmConfProfileGroup,
adslLineConfProfileControlGroup
}
GROUP adslAtucPhysPerfRawCounterGroup
DESCRIPTION
"This group is optional. Implementations which
require continuous ATU-C physical event counters
should implement this group."
GROUP adslAturPhysPerfRawCounterGroup
DESCRIPTION
"This group is optional. Implementations which
require continuous ATU-R physical event counters
should implement this group."
GROUP adslAtucChanPerformanceGroup
DESCRIPTION
"This group is optional. Implementations which
require ATU-C channel block event counters should
implement this group."
GROUP adslAturChanPerformanceGroup
DESCRIPTION
"This group is optional. Implementations which
require ATU-R channel block event counters should
implement this group."
OBJECT adslLineConfProfile
MIN-ACCESS read-only
DESCRIPTION
"Read-only access is applicable when static
profiles are implemented."
OBJECT adslAtucConfRateMode
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucConfRateChanRatio
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucConfTargetSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucConfMaxSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucConfMinSnrMgn
MIN-ACCESS read-wr
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucConfDownshiftSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucConfUpshiftSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucConfMinUpshiftTime
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucConfMinDownshiftTime
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucChanConfFastMinTxRate
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucChanConfInterleaveMinTxRate
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucChanConfFastMaxTxRate
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucChanConfInterleaveMaxTxRate
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucChanConfMaxInterleaveDelay
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfRateMode
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfRateChanRatio
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfTargetSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfMaxSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfMinSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfDownshiftSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfUpshiftSnrMgn
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfMinUpshiftTime
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturConfMinDownshiftTime
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturChanConfFastMinTxRate
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturChanConfInterleaveMinTxRate
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturChanConfFastMaxTxRate
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturChanConfInterleaveMaxTxRate
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturChanConfMaxInterleaveDelay
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslLineConfProfileRowStatus
MIN-ACCESS read-only
DESCRIPTION
"Read-only access is applicable only when static
profiles are implemented."
OBJECT adslLineAlarmConfProfile
MIN-ACCESS read-only
DESCRIPTION
"Read-only access is applicable only when static
profiles are implemented."
OBJECT adslAtucThresh15MinLofs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThresh15MinLoss
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
π the read-only vs read-write stuff is the main plot twist here: the same object can be read-only in one setup and read-write in another, depending on whether static profiles are running. iykyk π«Ά
OBJECT adslAtucThresh15MinLols
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThresh15MinLprs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThresh15MinESs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThreshFastRateUp
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThreshInterleaveRateUp
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThreshFastRateDown
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThreshInterleaveRateDown
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucInitFailureTrapEnable
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThresh15MinLofs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThresh15MinLoss
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThresh15MinLprs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThresh15MinESs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThreshFastRateUp
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThreshInterleaveRateUp
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThreshFastRateDown
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThreshInterleaveRateDown
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslLineAlarmConfProfileRowStatus
MIN-ACCESS read-only
DESCRIPTION
"Read-only access is applicable only when static
profiles are implemented."
::= { adslCompliances 1 }
okay bestie, next up is the ATU-R agent compliance statements π this one has its own little checklist of mandatory groups and some optional ones that are giving "only if you need it" energy π
-- ATU-R agent compliance statements
adslLineMibAturCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMP entities
which manage ADSL ATU-R interfaces."
MODULE -- this module
MANDATORY-GROUPS
{
adslAturLineGroup, adslAturPhysicalGroup,
adslAturChannelGroup,
adslAturAtucPhysPerfIntervalGroup,
adslAturAturPhysPerfIntervalGroup,
adslAturLineAlarmConfProfileGroup,
adslAturLineConfProfileControlGroup
}
GROUP adslAturAtucPhysPerfRawCounterGroup
DESCRIPTION
"This group is optional. Implementations which
require continuous ATU-C physical event counters
should implement this group."
GROUP adslAturAturPhysPerfRawCounterGroup
DESCRIPTION
"This group is optional. Implementations which
require continuous ATU-R physical event counters
should implement this group."
GROUP adslAturAtucChanPerformanceGroup
DESCRIPTION
"This group is optional. Implementations which
require ATU-C channel block event counters should
implement this group."
GROUP adslAturAturChanPerformanceGroup
DESCRIPTION
"This group is optional. Implementations which
require ATU-R channel block event counters should
implement this group."
OBJECT adslLineAlarmConfProfile
MIN-ACCESS read-only
DESCRIPTION
"Read-only access is applicable only when static
profiles are implemented."
OBJECT adslAtucThresh15MinLofs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThresh15MinLoss
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThresh15MinESs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThreshFastRateUp
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThreshInterleaveRateUp
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucThreshFastRateDown
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAtucInitFailureTrapEnable
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThresh15MinLofs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThresh15MinLoss
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThresh15MinLprs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThresh15MinESs
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThreshFastRateUp
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThreshInterleaveRateUp
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThreshFastRateDown
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslAturThreshInterleaveRateDown
MIN-ACCESS read-write
DESCRIPTION
"Read-write access is applicable when
static profiles are implemented."
OBJECT adslLineAlarmConfProfileRowStatus
MIN-ACCESS read-only
DESCRIPTION
"Read-only access is applicable only when static
profiles are implemented."
OBJECT adslAtucCurrStatus
SYNTAX BITS {
noDefect(0),
lossOfFraming(1),
lossOfSignal(2)
}
DESCRIPTION
"It is allowable to implement only noDefect(0),
lossOfFraming(1) and lossOfSignal(2) by the ATU-R
agent."
::= { adslCompliances 2 }
ngl the next bit is where the units of conformance live, aka the groups that bundle objects together like a squad π«Ά each one gets its own group number, so don't mix them up π¦
-- units of conformance
adslLineGroup OBJECT-GROUP
OBJECTS {
adslLineCoding, adslLineType, adslLineSpecific
}
STATUS current
DESCRIPTION
"A collection of objects providing configuration
information about an ADSL Line."
::= { adslGroups 1 }
adslPhysicalGroup OBJECT-GROUP
OBJECTS {
adslAtucInvSerialNumber, adslAtucInvVendorID,
adslAtucInvVersionNumber, adslAtucCurrSnrMgn,
adslAtucCurrAtn, adslAtucCurrStatus,
adslAtucCurrOutputPwr, adslAtucCurrAttainableRate,
adslAturInvSerialNumber, adslAturInvVendorID,
adslAturInvVersionNumber, adslAturCurrSnrMgn,
adslAturCurrAtn, adslAturCurrStatus,
adslAturCurrOutputPwr, adslAturCurrAttainableRate
}
STATUS current
DESCRIPTION
"A collection of objects providing physical
configuration information of the ADSL Line."
::= { adslGroups 2 }
adslChannelGroup OBJECT-GROUP
OBJECTS {
adslAtucChanInterleaveDelay, adslAtucChanCurrTxRate,
adslAtucChanPrevTxRate, adslAtucChanCrcBlockLength,
adslAturChanInterleaveDelay, adslAturChanCurrTxRate,
adslAturChanPrevTxRate, adslAturChanCrcBlockLength
}
STATUS current
DESCRIPTION
"A collection of objects providing configuration
information about an ADSL channel."
::= { adslGroups 3 }
adslAtucPhysPerfRawCounterGroup OBJECT-GROUP
OBJECTS {
adslAtucPerfLofs, adslAtucPerfLoss,
adslAtucPerfLols, adslAtucPerfLprs,
adslAtucPerfESs, adslAtucPerfInits
}
STATUS current
DESCRIPTION
"A collection of objects providing raw performance
counts on an ADSL Line (ATU-C end)."
::= { adslGroups 4 }
that's the compliance block wrapped up for this part πβ¨
okay bestie, we're still deep in the MIB and these are the object groups that bundle up all the ADSL counters, settings, and alarms π§β¨
adslAtucPhysPerfIntervalGroup OBJECT-GROUP
OBJECTS {
adslAtucPerfValidIntervals,
adslAtucPerfInvalidIntervals,
adslAtucPerfCurr15MinTimeElapsed,
adslAtucPerfCurr15MinLofs, adslAtucPerfCurr15MinLoss,
adslAtucPerfCurr15MinLols, adslAtucPerfCurr15MinLprs,
adslAtucPerfCurr15MinESs, adslAtucPerfCurr15MinInits,
adslAtucPerfCurr1DayLofs, adslAtucPerfCurr1DayLoss,
adslAtucPerfCurr1DayLols, adslAtucPerfCurr1DayLprs,
adslAtucPerfCurr1DayESs, adslAtucPerfCurr1DayInits,
adslAtucPerfPrev1DayMoniSecs,
adslAtucPerfPrev1DayLofs, adslAtucPerfPrev1DayLoss,
adslAtucPerfPrev1DayLols, adslAtucPerfPrev1DayLprs,
adslAtucPerfPrev1DayESs, adslAtucPerfPrev1DayInits,
adslAtucIntervalLofs, adslAtucIntervalLoss,
adslAtucIntervalLols, adslAtucIntervalLprs,
adslAtucIntervalESs, adslAtucIntervalInits,
adslAtucIntervalValidData
}
STATUS current
DESCRIPTION
"A collection of objects providing current 15-minute,
1-day; and previous 1-day performance counts on
ADSL Line (ATU-C end) ."
::= { adslGroups 5 }
adslAturPhysPerfRawCounterGroup OBJECT-GROUP
OBJECTS {
adslAturPerfLofs, adslAturPerfLoss,
adslAturPerfLprs, adslAturPerfESs
}
STATUS current
DESCRIPTION
"A collection of objects providing raw performance
counts on an ADSL Line (ATU-R end)."
::= { adslGroups 6 }
adslAturPhysPerfIntervalGroup OBJECT-GROUP
OBJECTS {
adslAturPerfValidIntervals,
adslAturPerfInvalidIntervals,
adslAturPerfCurr15MinTimeElapsed,
adslAturPerfCurr15MinLofs, adslAturPerfCurr15MinLoss,
adslAturPerfCurr15MinLprs, adslAturPerfCurr15MinESs,
adslAturPerfCurr1DayTimeElapsed,
adslAturPerfCurr1DayLofs, adslAturPerfCurr1DayLoss,
adslAturPerfCurr1DayLprs, adslAturPerfCurr1DayESs,
adslAturPerfPrev1DayMoniSecs,
adslAturPerfPrev1DayLofs, adslAturPerfPrev1DayLoss,
adslAturPerfPrev1DayLprs, adslAturPerfPrev1DayESs,
adslAturIntervalLofs,
adslAturIntervalLoss, adslAturIntervalLprs,
adslAturIntervalESs, adslAturIntervalValidData
}
STATUS current
DESCRIPTION
"A collection of objects providing current 15-minute,
1-day; and previous 1-day performance counts on
ADSL Line (ATU-R end)."
::= { adslGroups 7 }
adslAtucChanPerformanceGroup OBJECT-GROUP
OBJECTS {
adslAtucChanReceivedBlks,
adslAtucChanTransmittedBlks,
adslAtucChanCorrectedBlks,
adslAtucChanUncorrectBlks,
adslAtucChanPerfValidIntervals,
adslAtucChanPerfInvalidIntervals,
adslAtucChanPerfCurr15MinTimeElapsed,
adslAtucChanPerfCurr15MinReceivedBlks,
adslAtucChanPerfCurr15MinTransmittedBlks,
adslAtucChanPerfCurr15MinCorrectedBlks,
adslAtucChanPerfCurr15MinUncorrectBlks,
adslAtucChanPerfCurr1DayTimeElapsed,
adslAtucChanPerfCurr1DayReceivedBlks,
adslAtucChanPerfCurr1DayTransmittedBlks,
adslAtucChanPerfCurr1DayCorrectedBlks,
adslAtucChanPerfCurr1DayUncorrectBlks,
adslAtucChanPerfPrev1DayMoniSecs,
adslAtucChanPerfPrev1DayReceivedBlks,
adslAtucChanPerfPrev1DayTransmittedBlks,
adslAtucChanPerfPrev1DayCorrectedBlks,
adslAtucChanPerfPrev1DayUncorrectBlks,
adslAtucChanIntervalReceivedBlks,
adslAtucChanIntervalTransmittedBlks,
adslAtucChanIntervalCorrectedBlks,
adslAtucChanIntervalUncorrectBlks,
adslAtucChanIntervalValidData
}
STATUS current
DESCRIPTION
"A collection of objects providing channel block
performance information on an ADSL channel
(ATU-C end)."
::= { adslGroups 8 }
adslAturChanPerformanceGroup OBJECT-GROUP
OBJECTS {
adslAturChanReceivedBlks,
adslAturChanTransmittedBlks,
adslAturChanCorrectedBlks,
adslAturChanUncorrectBlks,
adslAturChanPerfValidIntervals,
adslAturChanPerfInvalidIntervals,
adslAturChanPerfCurr15MinTimeElapsed,
adslAturChanPerfCurr15MinReceivedBlks,
adslAturChanPerfCurr15MinTransmittedBlks,
adslAturChanPerfCurr15MinCorrectedBlks,
adslAturChanPerfCurr15MinUncorrectBlks,
adslAturChanPerfCurr1DayTimeElapsed,
adslAturChanPerfCurr1DayReceivedBlks,
adslAturChanPerfCurr1DayTransmittedBlks,
adslAturChanPerfCurr1DayCorrectedBlks,
adslAturChanPerfCurr1DayUncorrectBlks,
adslAturChanPerfPrev1DayMoniSecs,
adslAturChanPerfPrev1DayReceivedBlks,
adslAturChanPerfPrev1DayTransmittedBlks,
adslAturChanPerfPrev1DayCorrectedBlks,
adslAturChanPerfPrev1DayUncorrectBlks,
adslAturChanIntervalReceivedBlks,
adslAturChanIntervalTransmittedBlks,
adslAturChanIntervalCorrectedBlks,
adslAturChanIntervalUncorrectBlks,
adslAturChanIntervalValidData
}
STATUS current
DESCRIPTION
"A collection of objects providing channel block
performance information on an ADSL channel
(ATU-C end)."
::= { adslGroups 9 }
adslLineConfProfileGroup OBJECT-GROUP
OBJECTS {
adslAtucConfRateMode, adslAtucConfRateChanRatio,
adslAtucConfTargetSnrMgn, adslAtucConfMaxSnrMgn,
adslAtucConfMinSnrMgn,
adslAtucConfDownshiftSnrMgn,
adslAtucConfUpshiftSnrMgn,
adslAtucConfMinUpshiftTime,
adslAtucConfMinDownshiftTime,
adslAtucChanConfFastMinTxRate,
adslAtucChanConfInterleaveMinTxRate,
adslAtucChanConfFastMaxTxRate,
adslAtucChanConfInterleaveMaxTxRate,
adslAtucChanConfMaxInterleaveDelay,
adslAturConfRateMode, adslAturConfRateChanRatio,
adslAturConfTargetSnrMgn, adslAturConfMaxSnrMgn,
adslAturConfMinSnrMgn, adslAturConfDownshiftSnrMgn,
adslAturConfUpshiftSnrMgn,
adslAturConfMinUpshiftTime,
adslAturConfMinDownshiftTime,
adslAturChanConfFastMinTxRate,
adslAturChanConfInterleaveMinTxRate,
adslAturChanConfFastMaxTxRate,
adslAturChanConfInterleaveMaxTxRate,
adslAturChanConfMaxInterleaveDelay
}
STATUS current
DESCRIPTION
"A collection of objects providing provisioning
information about an ADSL Line."
::= { adslGroups 10 }
adslLineAlarmConfProfileGroup OBJECT-GROUP
OBJECTS {
adslAtucThresh15MinLofs, adslAtucThresh15MinLoss,
adslAtucThresh15MinLols, adslAtucThresh15MinLprs,
adslAtucThresh15MinESs, adslAtucThreshFastRateUp,
adslAtucThreshInterleaveRateUp,
adslAtucThreshFastRateDown,
adslAtucThreshInterleaveRateDown,
adslAtucInitFailureTrapEnable,
adslAturThresh15MinLofs, adslAturThresh15MinLoss,
adslAturThresh15MinLprs, adslAturThresh15MinESs,
adslAturThreshFastRateUp,
adslAturThreshInterleaveRateUp,
adslAturThreshFastRateDown,
adslAturThreshInterleaveRateDown
}
STATUS current
DESCRIPTION
"A collection of objects providing alarm provisioning
information about an ADSL Line."
::= { adslGroups 11 }
adslLineConfProfileControlGroup OBJECT-GROUP
OBJECTS {
adslLineConfProfile, adslLineAlarmConfProfile,
adslLineConfProfileRowStatus,
adslLineAlarmConfProfileRowStatus
}
STATUS current
DESCRIPTION
"A collection of objects providing profile
control for the ADSL system."
::= { adslGroups 12 }
adslNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
adslAtucPerfLofsThreshTrap,
adslAtucPerfLossThreshTrap,
adslAtucPerfLprsThreshTrap,
adslAtucPerfESsThreshTrap,
adslAtucRateChangeTrap,
adslAtucPerfLolsThreshTrap,
adslAtucInitFailureTrap,
adslAturPerfLofsThreshTrap,
adslAturPerfLossThreshTrap,
adslAturPerfLprsThreshTrap,
adslAturPerfESsThreshTrap,
adslAturRateChangeTrap
}
STATUS current
DESCRIPTION
"The collection of adsl notifications."
::= { adslGroups 13 }
-- units of conformance for ATU-R agent
adslAturLineGroup OBJECT-GROUP
OBJECTS {
adslLineCoding
}
STATUS current
DESCRIPTION
"A collection of objects providing configuration
information about an ADSL Line on the ATU-R side."
::= { adslGroups 14 }
adslAturPhysicalGroup OBJECT-GROUP
OBJECTS {
adslAtucInvVendorID,
adslAtucInvVersionNumber,
adslAtucCurrOutputPwr, adslAtucCurrAttainableRate,
adslAturInvSerialNumber, adslAturInvVendorID,
adslAturInvVersionNumber, adslAturCurrSnrMgn,
adslAturCurrAtn, adslAturCurrStatus,
adslAturCurrOutputPwr, adslAturCurrAttainableRate,
adslAtucCurrStatus
}
STATUS current
DESCRIPTION
"A collection of objects providing physical
configuration information of the ADSL Line on the
ATU-R side."
::= { adslGroups 15 }
adslAturChannelGroup OBJECT-GROUP
OBJECTS {
adslAtucChanInterleaveDelay, adslAtucChanCurrTxRate,
adslAtucChanPrevTxRate,
adslAturChanInterleaveDelay, adslAturChanCurrTxRate,
adslAturChanPrevTxRate, adslAturChanCrcBlockLength
}
STATUS current
DESCRIPTION
"A collection of objects providing configuration
information about an ADSL channel on the ATU-R
side."
::= { adslGroups 16 }
adslAturAtucPhysPerfRawCounterGroup OBJECT-GROUP
OBJECTS {
adslAtucPerfLofs, adslAtucPerfLoss,
adslAtucPerfESs, adslAtucPerfInits
}
STATUS current
DESCRIPTION
"A collection of objects providing raw performance
counts on an ADSL Line (ATU-C end) provided by the
ATU-R agent."
::= { adslGroups 17 }
adslAturAtucPhysPerfIntervalGroup OBJECT-GROUP
OBJECTS {
adslAtucPerfValidIntervals,
adslAtucPerfInvalidIntervals,
adslAtucPerfCurr15MinTimeElapsed,
adslAtucPerfCurr15MinLofs, adslAtucPerfCurr15MinLoss,
adslAtucPerfCurr15MinESs, adslAtucPerfCurr15MinInits,
adslAtucPerfCurr1DayTimeElapsed,
adslAtucPerfCurr1DayLofs, adslAtucPerfCurr1DayLoss,
adslAtucPerfCurr1DayESs, adslAtucPerfCurr1DayInits,
adslAtucPerfPrev1DayMoniSecs,
adslAtucPerfPrev1DayLofs, adslAtucPerfPrev1DayLoss,
adslAtucPerfPrev1DayESs, adslAtucPerfPrev1DayInits,
adslAtucIntervalLofs, adslAtucIntervalLoss,
adslAtucIntervalESs, adslAtucIntervalInits,
adslAtucIntervalValidData
}
STATUS current
DESCRIPTION
"A collection of objects providing current
15-minute, 1-day; and previous 1-day performance
counts on ADSL Line (ATU-C end) provided by the
ATU-R agent."
::= { adslGroups 18 }
adslAturAturPhysPerfRawCounterGroup OBJECT-GROUP
OBJECTS {
adslAturPerfLofs, adslAturPerfLoss,
adslAturPerfLprs, adslAturPerfESs
}
STATUS current
DESCRIPTION
"A collection of objects providing raw performance
counts on an ADSL Line (ATU-R end) provided by the
ATU-R agent."
::= { adslGroups 19 }
adslAturAturPhysPerfIntervalGroup OBJECT-GROUP
OBJECTS {
adslAturPerfValidIntervals,
adslAturPerfInvalidIntervals,
adslAturPerfCurr15MinTimeElapsed,
adslAturPerfCurr15MinLofs, adslAturPerfCurr15MinLoss,
adslAturPerfCurr15MinLprs, adslAturPerfCurr15MinESs,
adslAturPerfCurr1DayTimeElapsed,
adslAturPerfCurr1DayLofs, adslAturPerfCurr1DayLoss,
adslAturPerfCurr1DayLprs, adslAturPerfCurr1DayESs,
adslAturPerfPrev1DayMoniSecs,
adslAturPerfPrev1DayLofs, adslAturPerfPrev1DayLoss,
adslAturPerfPrev1DayLprs, adslAturPerfPrev1DayESs,
adslAturIntervalLofs,
adslAturIntervalLoss, adslAturIntervalLprs,
adslAturIntervalESs, adslAturIntervalValidData
}
STATUS current
DESCRIPTION
"A collection of objects providing current
15-minute, 1-day; and previous 1-day performance
counts on ADSL Line (ATU-R end) provided by the
ATU-R agent."
::= { adslGroups 20 }
adslAturAtucChanPerformanceGroup OBJECT-GROUP
OBJECTS {
adslAtucChanReceivedBlks,
adslAtucChanTransmittedBlks,
adslAtucChanCorrectedBlks,
adslAtucChanUncorrectBlks,
adslAtucChanPerfCurr15MinTimeElapsed,
adslAtucChanPerfCurr15MinReceivedBlks,
adslAtucChanPerfCurr15MinTransmittedBlks,
adslAtucChanPerfCurr15MinCorrectedBlks,
adslAtucChanPerfCurr15MinUncorrectBlks,
adslAtucChanPerfCurr1DayTimeElapsed,
adslAtucChanPerfCurr1DayReceivedBlks,
adslAtucChanPerfCurr1DayTransmittedBlks,
adslAtucChanPerfCurr1DayCorrectedBlks,
adslAtucChanPerfCurr1DayUncorrectBlks,
adslAtucChanPerfPrev1DayMoniSecs,
adslAtucChanPerfPrev1DayReceivedBlks,
adslAtucChanPerfPrev1DayTransmittedBlks,
adslAtucChanPerfPrev1DayCorrectedBlks,
adslAtucChanPerfPrev1DayUncorrectBlks,
adslAtucChanPerfValidIntervals,
adslAtucChanPerfInvalidIntervals,
adslAtucChanIntervalReceivedBlks,
adslAtucChanIntervalTransmittedBlks,
adslAtucChanIntervalCorrectedBlks,
adslAtucChanIntervalUncorrectBlks,
adslAtucChanIntervalValidData
}
STATUS current
DESCRIPTION
"A collection of objects providing channel block
performance information on an ADSL channel
(ATU-C end) provided by the ATU-R agent."
::= { adslGroups 21 }
adslAturAturChanPerformanceGroup OBJECT-GROUP
OBJECTS {
adslAturChanReceivedBlks,
adslAturChanTransmittedBlks,
adslAturChanCorrectedBlks,
adslAturChanUncorrectBlks,
adslAturChanPerfValidIntervals,
adslAturChanPerfInvalidIntervals,
adslAturChanPerfCurr15MinTimeElapsed,
adslAturChanPerfCurr15MinReceivedBlks,
adslAturChanPerfCurr15MinTransmittedBlks,
adslAturChanPerfCurr15MinCorrectedBlks,
adslAturChanPerfCurr15MinUncorrectBlks,
adslAturChanPerfCurr1DayTimeElapsed,
adslAturChanPerfCurr1DayReceivedBlks,
adslAturChanPerfCurr1DayTransmittedBlks,
adslAturChanPerfCurr1DayCorrectedBlks,
adslAturChanPerfCurr1DayUncorrectBlks,
adslAturChanPerfPrev1DayMoniSecs,
adslAturChanPerfPrev1DayReceivedBlks,
adslAturChanPerfPrev1DayTransmittedBlks,
adslAturChanPerfPrev1DayCorrectedBlks,
adslAturChanPerfPrev1DayUncorrectBlks,
adslAturChanIntervalReceivedBlks,
adslAturChanIntervalTransmittedBlks,
adslAturChanIntervalCorrectedBlks,
adslAturChanIntervalUncorrectBlks,
adslAturChanIntervalValidData
}
STATUS current
DESCRIPTION
"A collection of objects providing channel block
performance information on an ADSL channel
(ATU-R end) provided by the ATU-R agent."
::= { adslGroups 22 }
adslAturLineAlarmConfProfileGroup OBJECT-GROUP
OBJECTS {
adslAtucThresh15MinLofs, adslAtucThresh15MinLoss,
adslAtucThresh15MinESs, adslAtucThreshFastRateUp,
adslAtucThreshInterleaveRateUp,
adslAtucThreshFastRateDown,
adslAtucThreshInterleaveRateDown,
adslAtucInitFailureTrapEnable,
adslAturThresh15MinLofs, adslAturThresh15MinLoss,
adslAturThresh15MinLprs, adslAturThresh15MinESs,
adslAturThreshFastRateUp,
adslAturThreshInterleaveRateUp,
adslAturThreshFastRateDown,
adslAturThreshInterleaveRateDown
}
STATUS current
DESCRIPTION
"A collection of objects providing alarm
provisioning
information about an ADSL Line provided by the
ATU-R agent."
::= { adslGroups 23 }
adslAturLineConfProfileControlGroup OBJECT-GROUP
OBJECTS {
adslLineAlarmConfProfile,
adslLineAlarmConfProfileRowStatus
}
STATUS current
DESCRIPTION
"A collection of objects providing profile
control for the ADSL system by the ATU-R agent."
::= { adslGroups 24 }
adslAturNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
adslAtucPerfLofsThreshTrap,
adslAtucPerfLossThreshTrap,
adslAtucPerfESsThreshTrap,
adslAtucRateChangeTrap,
adslAturPerfLofsThreshTrap,
adslAturPerfLossThreshTrap,
adslAturPerfLprsThreshTrap,
adslAturPerfESsThreshTrap,
adslAturRateChangeTrap
}
STATUS current
DESCRIPTION
"The collection of ADSL notifications implemented by
the ATU-R agent."
::= { adslGroups 25 }
END
8. Acknowledgments π
Okay bestie, time for the shoutouts! π«Ά The current authors/editors are:
- Gregory Bathrick (AG Communication Systems)
- Faye Ly (Copper Mountain Networks)
Input from the ADSL Forum was edited by:
- Gregory Bathrick (AG Communication Systems)
- John Burgess (Predictive Systems)
Contributions have been received from, but not limited to the following (in alphabetical order) πΈ so this squad is literally iconic:
- David Allen (Nortel)
- Rajesh Abbi (Alcatel)
- Gregory Bathrick (AG Communication Systems)
- Umberto Bonollo (NEC)
- John Burgess (Predictive Systems)
- Gail Cone (Amati)
- Andrew Cheers (NEC)
- Peter Duffy (Atlantech)
- Kevin Godfrey (Motorola)
- Bill Hong (Diamond Lane)
- Bob Jenness (Siemens)
- Lars Johansson (Ericsson)
- Jeff Johnson (RedBack Network)
- Tsu Kai Lu (DSC)
- Faye Ly (Copper Mountain Networks)
- Gigi Karmous-Edwards (Pulsecom)
- Ron Knipper (Diamond Lane)
- Adil Masood (AG Communication Systems)
- Padmore Peterson (BT)
- Anna Salguero (SBC)
- Donald Simon (Motorola)
- Mike Sneed (Pulsecom)
- Ted Soo-Hoo (Pulsecom)
- John Stehman (Diamond Lane)
- Chuck Storry (Newbridge)
- Chi-Lin Tom (AFC)
- Frank Van der Putten (Alcatel)
- Marc Van Vlimmeren (Alcatel)
- Bert Wijnen (IBM)
9. References π
okay bestie, the reference list is a whole vibe π every source this spec leans on, all 26 of them, untouched:
- [1] McCloghrie K., Perkins D. and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
- [2] McCloghrie K., Perkins D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
- [3] ADSL Forum TR-005, "Network Management Element Management", March 1998.
- [4] McCloghrie, K. and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, March 1991.
- [5] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB using SMIv2", RFC 2233, November 1997.
- [6] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Management Information Base for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1907, January 1996.
- [7] Case, J., Fedor, M., Schoffstall, M. and J. Davin. " A Simple Network Management Protocol (SNMP)", STD 15, RFC 1157, May 1990.
- [8] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
- [9] ADSL Forum TR-006, "SNMP-based ADSL Line MIB", March 1998.
- [10] American National Standards Institute, ANSI T1.413-1995, August 1995.
- [11] ADSL Forum WT-014, "DMT Line Code Specific MIB", February 1999.
- [12] ADSL Forum WT-015, "CAP Line Code Specific MIB", February 1999.
- [13] Wijnen, B., Harrington, D. and R. Presuhn, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999.
- [14] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990.
- [15] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991.
- [16] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991.
- [17] McCloghrie K., Perkins D. and J. Schoenwaelder, "Conformance Statements for SMIv2", RFC 2580, April 1999.
- [18] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.
- [19] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.
- [20] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999.
- [21] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999.
- [22] Levi, D., Meyer, P. and B. Stewart, "SNMP Applications", RFC 2573, April 1999.
- [23] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999.
- [24] Ahmed, M. and K. Tesink, Editors, "Definitions of Managed Objects for ATM Management Version 8.0 using SMIv2", RFC 1695, August 1994.
- [25] McCloghrie, K. and A. Bierman, "Entity MIB", RFC 2037, October 1996.
- [26] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, January 1998.
10. Security Considerations π
this part is serious, bestie π no cap, read every word of it.
- Locking out unauthorized access to the ADSL MIB through the element management system is outside the scope of this document π that's not this doc's job. But it's worth noting that access to the MIB lets the unauthorized entity modify the profiles (sect 6.4), so both subscriber service and network operations can get interfered with π. Subscriber service can be altered by changing service characteristics like rate partitioning and maximum transmission rates. Network operations can be impacted by changing trap thresholds, like SNR margins.
- There are a bunch of managed objects in this MIB that may be considered to contain sensitive information π. In particular, the certain objects may be considered sensitive in many environments, since they would let an intruder find out which vendor's equipment is in use on the network. So in some environments it may be important to control read access to these objects, and possibly even encrypt their values when sending them over the network via SNMP π. Not all versions of SNMP provide features for such a secure environment.
SNMPv1 by itself is such an insecure environment π. Even if the network itself is secure (for example by using IPSec), there's still no control over who on that secure network is allowed to access and GET (read) the objects in this MIB. It is recommended that the implementors consider the security features provided by the SNMPv3 framework π§. Specifically, the User-based Security Model in RFC 2574 [21] and the View-based Access Control Model in RFC 2575 [23] is recommended.
It is then a customer/user responsibility to make sure the SNMP entity giving access to an instance of this MIB is properly configured to give access to those objects only to the principals (users) that have legitimate rights to access them π«Ά.
- ADSL layer connectivity from the ATU-R will let the subscriber manipulate both the ADSL link directly and the AOC/EOC channels for their own loop π¬. For example, unchecked or unfiltered fluctuations initiated by the subscriber could generate enough traps to potentially overwhelm either the management interface to the network or the element manager π¨. Other attacks affecting the ATU-R portions of the MIB may also be possible.
11. Intellectual Property Notice π§Ύ
the IETF takes no position on the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or on the extent to which any license under such rights might or might not be available. It also doesn't represent that it has made any effort to identify any such rights. Info on the IETF's procedures for rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication, and any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementers or users of this specification to use such proprietary rights, can be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please send that information to the IETF Executive Director π.
12. Authors' Addresses π
the two authors, with their contact details exactly as they appear π:
Gregory Bathrick
AG Communication Systems
[A Subsidiary of Lucent Technologies]
2500 W Utopia Rd.
Phoenix, AZ 85027 USA
Phone: +1 602-582-7679
Fax: +1 602-582-7697
EMail: bathricg@agcs.com
Faye Ly
Copper Mountain Networks
Norcal Office
2470 Embarcadero Way
Palo Alto, CA 94303
Phone: +1 650-858-8500
Fax: +1 650-858-8085
EMail: faye@coppermountain.com
13. Full Copyright Statement βοΈ
Copyright (C) The Internet Society (1999). All Rights Reserved.
you can copy and share this document and translations of it, and make derivative works that comment on or explain it or help implement it. You can prepare, copy, publish and distribute those works, in whole or in part, without restriction of any kind, as long as the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations. The one exceptions are developing Internet standards, where the procedures for copyrights defined in the Internet Standards process must be followed, and translating it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement π«Ά
funding for the RFC Editor function is currently provided by the Internet Society π
π¦ where this page comes from
- ietf: rfc2662 1999-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms