Layer : L3 (network)
Header : variable length
Notes : IS-IS (P2)
Lower layer Selector Value
llcFirst 8 bits of the payload when dsap = 254 (0xfe) 131 (0x83)
pppFirst 8 bits of the payload when protocol = 35 (0x0023) 131 (0x83)
isispdu_type18 (re-decodes this layer)
Field Type Default Auto Description
irpdenum(8)131 (isis)Intradomain routing protocol discriminator (0x83 = IS-IS).
header_lengthuint(8)27Length of the fixed header in octets (constant for each PDU type: LAN Hello / LSP 27, P2P Hello 20, CSNP 33, PSNP 17).
version_extuint(8)1Version / protocol ID extension (1).
id_lengthuint(8)0System ID length (0 = 6 octets).
reserveduint(3)0
pdu_typeenum(5)18 (l1_lsp)PDU type (15/16 LAN Hello L1/L2, 17 P2P Hello, 18/20 LSP L1/L2, 24/25 CSNP, 26/27 PSNP).
versionuint(8)1Version (1).
reserved2uint(8)0
max_area_addressesuint(8)0Maximum number of area addresses (0 = 3).
pdu_lengthuint(16)Length of the header and payload in octets Length of the whole PDU (Auto). On a Hello, a Manual value pads the PDU to that length with Padding TLVs (e.g. 1497 for an MTU of 1500).
remaining_lifetimeuint(16)1199Remaining lifetime of the LSP in seconds (not covered by the checksum).
lsp_idbytes(8)00 00 00 00 00 01 00 00LSP ID: system ID, pseudonode ID and fragment number.
sequence_numberuint(32)1LSP sequence number.
checksumuint(16)Fletcher checksum over the header and everything after it; irpd, header_length, version_ext, id_length, reserved, pdu_type, version, reserved2, max_area_addresses, pdu_length, remaining_lifetime counted as zero Fletcher checksum from the LSP ID to the end of the PDU (Auto).
partition_repairuint(1)0P bit: partition repair supported.
attachedflags(4)0x0ATT bits: attached to another area (default / delay / expense / error metric).
overloaduint(1)0OL bit: LSP database overload.
is_typeenum(2)1 (l1)IS type: 1 = L1, 3 = L1/L2.
tlvstlv — rest of the PDU6 items TLVs (8-bit code / 8-bit length) and their sub-TLVs.
Value Name
15 l1_lan_hello
16 l2_lan_hello
17 p2p_hello
18 l1_lsp
20 l2_lsp
24 l1_csnp
25 l2_csnp
26 l1_psnp
27 l2_psnp
Bit Mask Name
0 1 default
1 2 delay
2 4 expense
3 8 error
Type 8 bits, length 8 bits.
The length counts the value only.
Unknown types are kept as raw value octets.
Type Name Value fields Description
1 (0x01) area_addressesaddresses
2 (0x02) is_reachabilityvirtual_flag, neighbors
6 (0x06) is_neighborsneighbors
8 (0x08) paddingdata
9 (0x09) lsp_entriesentries
10 (0x0a) authenticationauth_type, value
22 (0x16) extended_is_reachabilityneighbors
128 (0x80) ip_internal_reachabilityprefixes
129 (0x81) protocols_supportednlpids
130 (0x82) ip_external_reachabilityprefixes
132 (0x84) ip_interface_addressesaddresses
134 (0x86) te_router_idrouter_id
135 (0x87) extended_ip_reachabilityprefixes
137 (0x89) dynamic_hostnamehostname
232 (0xe8) ipv6_interface_addressesaddresses
236 (0xec) ipv6_reachabilityprefixes
240 (0xf0) p2p_adjacency_stateadjacency_state, extended_local_circuit_id, neighbor_system_id, neighbor_extended_local_circuit_id
242 (0xf2) router_capabilityrouter_id, flags, sub_tlvs
Field Type Default Auto Description
addresseslist<struct> — rest of the PDU
Each item is a group of the fields below.
Field Type Default Auto Description
addressnsap
Field Type Default Auto Description
virtual_flaguint(8)
neighborslist<struct> — rest of the PDU
Each item is a group of the fields below.
Field Type Default Auto Description
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)
Field Type Default Auto Description
neighborslist<mac> — rest of the PDU
Field Type Default Auto Description
databytes — rest of the PDU
Field Type Default Auto Description
entrieslist<struct> — rest of the PDU
Each item is a group of the fields below.
Field Type Default Auto Description
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)
Field Type Default Auto Description
auth_typeenum(8)
valuebytes — rest of the PDU
Value Name
1 (0x01) cleartext
54 (0x36) hmac_md5
Field Type Default Auto Description
neighborslist<struct> — rest of the PDU
Each item is a group of the fields below.
Field Type Default Auto Description
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)Size of sub_tlvs in octets
sub_tlvstlv — sub_tlvs_length octets
Type 8 bits, length 8 bits.
The length counts the value only.
Unknown types are kept as raw value octets.
Type Name Value fields Description
3 (0x03) admin_groupvalue
4 (0x04) link_idslocal_id, remote_id
6 (0x06) ipv4_interface_addressaddress
8 (0x08) ipv4_neighbor_addressaddress
9 (0x09) max_link_bandwidthvalue
10 (0x0a) max_reservable_bandwidthvalue
11 (0x0b) unreserved_bandwidthvalues
18 (0x12) te_default_metricvalue
31 (0x1f) adj_sidflags, weight, sid
32 (0x20) lan_adj_sidflags, weight, neighbor_id, sid
tlvs › extended_is_reachability › neighbors › sub_tlvs › admin_group
Field Type Default Auto Description
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids
Field Type Default Auto Description
local_iduint(32)
remote_iduint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address
Field Type Default Auto Description
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address
Field Type Default Auto Description
addressipv4
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth
Field Type Default Auto Description
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth
Field Type Default Auto Description
valueuint(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth
Field Type Default Auto Description
valuesbytes(32)
tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric
Field Type Default Auto Description
valueuint(24)
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid
Field Type Default Auto Description
flagsflags(8)
weightuint(8)
sidbytes — rest of the PDU
tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags
Bit Mask Name
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid
Field Type Default Auto Description
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — rest of the PDU
tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags
Bit Mask Name
7 128 (0x80) f
6 64 (0x40) b
5 32 (0x20) v
4 16 (0x10) l
3 8 (0x08) s
2 4 (0x04) p
Field Type Default Auto Description
prefixeslist<struct> — rest of the PDU
Each item is a group of the fields below.
Field Type Default Auto Description
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
Field Type Default Auto Description
nlpidslist<enum(8)> — rest of the PDU
Value Name
129 (0x81) clnp
142 (0x8e) ipv6
204 (0xcc) ipv4
Field Type Default Auto Description
prefixeslist<struct> — rest of the PDU
Each item is a group of the fields below.
Field Type Default Auto Description
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4
Field Type Default Auto Description
addresseslist<ipv4> — rest of the PDU
Field Type Default Auto Description
router_idipv4
Field Type Default Auto Description
prefixeslist<struct> — rest of the PDU
Each item is a group of the fields below.
Field Type Default Auto Description
metricuint(32)
up_downuint(1)
sub_tlvs_presentuint(1)Number of items of sub_tlv_block
prefix_lengthuint(6)
prefixbytes — (prefix_length + 7) / 8 octets
sub_tlv_blocklist<struct> — sub_tlvs_present items
Each item is a group of the fields below.
Field Type Default Auto Description
sub_tlvs_lengthuint(8)Size of sub_tlvs in octets
sub_tlvstlv — sub_tlvs_length octets
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs
Type 8 bits, length 8 bits.
The length counts the value only.
Unknown types are kept as raw value octets.
Type Name Value fields Description
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
Field Type Default Auto Description
tagslist<uint(32)> — rest of the PDU
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
Field Type Default Auto Description
tagslist<uint(64)> — rest of the PDU
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
Field Type Default Auto Description
flagsflags(8)
algorithmuint(8)
sidbytes — rest of the PDU
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
Bit Mask Name
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
Field Type Default Auto Description
flagsbytes — rest of the PDU
Field Type Default Auto Description
hostnamebytes — rest of the PDU
Field Type Default Auto Description
addresseslist<ipv6> — rest of the PDU
Field Type Default Auto Description
prefixeslist<struct> — rest of the PDU
Each item is a group of the fields below.
Field Type Default Auto Description
metricuint(32)
up_downuint(1)
externaluint(1)
sub_tlvs_presentuint(1)Number of items of sub_tlv_block
reserveduint(5)
prefix_lengthuint(8)
prefixbytes — (prefix_length + 7) / 8 octets
sub_tlv_blocklist<struct> — sub_tlvs_present items
Each item is a group of the fields below.
Field Type Default Auto Description
sub_tlvs_lengthuint(8)Size of sub_tlvs in octets
sub_tlvstlv — sub_tlvs_length octets
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs
Type 8 bits, length 8 bits.
The length counts the value only.
Unknown types are kept as raw value octets.
Type Name Value fields Description
1 (0x01) admin_tagtags
2 (0x02) admin_tag64tags
3 (0x03) prefix_sidflags, algorithm, sid
4 (0x04) prefix_attribute_flagsflags
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag
Field Type Default Auto Description
tagslist<uint(32)> — rest of the PDU
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64
Field Type Default Auto Description
tagslist<uint(64)> — rest of the PDU
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid
Field Type Default Auto Description
flagsflags(8)
algorithmuint(8)
sidbytes — rest of the PDU
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags
Bit Mask Name
7 128 (0x80) r
6 64 (0x40) n
5 32 (0x20) p
4 16 (0x10) e
3 8 (0x08) v
2 4 (0x04) l
tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags
Field Type Default Auto Description
flagsbytes — rest of the PDU
Field Type Default Auto Description
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
Value Name
0 (0x00) up
1 (0x01) initializing
2 (0x02) down
Field Type Default Auto Description
router_idipv4
flagsflags(8)
sub_tlvstlv — rest of the PDU
Bit Mask Name
0 1 (0x01) s
1 2 (0x02) d
Type 8 bits, length 8 bits.
The length counts the value only.
Unknown types are kept as raw value octets.
Type Name Value fields Description
2 (0x02) sr_capabilitiesflags, ranges
19 (0x13) sr_algorithmsalgorithms
Field Type Default Auto Description
flagsflags(8)
rangesbytes — rest of the PDU
tlvs › router_capability › sub_tlvs › sr_capabilities › flags
Bit Mask Name
7 128 (0x80) i
6 64 (0x40) v
Field Type Default Auto Description
algorithmslist<uint(8)> — rest of the PDU
Level Rule
warning header_length = 27
isis-l1-lsp — templates/protocols/routing/isis-l1-lsp.wpg.yaml