Date created: Saturday, May 16, 2020 11:06:21 AM. Last modified: Tuesday, December 3, 2024 3:35:26 PM
IS-IS TVLs
References:
https://www.iana.org/assignments/isis-pdu/isis-pdu.xhtml
https://www.iana.org/assignments/isis-tlv-codepoints/isis-tlv-codepoints.xhtml
https://momcanfixanything.com/isis-narrow-and-wide-metrics/
https://www.ciscopress.com/articles/article.asp?p=26850&seqNum=4
https://www.cisco.com/c/en/us/support/docs/ip/integrated-intermediate-system-to-intermediate-system-is-is/5739-tlvs-5739.html
https://www.ietf.org/rfc/rfc1195.txt - Use of OSI IS-IS for Routing in TCP/IP and Dual Environments
https://www.rfc-editor.org/rfc/rfc5301.html - Dynamic Hostname Exchange Mechanism for IS-IS
https://www.rfc-editor.org/rfc/rfc5302.html - Domain-Wide Prefix Distribution with Two-Level IS-IS
https://www.rfc-editor.org/rfc/rfc5303.html - Three-Way Handshake for IS-IS Point-to-Point Adjacencies
https://www.rfc-editor.org/rfc/rfc5305.html - IS-IS Extensions for Traffic Engineering
https://www.rfc-editor.org/rfc/rfc5308.html - Routing IPv6 with IS-IS
https://www.rfc-editor.org/rfc/rfc6119.html - IPv6 Traffic Engineering in IS-IS
https://www.rfc-editor.org/rfc/rfc6232.html - Purge Originator Identification TLV for IS-IS
https://www.rfc-editor.org/rfc/rfc7981.html - IS-IS Extensions for Advertising Router Information
https://www.rfc-editor.org/rfc/rfc8491.html - Signaling Maximum SID Depth (MSD) Using IS-IS
https://www.rfc-editor.org/rfc/rfc8667.html - IS-IS Extensions for Segment Routing
https://www.rfc-editor.org/rfc/rfc8706.html - Restart Signaling for IS-IS
https://www.rfc-editor.org/rfc/rfc9350.html - IGP Flexible Algorithm
https://www.rfc-editor.org/rfc/rfc9667.html - Dynamic Flooding on Dense Graphs
https://standards.iso.org/ittf/PubliclyAvailableStandards/c031053_ISO_IEC_TR_9577_1999(E).zip - ISO/IEC TR 9557
PDU Recap
IS-IS PDUs have type which is a combination of the IS-IS level and PDU contents/function:
- Levels: 1 or 2
- Types: Hello, Sequenced Number Packet (SNP), or Link State Packet (LSP)
Common PDU types:
- 15 L1-LAN-HELLO-PDU -> Hello on broadcast network at Level 1
- 16 L2-LAN-HELLO-PDU -> Hello on broadcast network at Level 2
- 17 P2P-HELLO-PDU -> Hello on P2P network regardless for any level
- 18 L1-LSP-PDU -> Link State Packet for Level 1 with all relevant TLVs/Sub-TLVs
- 20 L2-LSP-PDU -> Link State Packet for Level 2 with all relevant TLVs/Sub-TLVs
- 24 L1-CSNP-PDU -> Latest sequence numbers for all LSPs at Level 1
- 25 L2-CSNP-PDU -> Latest sequence numbers for all LSPs at Level 2
- 26 L1-PSNP-PDU -> Request or acknowledge specific LSP(s) at Level1
- 27 L2-PSNP-PDU -> Request or acknowledge specific LSP(s) at Level1
The PDU type is defined in the fixed part of the PDU header, along with the length. The PDU length indicates that one or more TVLs follow the fixed part of the PDU header. Where each TVL starts and end is defined within the TLV.
TVLs can be included for all types of PDUs, for example:
- PDU types 15/16/17 might include TLV(s) 1, 6, 8, 129, 132, 211, 232, 240
- PDU types 18/20 might include TLV(s) 1, 2, 10, 13, 22, 128, 129, 130, 132, 134, 135, 137 (and many many more, this is where the bulk of new TLVs/Sub-TLVs are created for)
- PDU types 24/25/26/27 might include TLV(s) 9, 10
Common TLVs and Sub-TLVs
In the below descriptions, the "originating IS" means the LSP-ID in the PDU (the LSP-ID is unchanged as it is flooded throughout the network).
- TLV 1
- IS-IS Area Addresses the originating IS participates in.
- TLV 2
- List of IS-IS neighbours attached to originating IS. This is superseded by TLV22.
- TLV 6
- List of IS-IS neighbours detected on the local broadcast network.
- TLV 8
- Padding, primarily used in IIH.
- TLV 9
- List of LSP IDs and their sequence number.
- TLV 10
- Authentication information.
- TLV 13
- Purge Originator Identification. Data is purged by sending a higher sequence number with a zero lifetime. This TLV add's the originators System ID to a purge LSP.
- TLV 22
- RFC5305
- Extended IS reachability. This is the RFC & TLV which first introduced the concept of Sub-TLVs.
- This TLV contains a list of IS's the originating IS is directly connected to.
- Sub-TLV 6
- RFC5305
- IPv4 interface address - on the interface of the originating IS facing the neighbor IS.
- Sub-TLV 8
- RFC5305
- IPv4 neighbor address - on the interface of the neighbor facing the originating IS.
- Sub-TLV 9
- RFC5305
- Maximum Link Bandwidth - that can be used on this link in the direction from the system originating IS to its neighbors.
- Sub-TLV 10
- RFC5305
- Maximum Reservable Link Bandwidth - the maximum amount of bandwidth that can be reserved in this direction on this link.
Note that for oversubscription purposes, this can be greater than the bandwidth of the link.
- Sub TLV 11
- RFC5305
- Unreserved Bandwidth - the amount of bandwidth reservable in this direction on this link.
- Sub-TLV 12
- RFC6119
- IPv6 Interface Address - on the interface of the originating IS facing the neighbor IS.
- Sub-TLV 13
- RFC6119
- IPv6 Neighbor Address - on the interface of the neighbor facing the originating IS.
- Sub-TLV 18
- RFC5305
- Traffic Engineering Default Metric - a 24-bit unsigned integer.
- This metric is administratively assigned and can be used to present a differently weighted topology to traffic engineering SPF calculations.
- Sub-TLV 31
- RFC8667
- Adjacency Segment Identifier.
- Sub-TLV 6
- TLV 128
- RFC1195
- IP Internal Reachability Information - IP prefixes directly connected to the originating IS which are inside the routing domain.
- RFC5302 updates TLV 128 to have an up/down bit.
- TLV 129
- RFC1195
- Protocols Supported by the originating IS.
- NLPID 0x8E (142) == IPv6 (defined in ISO/IEC TR 9557)
- NLPID 0xCC (204) == IPv4 (defined in ISO/IEC TR 9557)
- NLPID 0xCF (207) == PPP (defined in ISO/IEC TR 9557)
- TVL 130
- RFC1195
- IP External Reachability Information - IP prefixes directly connected to the originating IS which are outside the routing domain (e.g. routes redistributed into IS-IS on this node).
- RFC5302 updates TLV 130 to have an up/down bit.
- TLV 131
- RFC1195
- Inter-Domain Routing Protocol Information - Inter-domain routing protocol information carried transparently through the domain between boundary IS's.
- TLV 132
- RFC1195
- IP Interface Address(es) - on the interface which transmitted the PDU.
- TLV 133
- RFC1195
- Authentication Information which was later deprecated for TLV 10.
- TLV 134
- RFC5305
- Traffic Engineering router ID - the 4-octet router ID of the router originating the LSP.
- TLV 135
- RFC5305
- Extended IP reachability - IP prefixes directly connected to the originating IS.
- Increased the metric to 4-octets and added the up/down bit.
- Sub-TLV 3
- RFC8667
- Prefix Segment Identifier
- Sub-TLV 6
- RFC9350
- IS-IS Flexible Algorithm Prefix Metric (FAPM) - advertisement of a Flex-Algorithm-specific prefix metric associated with a given prefix advertisement
- Sub-TLV 3
- TLV 137
- RFC5301
- Dynamic Hostname - The hostname of the originating IS.
- TLV 140
- RFC6119
- IPv6 TE Router ID.
- TLV 211
- RFC8706
- Restart Signaling - the originating IS is restarting.
- TLV 232
- RFC5308
- IPv6 Interface Address - on the interface which transmitted the PDU (maps to TLV 132).
- TLV 236
- RFC5308
- IPv6 Reachability - Similar to TLV 128 + 130 merged in one for IPv6 using an "external" bit.
- TLV 240
- RFC5303
- P2P 3-Way Adj. State
- TLV 242
- RFC7981
- IS-IS Router CAPABILITY TLV
- Sub-TLV 2
- RFC8667
- Segment Routing Capability
- Sub-TLV 22
- RFC8667
- Segment Routing Local Block (SRLB)
- Sub-TLV 23
- RFC8491
- Node Maximum SID Depth
- Sub-TLV 26
- RFC9350
- IS-IS Flexible Algorithm Definition (FAD) - advertised the definition of the Flex-Algorithm (the Flexible Algorithm number with the Metric-Type+Calc-Type)
- Sub-TLV 27
- RFC9667
- IS-IS Area Leader
- Sub-TLV 2
Previous page: IS-IS Interop Scaling
Next page: IPv6