RFC 4319
Definitions of Managed Objects for High Bit-Rate DSL - 2nd generation (HDSL2) and Single-Pair High-Speed Digital Subscriber Line (SHDSL) Lines
Hey bestie, welcome to RFC 4319 π¦β¨
RFC 4319 is the Standards Track spec from December 2005 that defines the MIB module for managing HDSL2 and SHDSL lines. Its full title is Definitions of Managed Objects for High Bit-Rate DSL - 2nd generation (HDSL2) and Single-Pair High-Speed Digital Subscriber Line (SHDSL) Lines π
The authors are C. Sikes (Zhone Technologies, Inc.), B. Ray (PESA Switching Systems, Inc.), and R. Abbi (Alcatel USA). It is the Network Working Group's document, and it obsoletes RFC 3276 π. There's no Updates line in the header, so it doesn't update anything else.
Status of This Memo π
This doc is an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions to make it better π«Ά. For the standardization state and status, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited πΈ.
Copyright Notice Β©οΈ
Copyright (C) The Internet Society (2005) π
Abstract π
So this doc defines a Management Information Base (MIB) module that network management protocols in the Internet community can use π§. It's all about objects for managing High Bit-Rate Digital Subscriber Line (DSL) - 2nd generation (HDSL2) and Single-Pair High-Speed Digital Subscriber Line (SHDSL) interfaces π₯. It also adds extensions to a few objects and textual conventions from HDSL2-SHDSL-Line MIB (RFC 3276), and it obsoletes RFC 3276 π.
Table of Contents ποΈ
1. The Internet-Standard Management Framework ......................2
2. Overview ........................................................2
2.1. Relationship to Other MIBs .................................3
2.1.1. General IF-MIB Integration (RFC 2863) ...............3
2.1.2. Usage of ifTable ....................................3
2.2. IANA Considerations ........................................4
2.3. Conventions Used in the MIB Module .........................5
2.3.1. Naming Conventions ..................................5
2.3.2. Textual Conventions .................................5
2.4. Structure ..................................................7
2.5. Line Topology ..............................................9
2.6. Counters, Interval Buckets, and Thresholds ................10
2.7. Profiles ..................................................11
2.8. Notifications .............................................12
3. Definitions ....................................................14
4. Implementation Analysis ........................................66
5. Security Considerations ........................................66
6. Acknowledgements ...............................................71
7. References .....................................................72
7.1. Normative References ......................................72
7.2. Informative References ....................................73
1. The Internet-Standard Management Framework β¨
If you want the full scoop on the current Internet-Standard Management Framework docs, go check Section 7 of RFC 3410 [RFC3410] π .
Managed objects live in a virtual information store called the Management Information Base, or MIB ποΈ. You usually reach MIB objects through the Simple Network Management Protocol (SNMP) π‘. The objects are defined with the mechanisms in the Structure of Management Information (SMI). This memo's MIB module is compliant with SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579], and STD 58, RFC 2580 [RFC2580] π§ .
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be read as described in RFC 2119 [RFC2119] π. Those are the official "how strict is this" words, so pay attention to them!
2. Overview π
This doc defines a MIB module for network management protocols in the Internet community, and its whole purpose is managing HDSL2/SHDSL lines π.
The MIB module in RFC 3276 [RFC3276] describes objects for managing High Bit-Rate DSL - 2nd generation (HDSL2) [T1E1.4] and Single-Pair High-Speed Digital Subscriber Line (SHDSL) interfaces [G.991.2]. Those object descriptions come from the HDSL2 and SHDSL Embedded Operations Channel (EOC) specs, which are defined in the American National Standards Institute (ANSI) T1E1.4/2000-006 [T1E1.4] and the International Telecommunication Union (ITU) G.991.2 [G.991.2] π§.
This document obsoletes RFC 3276 [RFC3276] π. The reason is that RFC 3276 supports G.shdsl, while this MIB module supports G.shdsl.bis, as described in G.991.2 [G.991.2]. On top of that, objects were added to improve how SHDSL lines get managed π₯.
The MIB module lives in the MIB tree under MIB 2 transmission. The MIB-2 Integration section of this document (RFC 2863 [RFC2863]) explains that placement πΈ.
2.1. Relationship to Other MIBs π«§
This section explains how this MIB module relates to other MIB modules described in RFCs. The big one here is the IF-MIB, as presented in RFC 2863 [RFC2863] π.
2.1.1. General IF-MIB Integration (RFC 2863) π
The HDSL2/SHDSL line MIB spells out the detailed attributes of a data interface, so it needs to integrate with RFC 2863 [RFC2863]. The IANA has assigned these ifTypes to HDSL2 and SHDSL π¦:
IANAifType ::= TEXTUAL-CONVENTION
...
SYNTAX INTEGER {
...
hdsl2 (168), -- High Bit-Rate DSL, 2nd generation
shdsl (169), -- Multirate HDSL2
...
}
Heads up: the ifFixedLengthGroup from RFC 2863 [RFC2863] MUST be supported. The ifRcvAddressGroup does not apply to this MIB module π.
2.1.2. Usage of ifTable π
The MIB branch that this ifType points to has tables that fit this interface type. Most of those tables extend the ifEntry table and are indexed by ifIndex π§. For interfaces in systems that implement this MIB module, the table entries indexed by ifIndex MUST be persistent π.
These attributes are part of the mandatory ifGeneralInformationGroup in RFC 2863 [RFC2863], and they are not duplicated in the HDSL2/SHDSL line MIB π .
===================================================================
ifIndex Interface index.
ifDescr See interfaces MIB [RFC2863].
ifType hdsl2(168) or shdsl(169).
ifSpeed Set as appropriate.
(This is fixed at 1552000 for HDSL2
lines)
ifPhysAddress This object MUST have an octet string
with zero length.
ifAdminStatus See interfaces MIB [RFC2863].
ifOperStatus See interfaces MIB [RFC2863].
ifLastChange See interfaces MIB [RFC2863].
ifName See interfaces MIB [RFC2863].
ifAlias See interfaces MIB [RFC2863].
ifLinkUpDownTrapEnable Default to enabled(1).
ifHighSpeed Set as appropriate.
(For HDSL2 lines, this is fixed at 2)
ifConnectorPresent Set as appropriate.
===================================================================
Figure 1: Use of ifTable Objects
2.2. IANA Considerations ποΈ
The HDSL2-SHDSL-LINE-MIB module needs one object identifier for its MODULE-IDENTITY π. The IANA already allocated that object identifier in the transmission subtree (48), which is defined in the SNMPv2-SMI MIB module β¨.
The assignment actually happened when RFC 3276 was published. This revision of the RFC doesn't ask IANA to do anything new π .
2.3. Conventions Used in the MIB Module π
2.3.1. Naming Conventions π·οΈ
Here's the naming cheat sheet, and yes, it has a few quirks in the lettering, so read it exactly as written π:
A. xtuC refers to a central site terminal unit;
H2TU-C for HDSL2, or STU-C for SHDSL.
B. xtuR refers to a remote site terminal unit;
H2TU-R for HDSL2, or STU-R for SHDSL.
C. xtu refers to a terminal unit; either an xtuC or xtuR.
D. xru refer to a regenerator unit;
H2RU for HDSL2, or SRU for SHDSL.
E. xU refers to any HDSL2/SHDSL unit; either an xtu or xru.
F. CRC is Cyclic Redundancy Check [G.991.2].
G. ES means Errored Second [G.991.2].
J. LOSW means Loss of Sync Word [G.991.2].
I. LOSWS means LOSW Seconds [G.991.2].
J. SES means Severely Errored Second [G.991.2].
K. SNR means Signal-to-Noise Ratio [G.991.2].
L. UAS means Unavailable Second [G.991.2].
2.3.2. Textual Conventions π
These textual conventions reflect the line topology in the MIB module (more on that in the next section), and they define how the statistics an agent keeps behave π.
- Hdsl2ShdslUnitId: Attributes with this syntax uniquely identify each unit in an HDSL2/SHDSL span. It mirrors the EOC addressing mechanism π§:
xtuC(1) - central office (CO) terminal unit
xtuR(2) - customer premises equipment (CPE)
terminal unit
xru1(3) .. xru8(10) - regenerators, numbered from
central office side
- Hdsl2ShdslUnitSide: Attributes with this syntax reference the two sides of a unit πͺ:
networkSide(1) - N in figure 2, below
customerSide(2) - C in figure 2, below
- Hdsl2ShdslWirePair: Attributes with this syntax reference the wire pairs that connect the units π§΅:
wirePair1(1) - First pair for HDSL2/SHDSL.
wirePair2(2) - Optional second pair for SHDSL only.
wirePair3(3) - Optional third pair for SHDSL.bis only.
wirePair4(4) - Optional fourth pair for SHDSL.bis only.
- Hdsl2ShdslTransmissionModeType: Attributes with this syntax specify the regional setting for an SHDSL line. It's a BITS construct, and the two mode types are π:
region1 - ITU-T G.991.2 Annex A
region2 - ITU-T G.991.2 Annex B
- Hdsl2ShdslPerfCurrDayCount: Attributes with this syntax define how the 1-day (24 hour) gauges in the MIB module behave β°.
- Hdsl2Shdsl1DayIntervalCount: Attributes with this syntax define how the 1-day (24 hour) interval counters in the MIB module behave π’.
- Hdsl2ShdslPerfTimeElapsed: Attributes with this syntax define how the elapsed time counters in the MIB module behave β³.
- Hdsl2ShdslPerfIntervalThreshold: Attributes with this syntax define how the alarm thresholds in the MIB module behave π¨.
- Hdsl2ShdslClockReferenceType: Attributes with this syntax define the clock references for the HDSL2/SHDSL span β±οΈ.
2.4. Structure β¨
okay so the MIB module is split up into a bunch of MIB groups, and each one has its own job π here's the whole lineup:
- Span Configuration Group π: this one has the MIB objects for configuring the parameters of the HDSL2/SHDSL span. It only has one table:
hdsl2ShdslSpanConfTable
- Span Status Group π: this is where you grab the span status info. One table:
hdsl2ShdslSpanStatusTable
- Unit Inventory Group π§Ύ: gives you the inventory info about the units on HDSL2/SHDSL lines, pulled in via the EOC. One table:
hdsl2ShdslInventoryTable
- Segment Endpoint Configuration Group βοΈ: configuring the parameters for the HDSL2/SHDSL segment endpoints. One table:
hdsl2ShdslEndpointConfTable
- Segment Endpoint Current Status/Performance Group β‘: the current status and performance info for segment endpoints. One table:
hdsl2ShdslEndpointCurrTable
- Segment Endpoint 15-Minute Interval Status/Performance Group β±οΈ: historic status and performance for segment endpoints, bucketed in 15-minute intervals. One table:
hdsl2Shdsl15MinIntervalTable
- Segment Endpoint 1-Day Interval Status/Performance Group π: same vibe, but the historic data is bucketed in 1-day intervals. One table:
hdsl2Shdsl1DayIntervalTable
- Maintenance Group π οΈ: MIB objects for maintenance stuff like loopbacks on HDSL2/SHDSL lines. These tables:
hdsl2ShdslEndpointMaintTablehdsl2ShdslUnitMaintTable
- Span Configuration Profile Group πΈ: objects for defining configuration profiles for HDSL2/SHDSL spans. One table:
hdsl2ShdslSpanConfProfileTable
- Segment Endpoint Alarm Configuration Profile Group π: objects for defining alarm configuration profiles for HDSL2/SHDSL segment endpoints. One table:
hdsl2ShdslEndpointAlarmConfProfileTable
- Notifications Group π£: this group defines the notifications supported for HDSL2/SHDSL lines:
hdsl2ShdslLoopAttenCrossinghdsl2ShdslSNRMarginCrossinghdsl2ShdslPerfESThreshhdsl2ShdslPerfSESThreshhdsl2ShdslPerfCRCanomaliesThreshhdsl2ShdslPerfLOSWSThreshhdsl2ShdslPerfUASThreshhdsl2ShdslSpanInvalidNumRepeatershdsl2ShdslLoopbackFailurehdsl2ShdslpowerBackoffhdsl2ShdsldeviceFaulthdsl2ShdsldcContinuityFaulthdsl2ShdslconfigInitFailurehdsl2ShdslprotocolInitFailurehdsl2ShdslnoNeighborPresenthdsl2ShdslLocalPowerLoss
- SHDSL Wire Pair Group π§΅: MIB objects that show the status of the SHDSL-specific wire pairs:
hdsl2ShdslEndpointCurrTipRingReversalhdsl2ShdslEndpointCurrActivationState
- Payload Group π¦: objects for getting payload rates that leave out any framing overhead:
hdsl2ShdslStatusMaxAttainablePayloadRatehdsl2ShdslStatusActualPayloadRate
2.5. Line Topology πΊοΈ
so an HDSL2/SHDSL line needs at least two units: xtuC (the central termination unit) and xtuR (the remote termination unit) π«Ά. The line may optionally support up to 8 repeater/regenerator units (xru), and the picture below shows how that looks:
<-- Network Side Customer Side -->
|</////////////////// HDSL2/SHDSL Span ////////////////////>|
<~~~> <~~~> HDSL2/SHDSL Segments <~~~>
+-------+ +-------+ +-------+ +-------+ +-------+
+ C=1=N C=1=N C=..1..=N C=1=N +
| xtuC | | xru1 | | xru2 | | xru8 | | xtuR |
+ C=2=N C=2=N C=..2..=N C=2=N +
+-------+ +-------+ +-------+ +-------+ +-------+
Key: <////> HDSL2/SHDSL span
<~~~~> HDSL2/SHDSL segment
=1= HDSL2/SHDSL wire-pair-1
=2= SHDSL optional wire-pair-2 (Not applicable to HDSL2)
C Customer side segment endpoint (modem)
N Network side segment endpoint (modem)
Figure 2: General Topology for an HDSL2/SHDSL Line
2.6. Counters, Interval Buckets, and Thresholds π
okay this part is giving math-homework energy but it's actually so cute π€. For SNR Margin, Loop Attenuation, ES, SES, CRC anomalies, LOSW, and UAS, there are event counters. There's also the current 15-minute bucket plus 0 to 96 15-minute history buckets of "interval-counters", and then the current 1-day interval-counter plus 0 to 30 previous ones π. Each current 15-minute event bucket has its own threshold notification.
Unlike RFC 3593 [RFC3593] and RFC 2662 [RFC2662], the MIB module has no way to represent invalid buckets. So if the data for an interval is suspect or known to be invalid, the agent MUST NOT report that interval. And if the current 15-minute event bucket turns out to be invalid, notifications based on that bucket value MUST NOT be generated π ββοΈ.
Skipping an interval leaves holes in the table, so be ready for that π
For example, hdsl2Shdsl15MinIntervalTable is indexed by { ifIndex, hdsl2ShdslInvIndex, hdsl2ShdslEndpointSide, hdsl2ShdslEndpointWirePair, hdsl2Shdsl15MinIntervalNumber}. If interval 12 is determined to be invalid but intervals 11 and 13 are valid, a Get Next operation on the indices .1.1.1.1.11 would return indices .1.1.1.1.13 π¦.
There is no requirement for an agent to keep a fixed relationship between the start of a 15-minute interval and any wall clock, so it's totally chill. Some implementations may line the 15-minute intervals up with quarter hours, and an implementation may choose to line 1-day intervals up with the start of a day β°.
Counters don't reset when an xU gets reinitialized. They only reset when the agent is reset or reinitialized, or under a specific request that's outside the scope of this MIB module π.
2.7. Profiles π
so a managed node can handle a LOT of xUs, like hundreds or maybe thousands of lines π. Provisioning every single parameter on every single xU would be exhausting. Most lines are set up the exact same way anyway, so this MIB module uses profiles to make life easier π. A profile is a set of parameters that can be shared by multiple lines that use the same configuration.
The following profiles are used in this MIB module:
- Span Configuration Profiles: these contain parameters for configuring HDSL2/SHDSL spans. They're defined in
hdsl2ShdslSpanConfProfileTable. Since span configuration parameters only apply to SHDSL, support for span configuration profiles is optional for HDSL2 interfaces π .
Heads up though: the span's configuration decides how each individual segment endpoint in the span behaves. If a different configuration gets provisioned for any given segment endpoint in the span, that new configuration overrides the span configuration for that segment endpoint only π«£.
- Segment Endpoint Alarm Configuration Profiles: these hold parameters for setting alarm thresholds on HDSL2/SHDSL segment endpoints. They're defined in
hdsl2ShdslEndpointAlarmConfProfileTable.
The index value for this profile is a locally-unique, administratively-assigned name for the profile, using the textual convention 'SnmpAdminString' (RFC 3411 [RFC3411]) π·οΈ.
One or more lines can share the parameters of a single profile. For example, you could set hdsl2ShdslEndpointAlarmConfProfile = 'silver' by pointing the line's hdsl2ShdslEndpointAlarmConfProfile objects at that profile π₯. If you change the profile, every line that refers to it gets reconfigured to the new parameters. Before a profile can be deleted or taken out of service, it has to be unreferenced from all of its associated lines first, so make sure you clean up those links π§Ή.
Implementations MUST provide a default profile named 'DEFVAL' for each profile type π«Ά. The values of its parameters will be vendor specific unless this document says otherwise. Before a line's profiles have been set, these default profiles get used automatically, by setting hdsl2ShdslEndpointAlarmConfProfile and hdsl2ShdslSpanConfProfile to 'DEFVAL' wherever it applies. The name 'DEFVAL' is reserved in the context of the profiles defined in this MIB module, so don't go naming your own profile that π«.
Profiles are created, assigned, and deleted dynamically, using the profile name and profile row status in each of the four profile tables β¨.
Profile changes MUST take effect immediately π. These changes MAY result in a restart (hard reset or soft restart) of the units on the line, so don't be surprised if the line blinks on you π .
2.8. Notifications
okay so notifications are the main event π the agent has to be able to send the SNMP notifications coldStart/warmStart (per [RFC3418]), which are per agent (like per Digital Subscriber Line Access Multiplexer, or DSLAM, in such a device), and linkUp/linkDown (per [RFC2863]), which are per interface (i.e., HDSL2/SHDSL line). this one is required π
A linkDown notification MAY be generated whenever any ES, SES, CRC anomaly, LOSW, or UAS event occurs. The corresponding linkUp notification MAY be sent when all link failure conditions are cleared. π¦
The notifications defined in this MIB module are for initialization failure and for the threshold crossings tied to these events: ES, SES, CRC anomaly, LOSW, and UAS. Every threshold gets its own enable/threshold value, and when that value is 0, the notification is disabled π
okay the hdsl2ShdslEndpointCurrStatus one is a bitmask that shows all outstanding error conditions for a particular segment endpoint. ngl it's a little tricky, because the status of remote endpoints comes in through the EOC. so this info may be unavailable for units that are unreachable via EOC during a line error condition, which means not all conditions may always show up in its current status. the bit fields in this object do get notifications defined for them though β¨
Two alarm conditions, SNR Margin Alarm and Loop Attenuation Alarm, are organized a bit differently than the EOC specs imply. In the MIB module, they're tied to the two thresholds hdsl2ShdslEndpointThreshSNRMargin and hdsl2ShdslEndpointThreshLoopAttenuation, which live in the hdsl2ShdslEndpointAlarmConfProfileTable. In the EOC, those alarm conditions are per unit, but in the MIB module they're per endpoint. For terminal units this makes no difference. For repeaters, though, it creates an implementation variance: the agent in the terminal unit is responsible for detecting a threshold crossing. The good news is that the repeater's detected alarm condition gets reported to the polling terminal unit in the same EOC message as the current SNR Margin and Loop Attenuation values, so it's anticipated this will have very little impact on agent implementation π«Ά
A threshold notification happens whenever the corresponding current 15-minute interval error counter becomes equal to, or exceeds, the threshold value. Only one notification SHOULD be sent per interval per interface πΈ Since the current 15-minute counter gets reset to 0 every 15 minutes, and if the condition persists, the notification may recur as often as every 15 minutes. For example, if you want a notification whenever a "loss of" event happens (but at most once every 15 minutes), set the corresponding threshold to 1. The agent will generate a notification when the event originally occurs π₯
Notifications other than the threshold notifications listed above SHOULD be rate limited (throttled) so there's at least a 1-minute gap between the generation of consecutive notifications of the same event. When notifications get rate limited, they're dropped and not queued for sending at a future time. This is meant as a general rate-limiting statement for any notifications that don't have explicit rate-limiting assertions elsewhere in this document π§
Note that the Network Management System, or NMS, may receive a linkDown notification as well, if it's enabled (via ifLinkUpDownTrapEnable [RFC2863]). 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 notification will be sent again π
An hdsl2ShdslSpanInvalidNumRepeaters notification may be generated following completion of the discovery phase if the number of repeaters discovered on the line differs from the number of repeaters specified in hdsl2ShdslSpanConfNumRepeaters. If the number of provisioned repeaters is greater than the ones encountered during span discovery, all table entries associated with the nonexistent repeaters are to be discarded. If the number of provisioned repeaters is less than the ones encountered during span discovery, additional table entries are to be created using the default span configuration profile π
3. Definitions β¨
okay here's the actual MIB module, bestie π the big code block below is copied exactly as written, so every name and comment is preserved π
HDSL2-SHDSL-LINE-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE,
Counter32,
Unsigned32,
Gauge32,
NOTIFICATION-TYPE,
Integer32,
transmission
FROM SNMPv2-SMI
RowStatus,
TEXTUAL-CONVENTION
FROM SNMPv2-TC
ifIndex
FROM IF-MIB
PerfCurrentCount,
PerfIntervalCount
FROM PerfHist-TC-MIB
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB
MODULE-COMPLIANCE,
OBJECT-GROUP,
NOTIFICATION-GROUP
FROM SNMPv2-CONF;
hdsl2ShdslMIB MODULE-IDENTITY
LAST-UPDATED "200512070000Z" -- December 7, 2005
ORGANIZATION "ADSLMIB Working Group"
CONTACT-INFO "WG-email: adslmib@ietf.org
WG-URL:
http://www.ietf.org/html.charters/adslmib-charter.html
Info: https://www1.ietf.org/mailman/listinfo/adslmib
Chair: Mike Sneed
Sand Channel Systems
Postal: 1210-203 Westview Ln
Raleigh NC 27605 USA
Email: sneedmike@hotmail.com
Phone: +1 206 600 7022
Co-Chair Bob Ray
PESA Switching Systems, Inc.
Postal 330-A Wynn Drive
Huntsville, AL 35805 USA
Phone +1 256 726 9200 ext. 142
Co-editor: Clay Sikes
Zhone Technologies, Inc.
Postal: 8545 126th Ave. N.
Largo, FL 33772 USA
Email: csikes@zhone.com
Phone: +1 727 530 8257
Co-editor: Bob Ray
PESA Switching Systems, Inc.
Postal: 330-A Wynn Drive
Huntsville, AL 35805 USA
Email: rray@pesa.com
Phone: +1 256 726 9200 ext. 142
Co-editor: Rajesh Abbi
Alcatel USA
Postal: 2301 Sugar Bush Road
Raleigh, NC 27612-3339 USA
Email: Rajesh.Abbi@alcatel.com
Phone: +1 919 850 6194"
DESCRIPTION
"This MIB module defines a collection of objects for managing
HDSL2/SHDSL lines. An agent may reside at either end of the
line; however, the MIB module is designed to require no
management communication between the modems beyond that
inherent in the low-level EOC line protocol as defined in
ANSI T1E1.4/2000-006 (for HDSL2 lines) or in ITU G.991.2
(for SHDSL lines).
Copyright (C) The Internet Society (2005). This version of
this MIB module is part of RFC 4319; see the RFC itself for
full legal notices."
REVISION "200512070000Z" -- December 7, 2005
DESCRIPTION "This version, published as RFC 4319.
The following changes have been made in this version:
1. Added a 3rd and 4th wire pair.
2. Modified all rates such that their rates are only
constrained by an unsigned 32-bit value and not by
what today's perceived technology limitations are.
3. Clarified that the rates from RFC 3276 include
payload and any applicable framing and added
objects for payload-only rates.
4. Added an object to indicate whether the
tip and ring are reversed on a wire pair.
5. Added an object to display the activation state
of a wire pair.
6. Added references as necessary for clarification.
7. Added display hints to textual conventions as
necessary.
8. Updated conformance statements as necessary.
9. Some changes were due to IETF requirements and
RFC generation tools."
REVISION "200205090000Z" -- May 9, 2002
DESCRIPTION "Initial version, published as RFC 3276."
::= { transmission 48 }
hdsl2ShdslMibObjects OBJECT IDENTIFIER ::= { hdsl2ShdslMIB 1 }
-- Textual Conventions used in this MIB module
--
Hdsl2ShdslPerfCurrDayCount ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A gauge associated with interface performance measurements in
a current 1-day (24 hour) measurement interval.
The value of this gauge 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
gauge is stored in the previous 1-day history interval, as
defined in a companion object of type
Hdsl2Shdsl1DayIntevalCount, and the current interval gauge
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. Please note that zero is a valid value."
SYNTAX Gauge32
Hdsl2Shdsl1DayIntervalCount ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A counter associated with interface performance measurements
during the most previous 1-day (24 hour) measurement interval.
The value of this gauge is equal to the value of the current
day gauge, as defined in a companion object of type
Hdsl2ShdslPerfCurrDayCount, 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."
SYNTAX Gauge32
Hdsl2ShdslPerfTimeElapsed ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
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 or the addition
of a leap second, the current interval exceeds the maximum
value, the agent will return the maximum value.
For 15-minute intervals, the range is limited to (0..899).
For 24-hour intervals, the range is limited to (0..86399)."
SYNTAX Unsigned32(0..86399)
Hdsl2ShdslPerfIntervalThreshold ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"This convention defines a range of values that may be set in
a fault threshold alarm control. As the number of seconds in
a 15-minute interval numbers at most 900, objects of this type
may have a range of 0...900, where the value of 0 disables the
alarm."
SYNTAX Unsigned32(0..900)
Hdsl2ShdslUnitId ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This is the unique identification for all units in an
HDSL2/SHDSL span. It is based on the EOC unit addressing
scheme with reference to the xtuC."
SYNTAX INTEGER
okay bestie, the enums are still going and they are SO organized πβ¨ here's the next chunk π
{
xtuC(1),
xtuR(2),
xru1(3),
xru2(4),
xru3(5),
xru4(6),
xru5(7),
xru6(8),
xru7(9),
xru8(10)
}
Hdsl2ShdslUnitSide ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This is the referenced side of an HDSL2/SHDSL unit - Network
or Customer side. The side facing the Network is the Network
side, while the side facing the Customer is the Customer side."
SYNTAX INTEGER
{
networkSide(1),
customerSide(2)
}
Hdsl2ShdslWirePair ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This is the referenced pair of wires in an HDSL2/SHDSL segment.
HDSL2 only supports a single pair (wirePair1 or two wire),
SHDSL lines support an optional second pair (wirePair2 or four
wire), and G.shdsl.bis support an optional third pair
(wirePair3 or six wire) and an optional fourth pair
(wirePair4 or eight wire)."
SYNTAX INTEGER
{
wirePair1(1), -- two wire
wirePair2(2), -- four wire
wirePair3(3), -- six wire
wirePair4(4) -- eight wire
}
Hdsl2ShdslTransmissionModeType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Contains the regional setting of the HDSL2/SHDSL span,
represented as a bit-map of possible settings. The various
bit positions are as follows:
Bit Meaning Description
1 region 1 Indicates ITU-T G.991.2 Annex A.
2 region 2 Indicates ITU-T G.991.2 Annex B."
SYNTAX BITS
{
region1(0),
region2(1)
}
Hdsl2ShdslClockReferenceType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The various STU-C symbol clock references for the
HDSL2/SHDSL span, represented as an enumeration."
SYNTAX INTEGER
{
localClk(1), -- Mode-1 per G991.2
networkClk(2), -- Mode-2 per G991.2
dataOrNetworkClk(3), -- Mode-3a per G991.2
dataClk(4) -- Mode-3b per G991.2
}
-- Span Configuration Group
--
hdsl2ShdslSpanConfTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslSpanConfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table supports overall configuration of HDSL2/SHDSL
spans. Entries in this table MUST be maintained in a
persistent manner."
::= { hdsl2ShdslMibObjects 1 }
hdsl2ShdslSpanConfEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslSpanConfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2ShdslSpanConfTable. Each entry
represents the complete span in a single HDSL2/SHDSL line.
It is indexed by the ifIndex of the associated HDSL2/SHDSL
line."
INDEX { ifIndex }
::= { hdsl2ShdslSpanConfTable 1 }
Hdsl2ShdslSpanConfEntry ::=
SEQUENCE
{
hdsl2ShdslSpanConfNumRepeaters Unsigned32,
hdsl2ShdslSpanConfProfile SnmpAdminString,
hdsl2ShdslSpanConfAlarmProfile SnmpAdminString
}
hdsl2ShdslSpanConfNumRepeaters OBJECT-TYPE
SYNTAX Unsigned32(0..8)
UNITS "repeaters"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object provisions the number of repeaters/regenerators
in this HDSL2/SHDSL span."
::= { hdsl2ShdslSpanConfEntry 1 }
hdsl2ShdslSpanConfProfile OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is a pointer to a span configuration profile in
the hdsl2ShdslSpanConfProfileTable, which applies to this
span. The value of this object is the index of the referenced
profile in the hdsl2ShdslSpanConfProfileTable. Note that span
configuration profiles are only applicable to SHDSL lines.
HDSL2 lines MUST reference the default profile, 'DEFVAL'.
By default, this object will have the value 'DEFVAL'
(the index of the default profile).
Any attempt to set this object to a value that is not the value
of the index for an active entry in the profile table,
hdsl2ShdslSpanConfProfileTable, MUST be rejected."
::= { hdsl2ShdslSpanConfEntry 2 }
hdsl2ShdslSpanConfAlarmProfile OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is a pointer to an alarm configuration profile in
the hdsl2ShdslEndpointAlarmConfProfileTable. The value of
this object is the index of the referenced profile in the
hdsl2ShdslEndpointAlarmConfProfileTable. The alarm
threshold configuration in the referenced profile will be
used by default for all segment endpoints in this span.
Individual endpoints may override this profile by explicitly
specifying some other profile in the
hdsl2ShdslEndpointConfTable. By default, this object will
have the value 'DEFVAL' (the index of the default
profile).
Any attempt to set this object to a value that is not the value
of the index for an active entry in the profile table,
hdsl2ShdslEndpointAlarmConfProfileTable, MUST be rejected."
::= { hdsl2ShdslSpanConfEntry 3 }
-- Span Status Group
--
hdsl2ShdslSpanStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslSpanStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides overall status information of
HDSL2/SHDSL spans. This table contains live data from
equipment. As such, it is NOT persistent."
::= { hdsl2ShdslMibObjects 2 }
hdsl2ShdslSpanStatusEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslSpanStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2ShdslSpanStatusTable. Each entry
represents the complete span in a single HDSL2/SHDSL line.
It is indexed by the ifIndex of the associated HDSL2/SHDSL
line."
INDEX { ifIndex }
::= { hdsl2ShdslSpanStatusTable 1 }
Hdsl2ShdslSpanStatusEntry ::=
SEQUENCE
{
hdsl2ShdslStatusNumAvailRepeaters Unsigned32,
hdsl2ShdslStatusMaxAttainableLineRate Unsigned32,
hdsl2ShdslStatusActualLineRate Unsigned32,
hdsl2ShdslStatusTransmissionModeCurrent
Hdsl2ShdslTransmissionModeType,
hdsl2ShdslStatusMaxAttainablePayloadRate Unsigned32,
hdsl2ShdslStatusActualPayloadRate Unsigned32
}
hdsl2ShdslStatusNumAvailRepeaters OBJECT-TYPE
SYNTAX Unsigned32(0..8)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Contains the actual number of repeaters/regenerators
discovered in this HDSL2/SHDSL span."
::= { hdsl2ShdslSpanStatusEntry 1 }
hdsl2ShdslStatusMaxAttainableLineRate OBJECT-TYPE
SYNTAX Unsigned32(0..4294967295)
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Contains the maximum attainable line rate in this HDSL2/SHDSL
span. This object provides the maximum rate the line is
capable of achieving. This is based upon measurements made
during line probing. This rate includes payload (user data)
and any applicable framing overhead."
::= { hdsl2ShdslSpanStatusEntry 2 }
hdsl2ShdslStatusActualLineRate OBJECT-TYPE
SYNTAX Unsigned32(0..4294967295)
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Contains the actual line rate in this HDSL2/SHDSL span. This
SHOULD equal ifSpeed. This rate includes payload (user data)
and any applicable framing overhead"
::= { hdsl2ShdslSpanStatusEntry 3 }
hdsl2ShdslStatusTransmissionModeCurrent OBJECT-TYPE
SYNTAX Hdsl2ShdslTransmissionModeType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Contains the current Power Spectral Density (PSD) regional
setting of the HDSL2/SHDSL span."
::= { hdsl2ShdslSpanStatusEntry 4 }
hdsl2ShdslStatusMaxAttainablePayloadRate OBJECT-TYPE
SYNTAX Unsigned32(0..4294967295)
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Contains the maximum attainable payload (user data)
line rate in this HDSL2/SHDSL span. This object provides
the maximum rate the line is capable of achieving. This
is based upon measurements made during line probing. Any
framing overhead is not included."
::= { hdsl2ShdslSpanStatusEntry 5 }
hdsl2ShdslStatusActualPayloadRate OBJECT-TYPE
SYNTAX Unsigned32(0..4294967295)
UNITS "bps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Contains the actual line rate in this HDSL2/SHDSL span. Any
framing overhead is not included."
::= { hdsl2ShdslSpanStatusEntry 6 }
-- Unit Inventory Group
--
hdsl2ShdslInventoryTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslInventoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table supports retrieval of unit inventory information
available via the EOC from units in an HDSL2/SHDSL line.
Entries in this table are dynamically created during the
line discovery process. The life cycle for these entries
is as follows:
- xtu discovers a device, either a far-end xtu or an xru
- an inventory table entry is created for the device
- the line goes down for whatever reason
- inventory table entries for unreachable devices are
destroyed
As these entries are created/destroyed dynamically, they
are NOT persistent."
::= { hdsl2ShdslMibObjects 3 }
hdsl2ShdslInventoryEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslInventoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2ShdslInventoryTable. Each entry
represents inventory information for a single unit in an
HDSL2/SHDSL line. It is indexed by the ifIndex of the
HDSL2/SHDSL line and the Hdsl2ShdslUnitId of the
associated unit."
INDEX { ifIndex, hdsl2ShdslInvIndex }
::= { hdsl2ShdslInventoryTable 1 }
Hdsl2ShdslInventoryEntry ::=
SEQUENCE
{
hdsl2ShdslInvIndex Hdsl2ShdslUnitId,
hdsl2ShdslInvVendorID OCTET STRING,
hdsl2ShdslInvVendorModelNumber OCTET STRING,
hdsl2ShdslInvVendorSerialNumber OCTET STRING,
hdsl2ShdslInvVendorEOCSoftwareVersion Integer32,
hdsl2ShdslInvStandardVersion Integer32,
hdsl2ShdslInvVendorListNumber OCTET STRING,
hdsl2ShdslInvVendorIssueNumber OCTET STRING,
hdsl2ShdslInvVendorSoftwareVersion OCTET STRING,
hdsl2ShdslInvEquipmentCode OCTET STRING,
hdsl2ShdslInvVendorOther OCTET STRING,
hdsl2ShdslInvTransmissionModeCapability
Hdsl2ShdslTransmissionModeType
}
Okay bestie, the inventory objects are giving full detective energy π΅οΈββοΈβ¨ Each row is one physical piece of an HDSL2/SHDSL span, and every field has its own G.991.2 reference so you can trace it back to the exact octets π
hdsl2ShdslInvIndex OBJECT-TYPE
SYNTAX Hdsl2ShdslUnitId
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in this table corresponds to a physical element
in an HDSL2/SHDSL span. It is based on the EOC unit addressing
scheme with reference to the xtuC."
::= { hdsl2ShdslInventoryEntry 1 }
hdsl2ShdslInvVendorID OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(8))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Vendor ID as reported in an Inventory Response message."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octets 25-32."
::= { hdsl2ShdslInventoryEntry 2 }
hdsl2ShdslInvVendorModelNumber OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(12))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Vendor model number as reported in an Inventory Response
message."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octets 33-44."
::= { hdsl2ShdslInventoryEntry 3 }
hdsl2ShdslInvVendorSerialNumber OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(12))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Vendor serial number as reported in an Inventory Response
message."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octets 45-56."
::= { hdsl2ShdslInventoryEntry 4 }
hdsl2ShdslInvVendorEOCSoftwareVersion OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Vendor EOC version as reported in a Discovery Response
message."
REFERENCE
"G.991.2, Section 9.5.5.7.2, Discovery response - Message ID
129, Octet 12."
::= { hdsl2ShdslInventoryEntry 5 }
hdsl2ShdslInvStandardVersion OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Version of the HDSL2/SHDSL standard implemented, as reported
in an Inventory Response message."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octet 2."
::= { hdsl2ShdslInventoryEntry 6 }
hdsl2ShdslInvVendorListNumber OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(3))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Vendor list number as reported in an Inventory Response
message."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octets 3-5."
::= { hdsl2ShdslInventoryEntry 7 }
hdsl2ShdslInvVendorIssueNumber OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(2))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Vendor issue number as reported in an Inventory Response
message."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octets 6-7."
::= { hdsl2ShdslInventoryEntry 8 }
hdsl2ShdslInvVendorSoftwareVersion OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(6))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Vendor software version as reported in an Inventory Response
message."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octets 8-13."
::= { hdsl2ShdslInventoryEntry 9 }
hdsl2ShdslInvEquipmentCode OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(10))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Equipment code conforming to ANSI T1.213, Coded Identification
of Equipment Entities."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octets 14-23."
::= { hdsl2ShdslInventoryEntry 10 }
hdsl2ShdslInvVendorOther OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(12))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Other vendor information as reported in an Inventory Response
message."
REFERENCE
"G.991.2, Section 9.5.5.7.4, Inventory response - Message ID
130, Octets 57-68."
::= { hdsl2ShdslInventoryEntry 11 }
hdsl2ShdslInvTransmissionModeCapability OBJECT-TYPE
SYNTAX Hdsl2ShdslTransmissionModeType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Contains the transmission mode capability of the SHDSL unit."
::= { hdsl2ShdslInventoryEntry 12 }
Next up is the Segment Endpoint Configuration group π This table is indexed by ifIndex, so it has to stick around in a persistent way, and the alarm profile setting has a strict rule: anything that isn't a valid, active profile index gets rejected π ββοΈ
-- Segment Endpoint Configuration Group
--
hdsl2ShdslEndpointConfTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslEndpointConfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table supports configuration parameters for segment
endpoints in an HDSL2/SHDSL line. As this table is indexed
by ifIndex, it MUST be maintained in a persistent manner."
::= { hdsl2ShdslMibObjects 4 }
hdsl2ShdslEndpointConfEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslEndpointConfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2ShdslEndpointConfTable. Each entry
represents a single segment endpoint in an HDSL2/SHDSL line.
It is indexed by the ifIndex of the HDSL2/SHDSL line, the
UnitId of the associated unit, the side of the unit, and the
wire pair of the associated modem."
INDEX { ifIndex, hdsl2ShdslInvIndex, hdsl2ShdslEndpointSide,
hdsl2ShdslEndpointWirePair}
::= { hdsl2ShdslEndpointConfTable 1 }
Hdsl2ShdslEndpointConfEntry ::=
SEQUENCE
{
hdsl2ShdslEndpointSide Hdsl2ShdslUnitSide,
hdsl2ShdslEndpointWirePair Hdsl2ShdslWirePair,
hdsl2ShdslEndpointAlarmConfProfile SnmpAdminString
}
hdsl2ShdslEndpointSide OBJECT-TYPE
SYNTAX Hdsl2ShdslUnitSide
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The side of the unit associated with this segment endpoint --
Network/Customer side -- as per the Hdsl2ShdslUnitSide textual
convention."
::= { hdsl2ShdslEndpointConfEntry 1 }
hdsl2ShdslEndpointWirePair OBJECT-TYPE
SYNTAX Hdsl2ShdslWirePair
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The wire pair of the modem associated with this segment
endpoint as per the Hdsl2ShdslWirePair textual convention."
::= { hdsl2ShdslEndpointConfEntry 2 }
hdsl2ShdslEndpointAlarmConfProfile OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(0..32))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object configures the alarm threshold values to be used
for this segment endpoint. The values are obtained from the
alarm configuration profile referenced by this object. The
value of this object is the index of the referenced profile in
the hdsl2ShdslEndpointAlarmConfProfileTable, or NULL (a
zero-length SnmpAdminString). If the value is a zero-length
SnmpAdminString, the endpoint uses the default Alarm
Configuration Profile for the associated span as per the
hdsl2ShdslSpanConfAlarmProfile object in the
hdsl2ShdslSpanConfTable. The default value of this object is
a zero-length SnmpAdminString.
Any attempt to set this object to a value that is not the value
of the index for an active entry in the profile table,
hdsl2ShdslEndpointAlarmConfProfileTable, MUST be rejected."
::= { hdsl2ShdslEndpointConfEntry 3 }
Last bit for this chunk: the Segment Endpoint Current Status/Performance group π It's the live-stats table, indexed the same way, and it's also a table that MUST be kept persistent π«Ά The first two objects are the loop attenuation and the SNR margin, both measured in dB π₯
-- Segment Endpoint Current Status/Performance Group
--
hdsl2ShdslEndpointCurrTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslEndpointCurrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains current status and performance information
for segment endpoints in HDSL2/SHDSL lines. As with other
tables in this MIB module indexed by ifIndex, entries in this
table MUST be maintained in a persistent manner."
::= { hdsl2ShdslMibObjects 5 }
hdsl2ShdslEndpointCurrEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslEndpointCurrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2ShdslEndpointCurrTable. Each entry
contains status and performance information relating to a
single segment endpoint. It is indexed by the ifIndex of the
HDSL2/SHDSL line, the UnitId of the associated unit, the side
of the unit, and the wire pair of the associated modem."
INDEX { ifIndex, hdsl2ShdslInvIndex, hdsl2ShdslEndpointSide,
hdsl2ShdslEndpointWirePair }
::= { hdsl2ShdslEndpointCurrTable 1 }
Hdsl2ShdslEndpointCurrEntry ::=
SEQUENCE
{
hdsl2ShdslEndpointCurrAtn Integer32,
hdsl2ShdslEndpointCurrSnrMgn Integer32,
hdsl2ShdslEndpointCurrStatus BITS,
hdsl2ShdslEndpointES Counter32,
hdsl2ShdslEndpointSES Counter32,
hdsl2ShdslEndpointCRCanomalies Counter32,
hdsl2ShdslEndpointLOSWS Counter32,
hdsl2ShdslEndpointUAS Counter32,
hdsl2ShdslEndpointCurr15MinTimeElapsed
Hdsl2ShdslPerfTimeElapsed,
hdsl2ShdslEndpointCurr15MinES PerfCurrentCount,
hdsl2ShdslEndpointCurr15MinSES PerfCurrentCount,
hdsl2ShdslEndpointCurr15MinCRCanomalies PerfCurrentCount,
hdsl2ShdslEndpointCurr15MinLOSWS PerfCurrentCount,
hdsl2ShdslEndpointCurr15MinUAS PerfCurrentCount,
hdsl2ShdslEndpointCurr1DayTimeElapsed
Hdsl2ShdslPerfTimeElapsed,
hdsl2ShdslEndpointCurr1DayES
Hdsl2ShdslPerfCurrDayCount,
hdsl2ShdslEndpointCurr1DaySES
Hdsl2ShdslPerfCurrDayCount,
hdsl2ShdslEndpointCurr1DayCRCanomalies
Hdsl2ShdslPerfCurrDayCount,
hdsl2ShdslEndpointCurr1DayLOSWS
Hdsl2ShdslPerfCurrDayCount,
hdsl2ShdslEndpointCurr1DayUAS
Hdsl2ShdslPerfCurrDayCount,
hdsl2ShdslEndpointCurrTipRingReversal INTEGER,
hdsl2ShdslEndpointCurrActivationState INTEGER
}
hdsl2ShdslEndpointCurrAtn OBJECT-TYPE
SYNTAX Integer32(-127..128)
UNITS "dB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current loop attenuation for this endpoint as reported in
a Network or Customer Side Performance Status message."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 1 }
hdsl2ShdslEndpointCurrSnrMgn OBJECT-TYPE
SYNTAX Integer32(-127..128)
UNITS "dB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current SNR margin for this endpoint as reported in a
Status Response/SNR message."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 2 }
That's the endpoint config and the current-status setup covered, and the reference sections are all still pointing at the right places π
okay bestie, we're back in the MIB π and this part is all about the endpoint's current status and its running counters β¨
Here's the status object first. It's a bit-map, so each bit is its own little checkbox π§ and noDefect is the one that says everything's fine π«Ά
hdsl2ShdslEndpointCurrStatus OBJECT-TYPE
SYNTAX BITS
{
noDefect(0),
powerBackoff(1),
deviceFault(2),
dcContinuityFault(3),
snrMarginAlarm(4),
loopAttenuationAlarm(5),
loswFailureAlarm(6),
configInitFailure(7),
protocolInitFailure(8),
noNeighborPresent(9),
loopbackActive(10)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Contains the current state of the endpoint. This is a
bit-map of possible conditions. The various bit positions
are as follows:
noDefect There are no defects on the line.
powerBackoff Indicates enhanced Power Backoff.
deviceFault Indicates that a vendor-dependent
diagnostic or self-test fault
has been detected.
dcContinuityFault Indicates vendor-dependent
conditions that interfere with
span powering such as short and
open circuits.
snrMarginAlarm Indicates that the SNR margin
has dropped below the alarm threshold.
loopAttenuationAlarm Indicates that the loop attenuation
exceeds the alarm threshold.
loswFailureAlarm Indicates a forward LOSW alarm.
configInitFailure Endpoint failure during initialization
due to paired endpoint not able to
support requested configuration.
protocolInitFailure Endpoint failure during initialization
due to incompatible protocol used by
the paired endpoint.
noNeighborPresent Endpoint failure during initialization
due to no activation sequence detected
from paired endpoint.
loopbackActive A loopback is currently active at this
segment endpoint.
This is intended to supplement ifOperStatus. Note that there
is a 1:1 relationship between the status bits defined in this
object and the notification thresholds defined elsewhere in
this MIB module."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 3 }
hdsl2ShdslEndpointES OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds (ES) on this endpoint since the xU
was last restarted."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 4 }
hdsl2ShdslEndpointSES OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Severely Errored Seconds (SES) on this endpoint
since the xU was last restarted."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 5 }
hdsl2ShdslEndpointCRCanomalies OBJECT-TYPE
SYNTAX Counter32
UNITS "detected CRC Anomalies"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of CRC anomalies on this endpoint since the xU was
last restarted."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 6 }
hdsl2ShdslEndpointLOSWS OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Loss of Sync Word (LOSW) Seconds on this endpoint
since the xU was last restarted."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 7 }
hdsl2ShdslEndpointUAS OBJECT-TYPE
SYNTAX Counter32
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Unavailable Seconds (UAS) on this endpoint since
the xU was last restarted."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 8 }
hdsl2ShdslEndpointCurr15MinTimeElapsed OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfTimeElapsed
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total elapsed seconds in the current 15-minute interval."
::= { hdsl2ShdslEndpointCurrEntry 9 }
hdsl2ShdslEndpointCurr15MinES OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds (ES) in the current 15-minute
interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 10 }
hdsl2ShdslEndpointCurr15MinSES OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Severely Errored Seconds (SES) in the current
15-minute interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 11 }
hdsl2ShdslEndpointCurr15MinCRCanomalies OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "detected CRC Anomalies"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of CRC anomalies in the current 15-minute interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 12 }
hdsl2ShdslEndpointCurr15MinLOSWS OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Loss of Sync Word (LOSW) Seconds in the current
15-minute interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 13 }
hdsl2ShdslEndpointCurr15MinUAS OBJECT-TYPE
SYNTAX PerfCurrentCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Unavailable Seconds (UAS) in the current 15-minute
interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 14 }
hdsl2ShdslEndpointCurr1DayTimeElapsed OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfTimeElapsed
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds that have elapsed since the beginning of
the current 1-day interval."
::= { hdsl2ShdslEndpointCurrEntry 15 }
hdsl2ShdslEndpointCurr1DayES OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds (ES) during the current day as
measured by hdsl2ShdslEndpointCurr1DayTimeElapsed."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 16 }
hdsl2ShdslEndpointCurr1DaySES OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Severely Errored Seconds (SES) during the current
day as measured by hdsl2ShdslEndpointCurr1DayTimeElapsed."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 17 }
hdsl2ShdslEndpointCurr1DayCRCanomalies OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfCurrDayCount
UNITS "detected CRC Anomalies"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of CRC anomalies during the current day as measured
by hdsl2ShdslEndpointCurr1DayTimeElapsed."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 18 }
hdsl2ShdslEndpointCurr1DayLOSWS OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Loss of Sync Word (LOSW) Seconds during the current
day as measured by hdsl2ShdslEndpointCurr1DayTimeElapsed."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 19 }
hdsl2ShdslEndpointCurr1DayUAS OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfCurrDayCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Unavailable Seconds (UAS) during the current day as
measured by hdsl2ShdslEndpointCurr1DayTimeElapsed."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2ShdslEndpointCurrEntry 20 }
hdsl2ShdslEndpointCurrTipRingReversal OBJECT-TYPE
SYNTAX INTEGER
{
normal(1),
reversed(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the state of the tip/ring for the
wire pair."
::= { hdsl2ShdslEndpointCurrEntry 21 }
hdsl2ShdslEndpointCurrActivationState OBJECT-TYPE
SYNTAX INTEGER
{
preActivation(1), -- PreTrain
activation(2), -- Training
data(3) -- Trained
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the activation or training state of
the wire pair."
REFERENCE "ITU-T G.991.2, Section 6.2 PMD Activation Sequence"
::= { hdsl2ShdslEndpointCurrEntry 22 }
-- Segment Endpoint 15-Minute Interval Status/Performance Group
--
hdsl2Shdsl15MinIntervalTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2Shdsl15MinIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each HDSL2/SHDSL endpoint
performance data collection interval. This table contains
live data from equipment. As such, it is NOT persistent."
::= { hdsl2ShdslMibObjects 6 }
hdsl2Shdsl15MinIntervalEntry OBJECT-TYPE
SYNTAX Hdsl2Shdsl15MinIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2Shdsl15MinIntervalTable."
INDEX { ifIndex, hdsl2ShdslInvIndex, hdsl2ShdslEndpointSide,
hdsl2ShdslEndpointWirePair, hdsl2Shdsl15MinIntervalNumber}
::= { hdsl2Shdsl15MinIntervalTable 1 }
Hdsl2Shdsl15MinIntervalEntry ::=
SEQUENCE
{
hdsl2Shdsl15MinIntervalNumber Unsigned32,
hdsl2Shdsl15MinIntervalES PerfIntervalCount,
hdsl2Shdsl15MinIntervalSES PerfIntervalCount,
hdsl2Shdsl15MinIntervalCRCanomalies PerfIntervalCount,
hdsl2Shdsl15MinIntervalLOSWS PerfIntervalCount,
hdsl2Shdsl15MinIntervalUAS PerfIntervalCount
}
That's the whole gang of endpoint status and counter objects, plus the start of the 15-minute interval table π¦ The big thing to remember is that the status bits and the notification thresholds map 1:1 with each other π
hdsl2Shdsl15MinIntervalNumber OBJECT-TYPE
SYNTAX Unsigned32(1..96)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Performance Data Interval number. Interval 1 is the most
recent previous interval; interval 96 is 24 hours ago.
Intervals 2..96 are optional."
::= { hdsl2Shdsl15MinIntervalEntry 1 }
hdsl2Shdsl15MinIntervalES OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds (ES) during the interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl15MinIntervalEntry 2 }
hdsl2Shdsl15MinIntervalSES OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Severely Errored Seconds (SES) during the interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl15MinIntervalEntry 3 }
hdsl2Shdsl15MinIntervalCRCanomalies OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "detected CRC Anomalies"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of CRC anomalies during the interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl15MinIntervalEntry 4 }
hdsl2Shdsl15MinIntervalLOSWS OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Loss of Sync Word (LOSW) Seconds during the
interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl15MinIntervalEntry 5 }
hdsl2Shdsl15MinIntervalUAS OBJECT-TYPE
SYNTAX PerfIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Unavailable Seconds (UAS) during the interval."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl15MinIntervalEntry 6 }
-- Segment Endpoint 1-Day Interval Status/Performance Group
--
hdsl2Shdsl1DayIntervalTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2Shdsl1DayIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides one row for each HDSL2/SHDSL endpoint
performance data collection interval. This table contains
live data from equipment. As such, it is NOT persistent."
::= { hdsl2ShdslMibObjects 7 }
hdsl2Shdsl1DayIntervalEntry OBJECT-TYPE
SYNTAX Hdsl2Shdsl1DayIntervalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2Shdsl1DayIntervalTable."
INDEX { ifIndex, hdsl2ShdslInvIndex, hdsl2ShdslEndpointSide,
hdsl2ShdslEndpointWirePair, hdsl2Shdsl1DayIntervalNumber }
::= { hdsl2Shdsl1DayIntervalTable 1 }
Hdsl2Shdsl1DayIntervalEntry ::=
SEQUENCE
{
hdsl2Shdsl1DayIntervalNumber Unsigned32,
hdsl2Shdsl1DayIntervalMoniSecs Hdsl2ShdslPerfTimeElapsed,
hdsl2Shdsl1DayIntervalES Hdsl2Shdsl1DayIntervalCount,
hdsl2Shdsl1DayIntervalSES Hdsl2Shdsl1DayIntervalCount,
hdsl2Shdsl1DayIntervalCRCanomalies Hdsl2Shdsl1DayIntervalCount,
hdsl2Shdsl1DayIntervalLOSWS Hdsl2Shdsl1DayIntervalCount,
hdsl2Shdsl1DayIntervalUAS Hdsl2Shdsl1DayIntervalCount
}
hdsl2Shdsl1DayIntervalNumber OBJECT-TYPE
SYNTAX Unsigned32(1..30)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"History Data Interval number. Interval 1 is the most
recent previous day; interval 30 is 30 days ago. Intervals
2..30 are optional."
::= { hdsl2Shdsl1DayIntervalEntry 1 }
hdsl2Shdsl1DayIntervalMoniSecs OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfTimeElapsed
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time in the 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."
::= { hdsl2Shdsl1DayIntervalEntry 2 }
hdsl2Shdsl1DayIntervalES OBJECT-TYPE
SYNTAX Hdsl2Shdsl1DayIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Errored Seconds (ES) during the 1-day interval as
measured by hdsl2Shdsl1DayIntervalMoniSecs."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl1DayIntervalEntry 3 }
hdsl2Shdsl1DayIntervalSES OBJECT-TYPE
SYNTAX Hdsl2Shdsl1DayIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Severely Errored Seconds (SES) during the 1-day
interval as measured by hdsl2Shdsl1DayIntervalMoniSecs."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl1DayIntervalEntry 4 }
hdsl2Shdsl1DayIntervalCRCanomalies OBJECT-TYPE
SYNTAX Hdsl2Shdsl1DayIntervalCount
UNITS "detected CRC Anomalies"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of CRC anomalies during the 1-day interval as
measured by hdsl2Shdsl1DayIntervalMoniSecs."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl1DayIntervalEntry 5 }
hdsl2Shdsl1DayIntervalLOSWS OBJECT-TYPE
SYNTAX Hdsl2Shdsl1DayIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Loss of Sync Word (LOSW) Seconds during the 1-day
interval as measured by hdsl2Shdsl1DayIntervalMoniSecs."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl1DayIntervalEntry 6 }
hdsl2Shdsl1DayIntervalUAS OBJECT-TYPE
SYNTAX Hdsl2Shdsl1DayIntervalCount
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of Unavailable Seconds (UAS) during the 1-day interval
as measured by hdsl2Shdsl1DayIntervalMoniSecs."
REFERENCE "HDSL2 Section 7.5.3.7; SHDSL Section 9.5.5.7"
::= { hdsl2Shdsl1DayIntervalEntry 7 }
-- Maintenance Group
--
hdsl2ShdslEndpointMaintTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslEndpointMaintEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table supports maintenance operations (e.g., loopbacks)
to be performed on HDSL2/SHDSL segment endpoints. This table
contains live data from equipment. As such, it is NOT
persistent."
::= { hdsl2ShdslMibObjects 8 }
hdsl2ShdslEndpointMaintEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslEndpointMaintEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2ShdslEndpointMaintTable. Each entry
corresponds to a single segment endpoint and is indexed by the
ifIndex of the HDSL2/SHDSL line, the UnitId of the associated
unit, and the side of the unit."
INDEX { ifIndex, hdsl2ShdslInvIndex, hdsl2ShdslEndpointSide }
::= { hdsl2ShdslEndpointMaintTable 1 }
Hdsl2ShdslEndpointMaintEntry ::=
SEQUENCE
{
hdsl2ShdslMaintLoopbackConfig INTEGER,
hdsl2ShdslMaintTipRingReversal INTEGER,
hdsl2ShdslMaintPowerBackOff INTEGER,
hdsl2ShdslMaintSoftRestart INTEGER
}
hdsl2ShdslMaintLoopbackConfig OBJECT-TYPE
SYNTAX INTEGER
{
noLoopback(1),
normalLoopback(2),
specialLoopback(3)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object controls configuration of loopbacks for the
associated segment endpoint. The status of the loopback
is obtained via the hdsl2ShdslEndpointCurrStatus object."
::= { hdsl2ShdslEndpointMaintEntry 1 }
hdsl2ShdslMaintTipRingReversal OBJECT-TYPE
SYNTAX INTEGER
{
normal(1),
reversed(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the state of the tip/ring pair at the
associated segment endpoint."
::= { hdsl2ShdslEndpointMaintEntry 2 }
hdsl2ShdslMaintPowerBackOff OBJECT-TYPE
SYNTAX INTEGER
{
default(1),
enhanced(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object configures the receiver at the associated
segment endpoint to operate in default or enhanced power
backoff mode."
::= { hdsl2ShdslEndpointMaintEntry 3 }
hdsl2ShdslMaintSoftRestart OBJECT-TYPE
SYNTAX INTEGER
{
ready(1),
restart(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object enables the manager to trigger a soft restart
of the modem at the associated segment endpoint. The
manager may only set this object to the 'restart(2)'
value, which initiates a restart. The agent will perform a
restart after approximately 5 seconds. Following the 5 second
period, the agent will restore the object to the 'ready(1)'
state."
::= { hdsl2ShdslEndpointMaintEntry 4 }
hdsl2ShdslUnitMaintTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslUnitMaintEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table supports maintenance operations for units in a
HDSL2/SHDSL line. Entries in this table MUST be maintained
in a persistent manner."
::= { hdsl2ShdslMibObjects 9 }
hdsl2ShdslUnitMaintEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslUnitMaintEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the hdsl2ShdslUnitMaintTable. Each entry
corresponds to a single unit and is indexed by the
ifIndex of the HDSL2/SHDSL line and the UnitId of the
associated unit."
INDEX { ifIndex, hdsl2ShdslInvIndex }
::= { hdsl2ShdslUnitMaintTable 1 }
Hdsl2ShdslUnitMaintEntry ::=
SEQUENCE
{
hdsl2ShdslMaintLoopbackTimeout Integer32,
hdsl2ShdslMaintUnitPowerSource INTEGER
}
hdsl2ShdslMaintLoopbackTimeout OBJECT-TYPE
SYNTAX Integer32(0..4095)
UNITS "minutes"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object configures the timeout value for loopbacks
initiated at segments endpoints contained in the associated
unit. A value of 0 disables the timeout."
::= { hdsl2ShdslUnitMaintEntry 1 }
hdsl2ShdslMaintUnitPowerSource OBJECT-TYPE
SYNTAX INTEGER
{
local(1),
span(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the DC power source being used by the
associated unit."
::= { hdsl2ShdslUnitMaintEntry 2 }
-- Span Configuration Profile Group --
okay bestie, this is where the profiles come in π A profile is basically a saved bundle of settings that a bunch of lines can share, so you don't have to configure each line one at a time π span configuration profiles and endpoint alarm profiles both follow that same idea β¨
hdsl2ShdslSpanConfProfileTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslSpanConfProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table supports definitions of span configuration
profiles for SHDSL lines. HDSL2 does not support these
configuration options. This table MUST be maintained
in a persistent manner."
::= { hdsl2ShdslMibObjects 10 }
hdsl2ShdslSpanConfProfileEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslSpanConfProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry corresponds to a single span configuration
profile. Each profile contains a set of span configuration
parameters. The configuration parameters in a profile are
applied to those lines referencing that profile (see the
hdsl2ShdslSpanConfProfile object). Profiles may be
created/deleted using the row creation/deletion mechanism
via hdsl2ShdslSpanConfProfileRowStatus. If an active
entry is referenced in hdsl2ShdslSpanConfProfile, the
entry MUST remain active until all references are removed."
INDEX { IMPLIED hdsl2ShdslSpanConfProfileName }
::= { hdsl2ShdslSpanConfProfileTable 1 }
Hdsl2ShdslSpanConfProfileEntry ::=
SEQUENCE
{
hdsl2ShdslSpanConfProfileName SnmpAdminString,
hdsl2ShdslSpanConfWireInterface INTEGER,
hdsl2ShdslSpanConfMinLineRate Unsigned32,
hdsl2ShdslSpanConfMaxLineRate Unsigned32,
hdsl2ShdslSpanConfPSD INTEGER,
hdsl2ShdslSpanConfTransmissionMode
Hdsl2ShdslTransmissionModeType,
hdsl2ShdslSpanConfRemoteEnabled INTEGER,
hdsl2ShdslSpanConfPowerFeeding INTEGER,
hdsl2ShdslSpanConfCurrCondTargetMarginDown Integer32,
hdsl2ShdslSpanConfWorstCaseTargetMarginDown Integer32,
hdsl2ShdslSpanConfCurrCondTargetMarginUp Integer32,
hdsl2ShdslSpanConfWorstCaseTargetMarginUp Integer32,
hdsl2ShdslSpanConfUsedTargetMargins BITS,
hdsl2ShdslSpanConfReferenceClock
Hdsl2ShdslClockReferenceType,
hdsl2ShdslSpanConfLineProbeEnable INTEGER,
hdsl2ShdslSpanConfProfileRowStatus RowStatus
}
hdsl2ShdslSpanConfProfileName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object is the unique index associated with this profile.
Entries in this table are referenced via the object
hdsl2ShdslSpanConfProfile in Hdsl2ShdslSpanConfEntry."
::= { hdsl2ShdslSpanConfProfileEntry 1 }
hdsl2ShdslSpanConfWireInterface OBJECT-TYPE
SYNTAX INTEGER
{
twoWire(1),
fourWire(2),
sixWire(3),
eightWire(4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the two-wire or optional four-wire,
six-wire, or eight-wire operation for SHDSL lines."
DEFVAL { twoWire }
::= { hdsl2ShdslSpanConfProfileEntry 2 }
hdsl2ShdslSpanConfMinLineRate OBJECT-TYPE
SYNTAX Unsigned32(0..4294967295)
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the minimum transmission rate for
the associated SHDSL Line in bits-per-second (bps) and includes
both payload (user data) and any applicable framing overhead.
If the minimum line rate equals the maximum line rate
(hdsl2ShdslSpanMaxLineRate), the line rate is considered
'fixed'. If the minimum line rate is less than the
maximum line rate, the line rate is considered
'rate-adaptive'."
DEFVAL { 1552000 }
::= { hdsl2ShdslSpanConfProfileEntry 3 }
hdsl2ShdslSpanConfMaxLineRate OBJECT-TYPE
SYNTAX Unsigned32(0..4294967295)
UNITS "bps"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the maximum transmission rate for
the associated SHDSL Line in bits-per-second (bps) and includes
both payload (user data) and any applicable framing overhead.
If the minimum line rate equals the maximum line rate
(hdsl2ShdslSpanMaxLineRate), the line rate is considered
'fixed'. If the minimum line rate is less than the
maximum line rate, the line rate is considered
'rate-adaptive'."
DEFVAL { 1552000 }
::= { hdsl2ShdslSpanConfProfileEntry 4 }
hdsl2ShdslSpanConfPSD OBJECT-TYPE
SYNTAX INTEGER
{
symmetric(1),
asymmetric(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures use of symmetric/asymmetric PSD (Power
Spectral Density) Mask for the associated SHDSL Line. Support
for symmetric PSD is mandatory for all supported data rates.
Support for asymmetric PSD is optional."
DEFVAL { symmetric }
::= { hdsl2ShdslSpanConfProfileEntry 5 }
hdsl2ShdslSpanConfTransmissionMode OBJECT-TYPE
SYNTAX Hdsl2ShdslTransmissionModeType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the regional setting for the SHDSL
line."
DEFVAL { { region1 } }
::= { hdsl2ShdslSpanConfProfileEntry 6 }
hdsl2ShdslSpanConfRemoteEnabled OBJECT-TYPE
SYNTAX INTEGER
{
enabled(1),
disabled(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object enables/disables support for remote management
of the units in an SHDSL line from the STU-R via the EOC."
DEFVAL { enabled }
::= { hdsl2ShdslSpanConfProfileEntry 7 }
hdsl2ShdslSpanConfPowerFeeding OBJECT-TYPE
SYNTAX INTEGER
{
noPower(1),
powerFeed(2),
wettingCurrent(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object enables/disables support for optional power
feeding in an SHDSL line."
DEFVAL { noPower }
::= { hdsl2ShdslSpanConfProfileEntry 8 }
hdsl2ShdslSpanConfCurrCondTargetMarginDown OBJECT-TYPE
SYNTAX Integer32(-10..21)
UNITS "dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the downstream current condition target
SNR margin for an SHDSL line. The SNR margin is the difference
between the desired SNR and the actual SNR. Target SNR margin
is the desired SNR margin for a unit."
DEFVAL { 0 }
::= { hdsl2ShdslSpanConfProfileEntry 9 }
hdsl2ShdslSpanConfWorstCaseTargetMarginDown OBJECT-TYPE
SYNTAX Integer32(-10..21)
UNITS "dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the downstream worst-case target SNR
margin for an SHDSL line. The SNR margin is the difference
between the desired SNR and the actual SNR. Target SNR
margin is the desired SNR margin for a unit."
DEFVAL { 0 }
::= { hdsl2ShdslSpanConfProfileEntry 10 }
hdsl2ShdslSpanConfCurrCondTargetMarginUp OBJECT-TYPE
SYNTAX Integer32(-10..21)
UNITS "dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the upstream current-condition target
SNR margin for an SHDSL line. The SNR margin is the difference
between the desired SNR and the actual SNR. Target SNR margin
is the desired SNR margin for a unit."
DEFVAL { 0 }
::= { hdsl2ShdslSpanConfProfileEntry 11 }
hdsl2ShdslSpanConfWorstCaseTargetMarginUp OBJECT-TYPE
SYNTAX Integer32(-10..21)
UNITS "dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the upstream worst-case target SNR
margin for an SHDSL line. The SNR margin is the difference
between the desired SNR and the actual SNR. Target SNR margin
is the desired SNR margin for a unit."
DEFVAL { 0 }
::= { hdsl2ShdslSpanConfProfileEntry 12 }
hdsl2ShdslSpanConfUsedTargetMargins OBJECT-TYPE
SYNTAX BITS
{
currCondDown(0),
worstCaseDown(1),
currCondUp(2),
worstCaseUp(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Indicates whether a target SNR margin is enabled or
disabled. This is a bit-map of possible settings. The
various bit positions are as follows:
currCondDown - current-condition downstream target SNR
margin enabled
worstCaseDown - worst-case downstream target SNR margin
enabled
currCondUp - current-condition upstream target SNR
margin enabled
worstCaseUp - worst-case upstream target SNR margin
enabled."
DEFVAL { { currCondDown } }
::= { hdsl2ShdslSpanConfProfileEntry 13 }
hdsl2ShdslSpanConfReferenceClock OBJECT-TYPE
SYNTAX Hdsl2ShdslClockReferenceType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the clock reference for the STU-C
in an SHDSL Line."
DEFVAL { localClk }
::= { hdsl2ShdslSpanConfProfileEntry 14 }
hdsl2ShdslSpanConfLineProbeEnable OBJECT-TYPE
SYNTAX INTEGER
{
disable(1),
enable(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object enables/disables support for Line Probe of
the units in an SHDSL line. When Line Probe is enabled, the
system performs Line Probing to find the best possible
rate. If Line Probe is disabled, the rate adaptation phase
is skipped to shorten set up time."
DEFVAL { disable }
::= { hdsl2ShdslSpanConfProfileEntry 15 }
hdsl2ShdslSpanConfProfileRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object controls creation/deletion of the associated
entry in this table per the semantics of RowStatus. If an
active entry is referenced in hdsl2ShdslSpanConfProfile, the
entry MUST remain active until all references are removed."
::= { hdsl2ShdslSpanConfProfileEntry 16 }
-- Segment Endpoint Alarm Configuration Profile group
--
hdsl2ShdslEndpointAlarmConfProfileTable OBJECT-TYPE
SYNTAX SEQUENCE OF Hdsl2ShdslEndpointAlarmConfProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table supports definitions of alarm configuration
profiles for HDSL2/SHDSL segment endpoints. This table
MUST be maintained in a persistent manner."
::= { hdsl2ShdslMibObjects 11 }
okay so we're still in Definitions π and the MIB is getting into the endpoint alarm profiles, which are giving main character energy π
hdsl2ShdslEndpointAlarmConfProfileEntry OBJECT-TYPE
SYNTAX Hdsl2ShdslEndpointAlarmConfProfileEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry corresponds to a single alarm configuration profile.
Each profile contains a set of parameters for setting alarm
thresholds for various performance attributes monitored at
HDSL2/SHDSL segment endpoints. Profiles may be created/deleted
using the row creation/deletion mechanism via
hdsl2ShdslEndpointAlarmConfProfileRowStatus. If an active
entry is referenced in either hdsl2ShdslSpanConfAlarmProfile
or hdsl2ShdslEndpointAlarmConfProfile, the entry MUST remain
active until all references are removed."
INDEX { IMPLIED hdsl2ShdslEndpointAlarmConfProfileName }
::= { hdsl2ShdslEndpointAlarmConfProfileTable 1 }
Hdsl2ShdslEndpointAlarmConfProfileEntry ::=
SEQUENCE
{
hdsl2ShdslEndpointAlarmConfProfileName SnmpAdminString,
hdsl2ShdslEndpointThreshLoopAttenuation Integer32,
hdsl2ShdslEndpointThreshSNRMargin Integer32,
hdsl2ShdslEndpointThreshES
Hdsl2ShdslPerfIntervalThreshold,
hdsl2ShdslEndpointThreshSES
Hdsl2ShdslPerfIntervalThreshold,
hdsl2ShdslEndpointThreshCRCanomalies Integer32,
hdsl2ShdslEndpointThreshLOSWS
Hdsl2ShdslPerfIntervalThreshold,
hdsl2ShdslEndpointThreshUAS
Hdsl2ShdslPerfIntervalThreshold,
hdsl2ShdslEndpointAlarmConfProfileRowStatus RowStatus
}
hdsl2ShdslEndpointAlarmConfProfileName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object is the unique index associated with this profile."
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 1 }
hdsl2ShdslEndpointThreshLoopAttenuation OBJECT-TYPE
SYNTAX Integer32(-127..128)
UNITS "dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the loop attenuation alarm threshold.
When the current value of hdsl2ShdslEndpointCurrAtn reaches
or exceeds this threshold, an hdsl2ShdslLoopAttenCrossing
MAY be generated."
DEFVAL { 0 }
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 2 }
hdsl2ShdslEndpointThreshSNRMargin OBJECT-TYPE
SYNTAX Integer32(-127..128)
UNITS "dB"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the SNR margin alarm threshold.
When the current value of hdsl2ShdslEndpointCurrSnrMgn
reaches or drops below this threshold, a
hdsl2ShdslSNRMarginCrossing MAY be generated."
DEFVAL { 0 }
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 3 }
hdsl2ShdslEndpointThreshES OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfIntervalThreshold
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the threshold for the number of
Errored Seconds (ES) within any given 15-minute performance
data collection interval. If the value of Errored Seconds
in a particular 15-minute collection interval reaches/
exceeds this value, an hdsl2ShdslPerfESThresh MAY be
generated. At most, one notification will be sent per
interval per endpoint."
DEFVAL { 0 }
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 4 }
hdsl2ShdslEndpointThreshSES OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfIntervalThreshold
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the threshold for the number of
Severely Errored Seconds (SES) within any given 15-minute
performance data collection interval. If the value of
Severely Errored Seconds in a particular 15-minute collection
interval reaches/exceeds this value, an hdsl2ShdslPerfSESThresh
MAY be generated. At most, one notification will be sent per
interval per endpoint."
DEFVAL { 0 }
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 5 }
hdsl2ShdslEndpointThreshCRCanomalies OBJECT-TYPE
SYNTAX Integer32
UNITS "detected CRC Anomalies"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the threshold for the number of
CRC anomalies within any given 15-minute performance data
collection interval. If the value of CRC anomalies in a
particular 15-minute collection interval reaches/exceeds
this value, an hdsl2ShdslPerfCRCanomaliesThresh MAY be
generated. At most, one notification will be sent per
interval per endpoint."
DEFVAL { 0 }
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 6 }
hdsl2ShdslEndpointThreshLOSWS OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfIntervalThreshold
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the threshold for the number of
Loss of Sync Word (LOSW) Seconds within any given 15-minute
performance data collection interval. If the value of LOSW
in a particular 15-minute collection interval reaches/exceeds
this value, an hdsl2ShdslPerfLOSWSThresh MAY be generated.
At most, one notification will be sent per interval per
endpoint."
DEFVAL { 0 }
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 7 }
hdsl2ShdslEndpointThreshUAS OBJECT-TYPE
SYNTAX Hdsl2ShdslPerfIntervalThreshold
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object configures the threshold for the number of
Unavailable Seconds (UAS) within any given 15-minute
performance data collection interval. If the value of UAS
in a particular 15-minute collection interval reaches/exceeds
this value, an hdsl2ShdslPerfUASThresh MAY be generated.
At most, one notification will be sent per interval per
endpoint."
DEFVAL { 0 }
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 8 }
hdsl2ShdslEndpointAlarmConfProfileRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object controls creation/deletion of the associated
entry in this table as per the semantics of RowStatus.
If an active entry is referenced in either
hdsl2ShdslSpanConfAlarmProfile or
hdsl2ShdslEndpointAlarmConfProfile, the entry MUST remain
active until all references are removed."
::= { hdsl2ShdslEndpointAlarmConfProfileEntry 9 }
-- Notifications Group
--
hdsl2ShdslNotifications OBJECT IDENTIFIER ::= { hdsl2ShdslMIB 0 }
hdsl2ShdslLoopAttenCrossing NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurrAtn,
hdsl2ShdslEndpointThreshLoopAttenuation
}
STATUS current
DESCRIPTION
"This notification indicates that the loop attenuation
threshold (as per the hdsl2ShdslEndpointThreshLoopAttenuation
value) has been reached/exceeded for the HDSL2/SHDSL segment
endpoint."
::= { hdsl2ShdslNotifications 1 }
hdsl2ShdslSNRMarginCrossing NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurrSnrMgn,
hdsl2ShdslEndpointThreshSNRMargin
}
STATUS current
DESCRIPTION
"This notification indicates that the SNR margin threshold (as
per the hdsl2ShdslEndpointThreshSNRMargin value) has been
reached/exceeded for the HDSL2/SHDSL segment endpoint."
::= { hdsl2ShdslNotifications 2 }
hdsl2ShdslPerfESThresh NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurr15MinES,
hdsl2ShdslEndpointThreshES
}
STATUS current
DESCRIPTION
"This notification indicates that the errored seconds
threshold (as per the hdsl2ShdslEndpointThreshES value)
has been reached/exceeded for the HDSL2/SHDSL segment
endpoint."
::= { hdsl2ShdslNotifications 3 }
hdsl2ShdslPerfSESThresh NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurr15MinSES,
hdsl2ShdslEndpointThreshSES
}
STATUS current
DESCRIPTION
"This notification indicates that the severely errored seconds
threshold (as per the hdsl2ShdslEndpointThreshSES value) has
been reached/exceeded for the HDSL2/SHDSL segment endpoint."
::= { hdsl2ShdslNotifications 4 }
hdsl2ShdslPerfCRCanomaliesThresh NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurr15MinCRCanomalies,
hdsl2ShdslEndpointThreshCRCanomalies
}
STATUS current
DESCRIPTION
"This notification indicates that the CRC anomalies threshold
(as per the hdsl2ShdslEndpointThreshCRCanomalies value) has
been reached/exceeded for the HDSL2/SHDSL segment endpoint."
::= { hdsl2ShdslNotifications 5 }
hdsl2ShdslPerfLOSWSThresh NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurr15MinLOSWS,
hdsl2ShdslEndpointThreshLOSWS
}
STATUS current
DESCRIPTION
"This notification indicates that the LOSW Seconds threshold
(as per the hdsl2ShdslEndpointThreshLOSWS value) has been
reached/exceeded for the HDSL2/SHDSL segment endpoint."
::= { hdsl2ShdslNotifications 6 }
hdsl2ShdslPerfUASThresh NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurr15MinUAS,
hdsl2ShdslEndpointThreshUAS
}
STATUS current
DESCRIPTION
"This notification indicates that the unavailable seconds
threshold (as per the hdsl2ShdslEndpointThreshUAS value) has
been reached/exceeded for the HDSL2/SHDSL segment endpoint."
::= { hdsl2ShdslNotifications 7 }
hdsl2ShdslSpanInvalidNumRepeaters NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslSpanConfNumRepeaters
}
STATUS current
DESCRIPTION
"This notification indicates that a mismatch has been detected
between the number of repeater/regenerator units configured
for an HDSL2/SHDSL line via the hdsl2ShdslSpanConfNumRepeaters
object and the actual number of repeater/regenerator units
discovered via the EOC."
::= { hdsl2ShdslNotifications 8 }
hdsl2ShdslLoopbackFailure NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslMaintLoopbackConfig
}
STATUS current
DESCRIPTION
"This notification indicates that an endpoint maintenance
loopback command failed for an HDSL2/SHDSL segment."
::= { hdsl2ShdslNotifications 9 }
hdsl2ShdslpowerBackoff NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurrStatus
}
STATUS current
DESCRIPTION
"This notification indicates that the bit setting for
powerBackoff in the hdsl2ShdslEndpointCurrStatus object for
this endpoint has changed."
::= { hdsl2ShdslNotifications 10 }
hdsl2ShdsldeviceFault NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurrStatus
}
STATUS current
DESCRIPTION
"This notification indicates that the bit setting for
deviceFault in the hdsl2ShdslEndpointCurrStatus object for
this endpoint has changed."
::= { hdsl2ShdslNotifications 11 }
okay bestie, we're picking up right where the notifications leave off. these five are basically the alarm bells of the MIB π¨π
hdsl2ShdslContinuityFault NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurrStatus
}
STATUS current
DESCRIPTION
"This notification indicates that the bit setting for
dcContinuityFault in the hdsl2ShdslEndpointCurrStatus object
for this endpoint has changed."
::= { hdsl2ShdslNotifications 12 }
hdsl2ShdslconfigInitFailure NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurrStatus
}
STATUS current
DESCRIPTION
"This notification indicates that the bit setting for
configInitFailure in the hdsl2ShdslEndpointCurrStatus object
for this endpoint has changed."
::= { hdsl2ShdslNotifications 13 }
hdsl2ShdslprotocolInitFailure NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurrStatus
}
STATUS current
DESCRIPTION
"This notification indicates that the bit setting for
protocolInitFailure in the hdsl2ShdslEndpointCurrStatus
object for this endpoint has changed."
::= { hdsl2ShdslNotifications 14 }
hdsl2ShdslnoNeighborPresent NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslEndpointCurrStatus
}
STATUS current
DESCRIPTION
"This notification indicates that the bit setting for
noNeighborPresent in the hdsl2ShdslEndpointCurrStatus object
for this endpoint has changed."
::= { hdsl2ShdslNotifications 15 }
hdsl2ShdslLocalPowerLoss NOTIFICATION-TYPE
OBJECTS
{
hdsl2ShdslInvVendorID
}
STATUS current
DESCRIPTION
"This notification indicates impending unit failure due to
loss of local power (last gasp)."
::= { hdsl2ShdslNotifications 16 }
Next up is the conformance area, which is where the MIB explains how an implementation is judged to be compliant. Think of it as the official report card ππ
-- conformance information
--
hdsl2ShdslConformance OBJECT IDENTIFIER ::= { hdsl2ShdslMIB 3 }
hdsl2ShdslGroups OBJECT IDENTIFIER ::=
{ hdsl2ShdslConformance 1 }
hdsl2ShdslCompliances OBJECT IDENTIFIER ::=
{ hdsl2ShdslConformance 2 }
-- agent compliance statements
hdsl2ShdslLineMibCompliance MODULE-COMPLIANCE
STATUS deprecated
DESCRIPTION
"The compliance statement for SNMP entities that implement
HDSL2 and SHDSL. The version of SHDSL supported in this
compliance statement is g.shdsl.
**** This compliance statement is deprecated. ****"
MODULE
MANDATORY-GROUPS
{
hdsl2ShdslSpanConfGroup,
hdsl2ShdslSpanStatusGroup,
hdsl2ShdslInventoryGroup,
hdsl2ShdslEndpointConfGroup,
hdsl2ShdslEndpointCurrGroup,
hdsl2Shdsl15MinIntervalGroup,
hdsl2Shdsl1DayIntervalGroup,
hdsl2ShdslMaintenanceGroup,
hdsl2ShdslEndpointAlarmConfGroup,
hdsl2ShdslNotificationGroup
}
GROUP hdsl2ShdslInventoryShdslGroup
DESCRIPTION
"Support for this group is only required for implementations
supporting SHDSL lines."
GROUP hdsl2ShdslSpanShdslStatusGroup
DESCRIPTION
"Support for this group is only required for implementations
supporting SHDSL lines."
GROUP hdsl2ShdslSpanConfProfileGroup
DESCRIPTION
"Support for this group is only required for implementations
supporting SHDSL lines."
OBJECT hdsl2ShdslSpanConfWireInterface
SYNTAX INTEGER
{
twoWire(1),
fourWire(2)
}
DESCRIPTION
"An implementation only has to support the range as
applicable for the original g.shdsl specification defined
in RFC 3276."
OBJECT hdsl2ShdslStatusMaxAttainableLineRate
SYNTAX Unsigned32(0..4112000)
DESCRIPTION
"An implementation only has to support the range as
applicable for the original g.shdsl specification defined
in RFC 3276."
OBJECT hdsl2ShdslStatusActualLineRate
SYNTAX Unsigned32(0..4112000)
DESCRIPTION
"An implementation only has to support the range as
applicable for the original g.shdsl specification defined
in RFC 3276."
OBJECT hdsl2ShdslSpanConfMinLineRate
SYNTAX Unsigned32(0..4112000)
DESCRIPTION
"An implementation only has to support the range as
applicable for the original g.shdsl specification defined
in RFC 3276."
OBJECT hdsl2ShdslSpanConfMaxLineRate
SYNTAX Unsigned32(0..4112000)
DESCRIPTION
"An implementation only has to support the range as
applicable for the original g.shdsl specification defined
in RFC 3276."
::= { hdsl2ShdslCompliances 1 }
So the first compliance statement is marked deprecated, which is a big "this one's retired, bestie" moment π The newer one is the g.shdsl.bis version, and it's giving fresh energy πΈ
hdsl2GshdslbisLineMibCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMP entities that implement
HDSL2 and SHDSL. The version of SHDSL supported in this
compliance statement is g.shdsl.bis."
MODULE
MANDATORY-GROUPS
{
hdsl2ShdslSpanConfGroup,
hdsl2ShdslSpanStatusGroup,
hdsl2ShdslInventoryGroup,
hdsl2ShdslEndpointConfGroup,
hdsl2ShdslEndpointCurrGroup,
hdsl2Shdsl15MinIntervalGroup,
hdsl2Shdsl1DayIntervalGroup,
hdsl2ShdslMaintenanceGroup,
hdsl2ShdslEndpointAlarmConfGroup,
hdsl2ShdslNotificationGroup
}
GROUP hdsl2ShdslInventoryShdslGroup
DESCRIPTION
"Support for this group is only required for implementations
supporting SHDSL lines."
GROUP hdsl2ShdslSpanShdslStatusGroup
DESCRIPTION
"Support for this group is only required for implementations
supporting SHDSL lines."
GROUP hdsl2ShdslSpanConfProfileGroup
DESCRIPTION
"Support for this group is only required for implementations
supporting SHDSL lines."
GROUP hdsl2ShdslWirePairGroup
DESCRIPTION
"Support for this group is only required for implementations
supporting SHDSL lines."
GROUP hdsl2ShdslPayloadRateGroup
DESCRIPTION
"Support for this group is only required for implementations
supporting SHDSL lines."
::= { hdsl2ShdslCompliances 2 }
Last stretch for this part: the units of conformance. These are the building blocks the compliance statements above point at, so each group is just a bundle of related objects π§β¨
-- units of conformance
--
hdsl2ShdslSpanConfGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslSpanConfNumRepeaters,
hdsl2ShdslSpanConfProfile,
hdsl2ShdslSpanConfAlarmProfile
}
STATUS current
DESCRIPTION
"This group supports objects for configuring span-related
parameters for HDSL2/SHDSL lines."
::= { hdsl2ShdslGroups 1 }
hdsl2ShdslSpanStatusGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslStatusNumAvailRepeaters
}
STATUS current
DESCRIPTION
"This group supports objects for retrieving span-related
status for HDSL2/SHDSL lines."
::= { hdsl2ShdslGroups 2 }
hdsl2ShdslInventoryShdslGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslInvTransmissionModeCapability
}
STATUS current
DESCRIPTION
"This group supports objects for retrieving SHDSL-specific
inventory information."
::= { hdsl2ShdslGroups 3 }
hdsl2ShdslSpanShdslStatusGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslStatusMaxAttainableLineRate,
hdsl2ShdslStatusActualLineRate,
hdsl2ShdslStatusTransmissionModeCurrent
}
STATUS current
DESCRIPTION
"This group supports objects for retrieving SHDSL-specific
span-related status."
::= { hdsl2ShdslGroups 4 }
hdsl2ShdslInventoryGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslInvVendorID,
hdsl2ShdslInvVendorModelNumber,
hdsl2ShdslInvVendorSerialNumber,
hdsl2ShdslInvVendorEOCSoftwareVersion,
hdsl2ShdslInvStandardVersion,
hdsl2ShdslInvVendorListNumber,
hdsl2ShdslInvVendorIssueNumber,
hdsl2ShdslInvVendorSoftwareVersion,
hdsl2ShdslInvEquipmentCode,
hdsl2ShdslInvVendorOther
}
STATUS current
DESCRIPTION
"This group supports objects that provide unit inventory
information about the units in HDSL2/SHDSL lines."
::= { hdsl2ShdslGroups 5 }
hdsl2ShdslEndpointConfGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslEndpointCurrAtn
}
STATUS current
DESCRIPTION
"This group supports objects for configuring parameters for
segment endpoints in HDSL2/SHDSL lines."
::= { hdsl2ShdslGroups 6 }
hdsl2ShdslEndpointCurrGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslEndpointCurrAtn,
hdsl2ShdslEndpointCurrSnrMgn,
hdsl2ShdslEndpointCurrStatus,
hdsl2ShdslEndpointES,
hdsl2ShdslEndpointSES,
hdsl2ShdslEndpointCRCanomalies,
hdsl2ShdslEndpointLOSWS,
hdsl2ShdslEndpointUAS,
hdsl2ShdslEndpointCurr15MinTimeElapsed,
hdsl2ShdslEndpointCurr15MinES,
hdsl2ShdslEndpointCurr15MinSES,
hdsl2ShdslEndpointCurr15MinCRCanomalies,
hdsl2ShdslEndpointCurr15MinLOSWS,
hdsl2ShdslEndpointCurr15MinUAS,
hdsl2ShdslEndpointCurr1DayTimeElapsed,
hdsl2ShdslEndpointCurr1DayES,
hdsl2ShdslEndpointCurr1DaySES,
hdsl2ShdslEndpointCurr1DayCRCanomalies,
hdsl2ShdslEndpointCurr1DayLOSWS,
hdsl2ShdslEndpointCurr1DayUAS
}
STATUS current
DESCRIPTION
"This group supports objects that provide current status and
performance measurements relating to segment endpoints in
HDSL2/SHDSL lines."
::= { hdsl2ShdslGroups 7 }
hdsl2Shdsl15MinIntervalGroup OBJECT-GROUP
OBJECTS
{
hdsl2Shdsl15MinIntervalES,
hdsl2Shdsl15MinIntervalSES,
hdsl2Shdsl15MinIntervalCRCanomalies,
hdsl2Shdsl15MinIntervalLOSWS,
hdsl2Shdsl15MinIntervalUAS
}
STATUS current
DESCRIPTION
"This group supports objects that maintain historic
performance measurements relating to segment endpoints in
HDSL2/SHDSL lines in 15-minute intervals."
::= { hdsl2ShdslGroups 8 }
hdsl2Shdsl1DayIntervalGroup OBJECT-GROUP
OBJECTS
{
hdsl2Shdsl1DayIntervalMoniSecs,
hdsl2Shdsl1DayIntervalES,
hdsl2Shdsl1DayIntervalSES,
hdsl2Shdsl1DayIntervalCRCanomalies,
hdsl2Shdsl1DayIntervalLOSWS,
hdsl2Shdsl1DayIntervalUAS
}
STATUS current
DESCRIPTION
"This group supports objects that maintain historic
performance measurements relating to segment endpoints in
HDSL2/SHDSL lines in 1-day intervals."
::= { hdsl2ShdslGroups 9 }
hdsl2ShdslMaintenanceGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslMaintLoopbackConfig,
hdsl2ShdslMaintTipRingReversal,
hdsl2ShdslMaintPowerBackOff,
hdsl2ShdslMaintSoftRestart,
hdsl2ShdslMaintLoopbackTimeout,
hdsl2ShdslMaintUnitPowerSource
}
STATUS current
DESCRIPTION
"This group supports objects that provide support for
maintenance actions for HDSL2/SHDSL lines."
::= { hdsl2ShdslGroups 10 }
hdsl2ShdslEndpointAlarmConfGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslEndpointAlarmConfProfile,
hdsl2ShdslEndpointThreshLoopAttenuation,
hdsl2ShdslEndpointThreshSNRMargin,
hdsl2ShdslEndpointThreshES,
hdsl2ShdslEndpointThreshSES,
hdsl2ShdslEndpointThreshCRCanomalies,
hdsl2ShdslEndpointThreshLOSWS,
hdsl2ShdslEndpointThreshUAS,
hdsl2ShdslEndpointAlarmConfProfileRowStatus
}
STATUS current
DESCRIPTION
"This group supports objects that allow configuration of alarm
thresholds for various performance parameters for HDSL2/SHDSL
lines."
::= { hdsl2ShdslGroups 11 }
hdsl2ShdslNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS
{
hdsl2ShdslLoopAttenCrossing,
hdsl2ShdslSNRMarginCrossing,
hdsl2ShdslPerfESThresh,
hdsl2ShdslPerfSESThresh,
hdsl2ShdslPerfCRCanomaliesThresh,
hdsl2ShdslPerfLOSWSThresh,
hdsl2ShdslPerfUASThresh,
hdsl2ShdslSpanInvalidNumRepeaters,
hdsl2ShdslLoopbackFailure,
hdsl2ShdslpowerBackoff,
hdsl2ShdsldeviceFault,
hdsl2ShdsldcContinuityFault,
hdsl2ShdslconfigInitFailure,
hdsl2ShdslprotocolInitFailure,
hdsl2ShdslnoNeighborPresent,
hdsl2ShdslLocalPowerLoss
}
STATUS current
DESCRIPTION
"This group supports notifications of significant conditions
associated with HDSL2/SHDSL lines."
::= { hdsl2ShdslGroups 12 }
hdsl2ShdslSpanConfProfileGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslSpanConfWireInterface,
hdsl2ShdslSpanConfMinLineRate,
hdsl2ShdslSpanConfMaxLineRate,
hdsl2ShdslSpanConfPSD,
hdsl2ShdslSpanConfTransmissionMode,
hdsl2ShdslSpanConfRemoteEnabled,
hdsl2ShdslSpanConfPowerFeeding,
hdsl2ShdslSpanConfCurrCondTargetMarginDown,
hdsl2ShdslSpanConfWorstCaseTargetMarginDown,
hdsl2ShdslSpanConfCurrCondTargetMarginUp,
hdsl2ShdslSpanConfWorstCaseTargetMarginUp,
hdsl2ShdslSpanConfUsedTargetMargins,
hdsl2ShdslSpanConfReferenceClock,
hdsl2ShdslSpanConfLineProbeEnable,
hdsl2ShdslSpanConfProfileRowStatus
}
STATUS current
DESCRIPTION
"This group supports objects that constitute configuration
profiles for configuring span-related parameters in SHDSL
lines."
::= { hdsl2ShdslGroups 13 }
hdsl2ShdslWirePairGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslEndpointCurrTipRingReversal,
hdsl2ShdslEndpointCurrActivationState
}
STATUS current
DESCRIPTION
"This group supports objects that provide the status
of SHDSL-specific wire pairs."
::= { hdsl2ShdslGroups 14 }
hdsl2ShdslPayloadRateGroup OBJECT-GROUP
OBJECTS
{
hdsl2ShdslStatusMaxAttainablePayloadRate,
hdsl2ShdslStatusActualPayloadRate
}
STATUS current
DESCRIPTION
"This group supports objects for retrieving payload rates
that exclude any framing overhead."
::= { hdsl2ShdslGroups 15 }
END
# 4. Implementation Analysis β¨
Okay bestie, this part is the tea β about what can go sideways when an older management app meets a newer device π. A management application that supports RFC 3276 might look at a unit and go "wait, that's not allowed!" π
ββοΈ and flag it, even when the unit is just responding with a rate or wire pair that goes past the ranges and/or enumerations specified in RFC 3276. For example, a G.shdsl.bis line with four wire pairs would report statistics for wire pairs that do not exist in RFC 3276. Literally a plot twist π.
Here's how the drama plays out. A GET-NEXT request issued with the object identifier:
hdsl2ShdslEndpointCurrAtn.1.1.1.2
might return:
hdsl2ShdslEndpointCurrAtn.1.1.1.3 = 0
with a G.shdsl.bis unit, and:
hdsl2ShdslEndpointCurrSnrMgn.1.1.1.1 = 0
with an HDSL2 unit. The reason it's giving so confusing is that these objects are indexed by:
INDEX { ifIndex, hdsl2ShdslInvIndex, hdsl2ShdslendpointSide, hdsl2ShdslEndpointWirePair }
So a management application intended to manage G.shdsl.bis agents SHOULD be modified to accept this sequence. That's the glow-up it needs π¦β¨.
One should note that this same unmodified management application is still capable of managing G.shdsl.bis agents, albeit to the degree of G.SHDSL (non-bis) limitations. That is, it can create and monitor configurations limited to two wire pairs with an upper-rate limit of 4112000 bits/second. Not the full main character energy π, but it still gets the job done π
.
# 5. Security Considerations π
Okay bestie, this part is serious, so we're being extra careful π«Ά. This MIB module has a bunch of management objects with a MAX-ACCESS of read-write and/or read-create. Those can be sensitive or vulnerable in some network environments π¬. Doing SET operations in a non-secure environment without proper protection can seriously mess with network operations. Here are the tables and objects, plus how sensitive or vulnerable each one is:
- `hdsl2ShdslSpanConfTable`
The table has these objects that support SET operations:
- `hdsl2ShdslSpanConfNumRepeaters`
- `hdsl2ShdslSpanConfProfile`
- `hdsl2ShdslSpanConfAlarmProfile`
Unauthorized changes to `hdsl2ShdslSpanConfNumRepeaters` could result in an `hdsl2ShdslSpanInvalidNumRepeaters` notification. Check out the discussion on `hdsl2ShdslSpanInvalidNumRepeaters` in the Notifications section above π.
Unauthorized changes to `hdsl2ShdslSpanConfProfile` could have an adverse operational effect on a span. Look at the `hdsl2ShdslSpanConfProfileTable` discussion below.
Unauthorized changes to `hdsl2ShdslSpanConfAlarmProfile` could have a contrary effect on notifications. Look at the `hdsl2ShdslEndpointAlarmConfProfileTable` discussion below.
- `hdsl2ShdslEndpointConfTable`
This table contains one object, `hdsl2ShdslEndpointAlarmConfProfile`, that supports SET operations. Unauthorized changes could have an undesirable notifications effect. Look at the `hdsl2ShdslEndpointAlarmConfProfileTable` discussion below.
- `hdsl2ShdslEndpointMaintTable`
The table has these objects that support SET operations:
- `hdsl2ShdslMaintLoopbackConfig`
- `hdsl2ShdslMaintPowerBackoff`
- `hdsl2ShdslMaintSoftRestart`
Unauthorized changes to `hdsl2ShdslMaintLoopbackConfig` could prevent end-to-end data transfer because a loopback gets activated π.
Unauthorized changes to `hdsl2ShdslMaintPowerBackoff` could result in an increased in bundle interference.
Unauthorized changes to `hdsl2ShdslMaintSoftRestart` could result in a temporary interruption of end-to-end data transfer, since a soft restart gets triggered.
- `hdsl2ShdslUnitMaintTable`
This table contains one object, `hdsl2ShdslMaintLoopbackTimeout`, that supports SET operations. An unauthorized change to this object could make the timeout value for loopbacks increase, decrease, or get disabled π.
- `hdsl2ShdslSpanConfProfileTable`
The table has these objects that support SET operations:
- `hdsl2ShdslSpanConfWireInterface`
- `hdsl2ShdslSpanConfMinLineRate`
- `hdsl2ShdslSpanConfMaxLineRate`
- `hdsl2ShdslSpanConfPSD`
- `hdsl2ShdslSpanConfTransmissionMode`
- `hdsl2ShdslSpanConfRemoteEnabled`
- `hdsl2ShdslSpanConfPowerFeeding`
- `hdsl2ShdslSpanConfCurrCondTargetMarginDown`
- `hdsl2ShdslSpanConfWorstCaseTargetMarginDown`
- `hdsl2ShdslSpanConfCurrCondTargetMarginUp`
- `hdsl2ShdslSpanConfWorstCaseTargetMarginUp`
- `hdsl2ShdslSpanConfUsedTargetMargins`
- `hdsl2ShdslSpanConfReferenceClock`
- `hdsl2ShdslSpanConfLineProbeEnable`
- `hdsl2ShdslSpanConfProfileRowStatus`
Setting any of these objects to an incorrect value could have an adverse operational effect on a span.
Unauthorized changes to `hdsl2ShdslSpanConfWireInterface` could make a span fail to activate into a state that allows data flow. For example, setting this object to six-wire or eight-wire operation when one of the units in the span only supports two-wire or four-wire operation would likely block the end-to-end data transfer you were expecting π€.
Unauthorized changes to `hdsl2ShdslSpanConfMinLineRate` or `hdsl2ShdslSpanConfMaxLineRate` could hurt performance. The range of allowed line rates could get altered so the span can't train to a line rate that lets any end-user data cross, or the span could train to a line rate that's higher or lower than what the provider has pledged.
Unauthorized changes to `hdsl2ShdslSpanConfPSD` or `hdsl2ShdslSpanConfTransmissionMode` could have a detrimental effect on loop reach, performance, or spectral compatibility.
Unauthorized changes to `hdsl2ShdslSpanConfRemoteEnable` could alter the remote management ability of units.
Unauthorized changes to `hdsl2ShdslSpanConfPowerFeeding` could shut down units that are supposed to be fed power remotely. Changing the configuration so wetting current isn't supplied may cause corrosion of electrical contacts π₯.
Unauthorized changes to `hdsl2ShdslSpanConfCurrCondTargetMarginDown`, `hdsl2ShdslSpanConfWorstCaseTargetMarginDown`, `hdsl2ShdslSpanConfCurrCondTargetMarginUp`, `hdsl2ShdslSpanConfWorstCaseTargetMarginUp`, or `hdsl2ShdslSpanConfUsedTargetMargins` could result in invalid parameters being used to decide whether a data rate can be supported under current and worst-case noise.
Unauthorized changes to `hdsl2ShdslSpanConfReferenceClock` could result in the selection of a clock source that might either block all data transfer or impair it. On top of that, CRC anomalies may increase.
Unauthorized changes to `hdsl2ShdslSpanConfLineProbeEnable` could have a negative effect on picking the optimum rate or power level based on current line conditions.
Unauthorized changes to row status could result in unwanted profiles being created or brought into service. Changes to row status could also get profiles deleted or taken out of service by accident.
- `hdsl2ShdslEndpointAlarmConfProfileTable`
The table has these objects that support SET operations:
- `hdsl2ShdslEndpointThreshLoopAttenuation`
- `hdsl2ShdslEndpointThreshSNRMargin`
- `hdsl2ShdslEndpointThreshES`
- `hdsl2ShdslEndpointThreshSES`
- `hdsl2ShdslEndpointThreshCRCanomalies`
- `hdsl2ShdslEndpointThreshLOSWS`
- `hdsl2ShdslEndpointThreshUAS`
- `hdsl2ShdslEndpointAlarmConfProfileRowStatus`
Increasing any of the threshold values could get a notification suppressed or deferred. Setting a threshold to 0 could get a notification suppressed. Suppressing or deferring a notification could block timely delivery of important diagnostic information. Decreasing any of the threshold values could get a notification sent from the network falsely reporting a threshold crossing π¨.
Changing a threshold value could also change how many notifications the agent sends. This document adds a paragraph, which was not in RFC 3276 [RFC3276], to the Notifications section. It gives general guidance on rate limiting notifications. Agent implementations that don't follow the rate-limiting desires could end up generating notifications at an uncontrolled rate. Unauthorized changes to a threshold value could result in an undesired notification rate.
Unauthorized changes to row status could result in unwanted profiles being created or brought into service. Changes to row status could also get profiles deleted or taken out of service by accident.
Some of the readable objects in this MIB module (that is, objects with a MAX-ACCESS other than not-accessible) may be sensitive or vulnerable in some network environments π. So it's important to control even GET and/or NOTIFY access to these objects, and possibly even encrypt their values when sending them over the network via SNMP. Here are the tables and objects with their sensitivity/vulnerability:
- `hdsl2ShdslInventoryTable`
Access to these objects would let an intruder find out which vendor's equipment is on the network. Plus, lots of environments treat that info as sensitive for competitive reasons π΅οΈββοΈ.
- `hdsl2ShdslInvVendorID`
- `hdsl2ShdslInvVendorModelNumber`
- `hdsl2ShdslInvVendorSerialNumber`
- `hdsl2ShdslInvVendorEOCSoftwareVersion`
- `hdsl2ShdslInvStandardVersion`
- `hdsl2ShdslInvVendorListNumber`
- `hdsl2ShdslInvVendorIssueNumber`
- `hdsl2ShdslInvVendorSoftwareVersion`
- `hdsl2ShdslInvEquipmentCode`
- `hdsl2ShdslInvVendorOther`
- `hdsl2ShdslInvTransmissionModeCapability`
SNMP versions before SNMPv3 didn't include adequate security. Even if the network itself is secure (for example, by using IPsec), there's still no control over who on that secure network gets to GET/SET (read/change/create/delete) the objects in this MIC module. Ngl, that's a big gap π.
It is RECOMMENDED that implementers consider the security features provided by the SNMPv3 framework (see [RFC3410], Section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy) π.
Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It's then a customer/operator responsibility to make sure the SNMP entity that gives access to an instance of this MIB module is configured properly, so only the principals (users) with legitimate rights can GET or SET (change/create/delete) the objects π§.
---
# 6. Acknowledgements π«Ά
The authors are deeply grateful to the authors of the ADSL LINE MIB (RFC 2662 [RFC2662]), Gregory Bathrick and Faye Ly, since a lot of the text and structure of this document comes from their work π.
The authors are also grateful to the authors of the FR MFR MIB (RFC 3020 [RFC3020]), Prayson Pate, Bob Lynch, and Kenneth Rehbehn, because most of the Security Considerations section was lifted from their document π.
The authors also acknowledge the importance of the contributions and suggestions about interface indexing structures they received from David Horton of CITR πΈ.
The authors are extremely thankful to Bert Wijnen, Randy Presuhn, and C. M. Heard for their extensive review and the many suggestions they gave β¨.
Other contributions came from the following people:
Matt Beanland (Extel Communications) Philip Bergstresser (Adtran) Steve Blackwell (Centillium) Umberto Bonollo (NEC Australia) John Egan (Metalink BroadBand) Yagal Hachmon (RAD) Mark Johnson (Red Point) Sharon Mantin (Orckit) Moti Morgenstern (ECI) Raymond Murphy (Ericsson) Lee Nipper (Verilink) Randy Presuhn (BMC Software) Katy Sherman (Orckit) Mike Sneed (ECI) Jon Turney (DSL Solutions) Aron Wahl (Memotec) Bert Wijnen (Lucent) Jim Wilson (for Mindspeed) Michael Wrobel (Memotec)
# 7. References π
## 7.1. Normative References β¨
okay bestie, these are the docs this spec *needs* to work, so you can't skip them π
Every one is listed in full below, with its details.
- [G.991.2] Blackwell, S., "Single-Pair High-Speed Digital Subscriber Line (SHDSL) Transceivers", ITU-T G.991.2, December 2003.
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
- [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
- [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
- [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
- [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.
- [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002.
- [RFC3593] Tesink, K., "Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals", RFC 3593, September 2003.
- [T1E1.4] American National Standards Institute, "ANSI T1E1.4/2000-006", February 2000.
## 7.2. Informative References π
these ones are the extra reading π they're not required to implement the thing, but they're super helpful for the vibes and the background.
- [RFC2662] Bathrick, G. and F. Ly, "Definitions of Managed Objects for the ADSL Lines", RFC 2662, August 1999.
- [RFC3020] Pate, P., Lynch, B., and K. Rehbehn, "Definitions of Managed Objects for Monitoring and Controlling the UNI/NNI Multilink Frame Relay Function", RFC 3020, December 2000.
- [RFC3276] Ray, B. and R. Abbi, "Definitions of Managed Objects for High Bit-Rate DSL - 2nd generation (HDSL2) and Single-Pair High-Speed Digital Subscriber Line (SHDSL) Lines Processing", RFC 3276, May 2002.
- [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002.
- [RFC3418] Presuhn, R., "Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3418, December 2002.
---
# Authors' Addresses π¦
meet the squad who wrote this! π«Ά here's how to reach each of them:
Clay Sikes Zhone Technologies, Inc. Florida Design Center 8454 126th Ave. N. Largo, FL 33773 US
Phone: +1 727 530 8257 Fax: +1 727 532 5698 EMail: csikes@zhone.com
Bob Ray PESA Switching Systems, Inc. 330-A Wynn Drive Huntsville, AL 35805 US
Phone: +1 256 726 9200 ext. 142 Fax: +1 256 726 9271 EMail: rray@pesa.com
Rajesh Abbi Alcatel USA 2301 Sugar Bush Road Raleigh, NC 27612 US
Phone: +1 919-850-6194 Fax: +1 919-850-6670 EMail: Rajesh.Abbi@alcatel.com
# Full Copyright Statement β
Copyright (C) The Internet Society (2005).
this document is covered by the rights, licenses and restrictions in BCP 78 π and, unless BCP 78 says otherwise, the authors keep all their rights.
this document and everything in it is handed over "AS IS", and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. no promises, no guarantees, just vibes π
# Intellectual Property π
the IETF doesn't take a side on whether any Intellectual Property Rights or other rights that someone might claim over the tech in this document are valid or how far they reach, and it can't promise any license would be available. it also hasn't gone looking for those rights itself. info about how rights work for RFC documents lives in BCP 78 and BCP 79 π
copies of IPR disclosures sent to the IETF Secretariat, any assurances of licenses that might be offered, and the outcome of any attempt to get a general license or permission to use those proprietary rights for implementers or users of this spec can all be found on the IETF on-line IPR repository at http://www.ietf.org/ipr π
the IETF also invites anyone who knows about copyrights, patents or patent applications, or other proprietary rights that might cover technology needed to implement this standard to let it know. send that info to the IETF at ietf-ipr@ietf.org π
# Acknowledgement π
funding for the RFC Editor function is currently provided by the Internet Society π thank you, legends!
π¦ where this page comes from
- ietf: rfc4319 2005-12
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms