General Network Element Constraint Encoding for GMPLS-Controlled Networks
Extracted elements (26)
Port label constraints are specified relative to a connectivity matrix or to the port in general (MatrixID=0xFF) to allow modeling flexibility; this permits both switch and fixed connectivity matrices with different label constraints to coexist on the same port.
The Connectivity Matrix is represented as a minimal list of input/output port-set pairs rather than a full M*m-by-N*n matrix to achieve compact encoding and to map directly to a graph representation suitable for path computation, minimizing the number of additional nodes and links needed.
The encodings are designed to be protocol-agnostic so that a single specification can be referenced by OSPF, IS-IS, and PCEP protocol extension documents, avoiding redundant or inconsistent per-protocol definitions. Protocol-specific documents define nesting within TLV/sub-TLV constructs.
All link identifiers within a single Link Set Field instance must be of the same type (link local identifier, IPv4, or IPv6). Mixing identifier formats within one Link Set Field is not permitted.
Each sub-matrix of the Connectivity Matrix MUST be identified by a different MatrixID that represents a unique combination of {src port, src label, dst port, dst label}; no two matrices may share the same such tuple.
For inclusive and exclusive label list actions (Action=0 or 1), the Num Labels field MUST match the actual count N of labels in the list.
For inclusive and exclusive label range actions (Action=2 or 3), the Num Labels field MUST be two, encoding exactly a Start Label and an End Label.
If a label is available at priority M, it MUST be advertised as available at each priority N < M (higher-priority levels). Once used by an LSP at priority N, the label is re-advertised as available only for priorities 0 through N-1.
In the PRI bitmap of Available Labels and Shared Backup Labels fields, a bit MUST be set (1) for each priority represented in the sub-TLV and MUST NOT be set (0) when the corresponding priority is absent. At least one priority level MUST be advertised.
The MatrixID value 0xFF is reserved for use with port label constraints and MUST NOT be used to identify a connectivity matrix.
When more than one Port Label Restrictions Field is present for a port, the resulting restriction is the union of the restrictions expressed in each field.
The Connectivity Matrix Field represents how input ports are connected to output ports for network elements, encoding either switch (reconfigurable) or fixed connectivity as a list of input/output link set pairs. It is uniquely identified by the advertising node and may be partitioned into sub-matrices, each with a distinct MatrixID, to limit size and enable incremental updates.
The Port Label Restrictions Field encodes what labels may or may not be used on a link. It carries a MatrixID (either the corresponding connectivity matrix ID or 0xFF for port-wide restrictions), a Restriction Type (RstType), Switching Capability, and LSP Encoding Type, plus restriction-type-specific parameters.
This document makes no IANA allocation requests; it defines protocol-independent information encodings only. IANA allocations for specific protocol uses of these encodings are deferred to protocol-specific extension documents.
The document defines protocol-independent encodings and does not itself introduce security issues. However, protocol-specific documents that embed these encodings must address risks of inspection, interception, modification, or spoofing of connectivity and label constraint information. A general GMPLS security framework is provided in RFC 5920.
For the Bitmap Label Set (Action=4), Num Labels indicates the count of labels represented; bits in the bitmap correspond to labels starting from Base Label. The bitmap is padded to a multiple of 32 bits; padding bits SHOULD be set to zero and MUST be ignored by receivers.
The Available Labels Field consists of an 8-bit PRI (Priority Flags) bitmap followed by Reserved bits and a variable-length Label Set Field. The PRI bitmap uses bit 0 (leftmost) for the highest priority (0) and bit 7 (rightmost) for the lowest priority (7).
The CHANNEL_COUNT restriction type (RstType=1) appends a 32-bit MaxNumChannels field indicating the maximum number of channels (labels) that can be simultaneously used on the port or matrix.
The Connectivity Matrix Field TLV begins with a 4-bit Conn field (0=fixed, 1=switched), an 8-bit MatrixID, and a Reserved field, followed by pairs of Link Set Fields (Link Set A and Link Set B) encoding the input-to-output connectivity. Valid dir combinations for the pair are (input, output) or (bidirectional, bidirectional).
The LABEL_RANGE restriction type (RstType=2) appends a 32-bit MaxLabelRange field (maximum waveband width in channel-spacing units) and a Label Set Field encoding the overall tuning range; it generalizes waveband device constraints.
The Label Set Field general format consists of a 4-bit Action (0=Inclusive List, 1=Exclusive List, 2=Inclusive Range, 3=Exclusive Range, 4=Bitmap Set), a 12-bit Num Labels, a 16-bit Length, a variable-length Base Label, and action-specific fields.
The LINK_LABEL_EXCLUSIVITY restriction type (RstType=4) appends a Link Set Field; any label may be used at most once among all ports in that link set.
The Link Set Field encodes a set of links via an 8-bit Action (0=Inclusive List, 1=Inclusive Range), a 2-bit Dir (0=bidirectional, 1=input, 2=output), a 6-bit Format (0=link local ID, 1=IPv4, 2=IPv6), a 16-bit Length, and a sequence of Link Identifiers whose size depends on Format. All identifiers in the same list must be of the same type.
The Shared Backup Labels Field has the same structure as the Available Labels Field: an 8-bit PRI bitmap, Reserved bits, and a variable-length Label Set Field, with identical priority semantics and LSP preemption rules.
The SIMPLE_LABEL & CHANNEL_COUNT restriction type (RstType=3) combines both a 32-bit MaxNumChannels field and a Label Set Field, encoding both the permitted labels and the maximum simultaneous label count for the port or matrix.
The SIMPLE_LABEL restriction type (RstType=0) appends a Label Set Field to the base Port Label Restrictions header; the label set indicates the set of labels permitted on the port or matrix.