xDSL Multi-Pair Bonding Using Time-Division Inverse Multiplexing (G.Bond/TDIM) MIB
Extracted elements (28)
A two-table design separates service definitions (g9983SvcTable, up to 255 entries) from active service ordering (g9983PortConfAdminServices byte-vector). This allows easy modification of service drop priority by reordering entries in the byte-vector without recreating service objects.
G.Bond/TDIM is a synchronous bonding scheme that requires both ends to agree on data distribution tables before any data transfer occurs, unlike G.Bond/ATM and G.Bond/Ethernet which carry reassembly information inline. This is why service configuration is communicated via BCC messages and must be pre-provisioned via MIB objects.
g9983OperSvcTable uses sequential integer indices (1..60) for entries rather than service index values, to enable easy SNMP GET-NEXT navigation by management applications without needing to parse the g9983PortConfAdminServices byte-vector.
Synchronous services (DS1/E1/DS3/E3/fractional/clock) positioned earlier in the G.Bond/TDIM frame have higher drop priority than asynchronous services (Ethernet/ATM/GFP) positioned later. Within the same type, lower position index means higher priority. This prioritization is non-configurable and inherent to the TDIM framing scheme.
G.Bond/TDIM TDM transport addresses only structure-agnostic TDM streams; it disregards structure imposed by standard TDM framing (G.704). Implementations mapping structured TDM services must handle framing above the TDIM layer.
GBS-R (remote/CPE side) ports cannot directly modify service type, FEC configuration, or service lists; all such configuration must be performed on the GBS-C (CO side), which propagates changes to the remote end via G.998.3 BCC messages. MIB write attempts to GBS-R objects MUST be rejected.
An 'active' g9983SvcTable entry that is referenced via g9983OperSvcIdx, g9983PortConfAdminServices, or a g9983SvcPm* entry MUST remain 'active' and SHALL NOT be modified while active; it must be set to 'notInService' first.
Attempts to change g9983PortConfAdminServices on a GBS-R port MUST be rejected, and a zero-length octet string SHALL be returned on read. Attempts to set this object to a list with a member value not indexing an active g9983SvcTable entry MUST also be rejected.
Attempts to change g9983SvcType on GBS-R ports MUST be rejected; service type changes on the remote side occur only as a result of write operations on the corresponding GBS-C object.
Entries in g9983PortConfTable, g9983PortCapTable, g9983SvcTable, and PM history tables MUST be maintained in a persistent manner across agent re-initializations.
For g9983SvcSize, a SET operation MUST be rejected if the service type is a fixed-rate synchronous service (nxds0, nxe0, ds1, e1, ds3, e3, or clock); for non-fractional TDM services, the value MUST be 0.
Modifications to FEC configuration objects (g9983PortConfFecAdminState, FEC word size, redundancy size, interleaver type, and depth) MUST be performed when the link is 'down'. Attempts to change these objects MUST be rejected if the link is 'up' or initializing, or if the port is a GBS-R.
Service up/down notifications (g9983SvcUp, g9983SvcDown) SHOULD be rate-limited with an implementation-specific gap between consecutive notifications of the same event to prevent notification flooding. Rate-limited notifications are dropped, not queued.
The agent SHOULD align the beginning of each 15-minute PM interval to a 15-minute wall-clock boundary, and each 1-day interval SHOULD be aligned to the start of a day.
The BTU-C MUST NOT produce notifications based upon the value of counters in an invalid PM history bucket (g9983PortPm15MinIntervalValid or g9983PortPm1DayIntervalValid is false).
The G9983-MIB module MUST be used in conjunction with the GBOND-MIB module, which is common to all G.Bond technologies. Both modules are REQUIRED to manage a G.Bond/TDIM port.
The sum of all services' bandwidth SHOULD be less than or equal to the target data rate of the bonded link; G.Bond/TDIM links are symmetrical (upstream rate equals downstream rate).
g9983OperSvcTable is a read-only, non-persistent table reflecting the current active service configuration as set by g9983PortConfAdminServices, with entries indexed by (ifIndex, g9983OperSvcPosition 1..60), each carrying a pointer to g9983SvcTable and the service operational state (up/down).
g9983PM group provides optional performance monitoring with current and historical (up to 96 15-minute and 7 1-day intervals) CRC-4, CRC-6, and CRC-8 error counters for ports, plus service-down-seconds counters per service. PM counters are not reset on port re-initialization.
g9983PortConfTable holds per-port configuration for G.Bond/TDIM ports indexed by ifIndex, containing FEC admin state, FEC word size (20–255 octets), FEC redundancy size (0|2|4|8|16|20 octets), interleaver type (none/block/convolution), interleaver depth, admin services list, and service notification enable flag.
g9983PortStatFltStatus is a BITS object with two flag positions: serviceDown (at least one service is down due to low rate) and wrongConfig (at least one remote BCE is connected to another GBS). It supplements ifOperStatus and gBondPortStatFltStatus.
g9983SvcTable defines up to 255 possible services per G.Bond/TDIM port, each row specifying service index, interface index, type (ds1/e1/nxds0/nxe0/ds3/e3/clock/ethernet/atm/gfpNoFCS/gfp), size in octets, and RowStatus for lifecycle management.
g9983SvcUp and g9983SvcDown are notifications carrying g9983OperSvcIdx and g9983SvcIfIdx, fired (unless disabled or rate-limited) when g9983OperSvcState transitions out of or into 'down' while the port ifOperStatus is 'up'. Generation is controlled by g9983PortConfSvcUpDownEnable.
IANA assigned OID { mib-2 210 } to the G9983-MIB module (g9983MIB MODULE-IDENTITY). No new IANA registries are created; the MIB OID is the sole IANA action.
Several G9983-MIB objects have MAX-ACCESS read-write or read-create, including FEC configuration and service configuration objects. Unauthorized write access could disrupt bonded xDSL services; implementations SHOULD apply SNMPv3 authentication and privacy (authPriv) for any management access that modifies these objects.
g9983OperSvcState models service state with two states — up (passing traffic) and down (port down, insufficient link bandwidth, or other failure). Transitions trigger g9983SvcUp and g9983SvcDown notifications if enabled.
G9983SvcIndex is a Unsigned32 in range 1..255 identifying a service; values SHOULD be assigned contiguously from 1 and MUST remain constant across management subsystem re-initializations.
G9983SvcIndexList is an OCTET STRING of size 0..60; each octet encodes an 8-bit G9983SvcIndex (1–255) identifying an active service. The octet's position in the string directly encodes the service's priority and position in the G.Bond/TDIM frame.