Pseudowire (PW) Management Information Base (MIB)
Extracted elements (26)
The PW is generally not an ifIndex on its own for agent scalability reasons; it is instead associated via PWE3 MIB modules to the ifIndex it is emulating. An ifIndex representation is permitted as an exception for implementations that find it convenient.
The PWE3 MIB architecture uses a layered modular model: a service-specific MIB module (per emulated service type), the generic PW-STD-MIB module (common parameters), and a PSN-specific module (per packet switched network type). All three are linked via the common pwIndex.
Implementers of the mapping tables (pwIndexMappingTable and pwGenFecIndexMappingTable) must be aware that large InetAddress or attachment identifier OID values can cause table row OIDs to exceed 128 sub-identifiers, making them inaccessible via SNMPv1, SNMPv2c, or SNMPv3.
In practice, most equipment failures result in 'lowerLayerDown' at the PW level where a notification has already been emitted from a higher layer (port or tunnel). Implementations should correlate notifications to suppress redundant PW-level notifications in such cases.
Unless all necessary entries across the pwTable, PSN-specific module, and service-specific module have been created with consistent parameters, signaling cannot be performed from the local node and pwVcOperStatus should report 'notPresent'.
When a PW is represented as an ifIndex, it SHOULD NOT be stacked above the respective PSN tunnel ifIndex, attachment circuit ifIndex, or the interface carrying the attachment circuit. Additionally, PW notifications SHOULD be turned off to avoid duplication with ifIndex status change notifications.
32-bit performance counters (e.g., pwPerfCurrentInBytes) MUST equal the least significant 32 bits of their corresponding 64-bit high-capacity counterparts when the HC versions are supported, per the rules in RFC 2863.
An entry in pwGenFecIndexMappingTable MUST be created by the agent for every PW created in pwTable for which pwOwner equals genFecSignaling. The table is indexed by AGI type/value, local AII type/value, and remote AII type/value.
An entry in the pwTable MUST exist for all PW types (ATM, FR, Ethernet, SONET, etc.). Operator creation of rows (manual configuration) MUST be supported by the agent and MUST be used when creating a non-signaled PW.
By default, all read-create objects in pwEntry MUST NOT be changed after row activation unless the individual object description specifically permits it. Objects that may be changed require either the PW to be inactive (pwRowStatus notInService/notReady or pwAdminStatus down) or are explicitly marked as changeable at any time.
Manual entries in the pwTable SHOULD be preserved after a reboot; the agent MUST ensure their integrity. If entries for a specific row are found inconsistent after reboot, pwOperStatus MUST be declared as notPresent(5).
When the PW is represented as an ifIndex, it is RECOMMENDED that PW notifications (pwUp, pwDown) be turned off to avoid duplication with ifIndex status change notifications already emitted for the same interface.
IANAPwPsnTypeTC (TEXTUAL-CONVENTION) enumerates 6 PSN types: mpls(1), l2tp(2), udpOverIp(3), mplsOverIp(4), mplsOverGre(5), other(6). The operator sets pwPsnType to select which PSN-specific MIB module is used.
IANAPwTypeTC (TEXTUAL-CONVENTION) enumerates 26 PW service types including frameRelayDlciMartiniMode(1), atmAal5SduVcc(2), ethernetTagged(4), ethernet(5), hdlc(6), ppp(7), cep(16), e1Satop(17), t1Satop(18), and wildcard(32767), among others.
pwEntry is indexed by pwIndex (PwIndexType) and contains fields for pwType (IANAPwTypeTC), pwOwner (manual/pwIdFecSignaling/genFecSignaling/l2tpControlProtocol/other), pwPsnType (IANAPwPsnTypeTC), peer address, PW ID, group/attachment identifiers, control word preference, MTU, capabilities, fragmentation, FCS retention, inbound/outbound labels, admin/oper status, and row management objects.
pwFcsRetentionStatus is a BITS object with six indicators: remoteIndicationUnknown, remoteRequestFcsRetention, fcsRetentionEnabled, fcsRetentionDisabled, localFcsRetentionCfgErr, and fcsRetentionFcsSizeMismatch. It reflects the outcome of FCS retention negotiation between local and peer nodes.
pwIndexMappingTable provides reverse lookup from the unique tuple [pwType, pwID, pwPeerAddrType, pwPeerAddr] to pwIndex. An entry MUST be created for every PW where pwOwner equals pwIdFecSignaling and pwID is non-zero; not applicable for manual or generalized-FEC PWs.
pwLocalCapabAdvert (IANAPwCapabilities BITS) advertises local capabilities to the peer during maintenance protocol exchange. The default value MUST be the full set of local node capabilities; the agent MUST reject any attempt to set an unsupported capability.
pwOperStatus (PwOperStatusTC, read-only) reflects the PW's operational state and is set to 'down' only when pwNotForwarding, psnFacingPwRxFault, or psnFacingPwTxFault are set; it reports 'lowerLayerDown' if the outer tunnel or physical layer is down while the PW itself is otherwise operational.
pwOutboundLabel and pwInboundLabel (Unsigned32) encode PSN-type-dependent identifiers: the 20-bit PW label for MPLS/MPLS-over-IP/GRE, the 32-bit Session ID for L2TP, and the UDP port number for IP PSN. A value of 0xFFFFFFFF indicates the label is not yet known (signaling in progress).
pwRemoteStatusCapable (INTEGER: notApplicable/notYetKnown/remoteCapable/remoteNotCapable) indicates whether the remote node can advertise PW status notifications. It SHOULD report notApplicable for manually configured PWs or when the local node cannot accept status notification objects.
The performance current table (pwPerfCurrentTable) provides both 64-bit high-capacity counters (pwPerfCurrentInHCPackets, pwPerfCurrentInHCBytes, pwPerfCurrentOutHCPackets, pwPerfCurrentOutHCBytes) and 32-bit versions for the current 15-minute measurement period.
The PW-STD-MIB module defines six tables: pwTable (generic config/status), pwPerfCurrentTable (15-min current stats), pwPerfIntervalTable (historical 15-min intervals, up to 96), pwPerf1DayIntervalTable (daily intervals, up to 31), pwIndexMappingTable (reverse mapping by peer IP/PW type/PW ID), and pwGenFecIndexMappingTable (reverse mapping for generalized FEC).
IANA assigned ifType value 246 to represent a PW virtual interface in the ifTable, for implementations that choose to manage a PW as an ifIndex. PW-STD-MIB is registered under transmission(246) OID.
IANA-PWE3-MIB is registered under mib-2 174 and defines IANAPwTypeTC, IANAPwPsnTypeTC, and IANAPwCapabilities textual conventions. Updates require RFC publication or Designated Expert Review per RFC 5226, based on procedures in RFC 4446.
The PW-STD-MIB contains read-create objects that can be used to configure pseudowires. Unauthorized write access could allow reconfiguration of PW parameters including labels, peer addresses, and administrative status, potentially disrupting traffic. SNMPv3 with authentication and privacy is recommended to protect management access to these objects.