xDSL Multi-Pair Bonding (G.Bond) MIB
Extracted elements (26)
Bonding scheme textual conventions are placed in a separate IANA-maintained MIB module (IANA-GBOND-TC-MIB) rather than the GBOND-MIB itself. This allows new bonding schemes from future G.998 revisions to be added by IANA without issuing a new RFC to update the common GBOND-MIB module.
Performance Monitoring counters are not reset when a GBS is re-initialized, but only when the agent itself is reset or re-initialized. This prevents loss of accumulated PM data from transient link events such as BCE drop-outs and re-training.
PM intervals SHOULD be aligned to 15-minute wall-clock boundaries (and 1-day intervals to midnight) to simplify collection and correlation across multiple agents by an NMS, since each interval can be timestamped using gBond*IntervalIndex aligned to NTP/SNTP-distributed network time.
A single-BCE G.998.2 port MAY operate in bonding bypass mode (bonding scheme 'none') to interoperate with non-G.998 DSL equipment. Enabling any bonding scheme via gBondPortConfAdminScheme on a single-BCE port activates fragmentation and reassembly even on that single-BCE port.
The GBOND-MIB module must always be combined with technology-specific MIBs at two levels: a scheme-specific MIB (G9981/G9982/G9983-MIB) for GBS-level bonding attributes, and an xDSL line MIB (e.g., HDSL2-SHDSL-LINE-MIB, VDSL2-LINE-MIB) for individual BCE configuration, status, and notifications.
The ifSpeed object for a GBS reports the sum of operating data rates of all BCEs, without encapsulation and G.Bond overhead but accounting for Inter-Frame Gaps. For asymmetric GBS, ifSpeed shows the lower of upstream and downstream rates, consistent with IF-MIB conventions.
Changes to gBondPortConfAdminScheme and gBondPortConfPeerAdminScheme MUST be performed when the link is administratively 'down'. Attempts to change these when the link is 'up' or initializing MUST be rejected (SNMP error inconsistentValue); setting an unsupported scheme SHALL be rejected (wrongValue); setting 'none' on a multi-BCE GBS MUST be rejected (inconsistentValue).
Discovery (setting gBondPortConfDiscoveryCode) MUST be performed when the link is administratively 'down'; changes MUST be rejected with inconsistentValue when 'up' or initializing. The discovery code MUST be instantiated for -O subtype GBS before BCE write operations on gBondBceConfRemoteDiscoveryCode are performed.
Each BCE and each GBS in the G.Bond PHY MUST have a unique ifIndex, as there are GBS- and BCE-specific attributes accessible only at the respective layer.
Entries in gBondPortConfTable and gBondPortCapTable MUST be maintained in a persistent manner. The gBondPortStatTable contains live equipment data and is explicitly NOT persistent.
G.998.2 (G.Bond/Ethernet) GBS ports with multiple BCEs MUST perform fragmentation and reassembly of Ethernet frames. For single-BCE G.998.2 ports, this function MAY be omitted (bonding bypass) to minimize overhead and enable interoperability with non-G.998 DSL equipment.
It is RECOMMENDED that removal of the last operationally 'up' BCE from an operationally 'up' GBS (via ifStackTable modification) be rejected by the implementation with SNMP error inconsistentValue, since this would completely drop the link.
Target upstream and downstream data rate objects (gBondPortConfTargetUpDataRate, gBondPortConfTargetDnDataRate) MUST only be changed when the link is administratively 'down'; changes MUST be rejected with inconsistentValue when the link is 'up' or initializing. These objects are irrelevant for -R subtype ports and MUST be rejected on access.
The agent is REQUIRED to indicate all supported bonding schemes (ATM, Ethernet, TDIM) including OPTIONAL support for bonding bypass in G.998.2 single-BCE ports, via the gBondPortCapSchemesSupported and gBondPortCapPeerSchemesSupported objects.
The GBOND-MIB module MUST be used in conjunction with a bonding scheme-specific MIB module: G9981-MIB (RFC 6768) for G.998.1, G9982-MIB (RFC 6767) for G.998.2, or G9983-MIB (RFC 6766) for G.998.3 bonded interfaces.
Eight SNMP notifications are defined for GBS ports: gBondLowUpRateCrossing and gBondLowDnRateCrossing for rate threshold crossings; gBondPmTca15MinESCrossing, gBondPmTca15MinSESCrossing, gBondPmTca15MinUASCrossing for 15-minute PM threshold crossings; and gBondPmTca1DayESCrossing, gBondPmTca1DaySESCrossing, gBondPmTca1DayUASCrossing for 1-day PM threshold crossings.
gBondBce group contains gBondBceConfRemoteDiscoveryCode (PhysAddress, 6 octets) per BCE. Writing this object from a -O subtype BCE performs an atomic Set-if-Clear operation on the remote BCE's discovery register via the G.994.1 handshake protocol to assign BCEs to aggregation groups.
gBondPortCapTable provides read-only capability information per GBS: IANAgBondSchemeList bitmaps of locally and peer-supported bonding schemes, and BCE aggregation capacity (Unsigned32 1..32) for both local and peer GBS (peer returns 0 when unreachable).
gBondPortConfTable provides per-GBS writable configuration: admin bonding scheme (local and peer via IANAgBondScheme), 6-octet PhysAddress discovery code, target upstream/downstream data rates (Unsigned32, 0..10000000 Kbps), low-rate alarm thresholds, rate-crossing notification enable, and PM TCA profile name and enable flag.
gBondPortStatFltStatus is a BITS object reporting GBS fault conditions: noPeer(0), peerPowerLoss(1) (Dying Gasp), peerBondSchemeMismatch(2), bceSubTypeMismatch(3), lowRate(4), init(5), and ready(6). Both ifOperStatus and gBondPortStatFltStatus must be inspected together to determine the true operational status of a GBS port.
gBondPortStatTable provides live (non-persistent) GBS status: current operating bonding scheme for local and peer (IANAgBondScheme), upstream and downstream data rates (Gauge32 in bps), fault status bitmap, side (CO/-O or CPE/-R), and current number of active BCEs.
The Bonding Channel Entity (BCE) represents an individual xDSL line or bearer channel in the ifTable with an ifType relevant to the underlying xDSL technology (e.g., shdsl(169), vdsl(97), adsl(94), vdsl2(251)). Each BCE participates in exactly one GBS aggregation group.
The Generic Bonding Sub-layer (GBS) represents a bonded xDSL port in the ifTable as a separate interface with ifType g9981(263), g9982(264), or g9983(265) for ATM, Ethernet, or TDIM bonding respectively. It aggregates up to 32 Bonding Channel Entities (BCEs), each representing an xDSL line or individual bearer channel.
The IANA-GBOND-TC-MIB is an IANA-maintained MIB module defining IANAgBondScheme (single-valued enumeration) and IANAgBondSchemeList (BITS bitmap) textual conventions enumerating xDSL bonding schemes: none(0), g9981(1), g9982(2), g9983(3). IANA may add new values for future bonding schemes.
The GBOND-MIB contains writable objects (bonding scheme, data rate targets, discovery codes, notification thresholds) whose unauthorized modification could disrupt bonded xDSL service or cause misconfiguration. Implementors are directed to SNMPv3 framework security (RFC 3410) to protect read-write and read-create objects, with the most sensitive objects requiring authPriv-level access.
GBS operational states (ifOperStatus): 'up' when at least one bonded BCE is operationally up; 'lowerLayerDown' (SHALL) when all connected BCEs are down; 'notPresent' (SHALL) when not connected to any BCE; 'down' with gBondPortStatFltStatus init(5) during the initialization/training process.