Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

IS-IS L2 CSNP (isis_l2_csnp)

  • Layer: L3 (network)
  • Header: variable length
  • Notes: IS-IS (P2)

Reached from

Lower layerSelectorValue
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_type25 (re-decodes this layer)

Fields

FieldTypeDefaultAutoDescription
irpdenum(8)131 (isis)Intradomain routing protocol discriminator (0x83 = IS-IS).
header_lengthuint(8)33Length 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)25 (l2_csnp)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 octetsLength 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).
source_idbytes(7)00 00 00 00 00 01 00System ID of the sender and circuit ID (0).
start_lsp_idbytes(8)00 00 00 00 00 00 00 00First LSP ID covered by the CSNP.
end_lsp_idbytes(8)ff ff ff ff ff ff ff ffLast LSP ID covered by the CSNP.
tlvstlv — rest of the PDU1 itemsTLVs (8-bit code / 8-bit length) and their sub-TLVs.

irpd

ValueName
131 (0x83)isis

pdu_type

ValueName
15l1_lan_hello
16l2_lan_hello
17p2p_hello
18l1_lsp
20l2_lsp
24l1_csnp
25l2_csnp
26l1_psnp
27l2_psnp

tlvs

  • Type 8 bits, length 8 bits.
  • The length counts the value only.
  • Unknown types are kept as raw value octets.
TypeNameValue fieldsDescription
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

tlvs › area_addresses

FieldTypeDefaultAutoDescription
addresseslist<struct> — rest of the PDU
tlvs › area_addresses › addresses

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
addressnsap

tlvs › is_reachability

FieldTypeDefaultAutoDescription
virtual_flaguint(8)
neighborslist<struct> — rest of the PDU
tlvs › is_reachability › neighbors

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
neighbor_idbytes(7)

tlvs › is_neighbors

FieldTypeDefaultAutoDescription
neighborslist<mac> — rest of the PDU

tlvs › padding

FieldTypeDefaultAutoDescription
databytes — rest of the PDU

tlvs › lsp_entries

FieldTypeDefaultAutoDescription
entrieslist<struct> — rest of the PDU
tlvs › lsp_entries › entries

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
remaining_lifetimeuint(16)
lsp_idbytes(8)
sequence_numberuint(32)
checksumuint(16)

tlvs › authentication

FieldTypeDefaultAutoDescription
auth_typeenum(8)
valuebytes — rest of the PDU
tlvs › authentication › auth_type
ValueName
1 (0x01)cleartext
54 (0x36)hmac_md5

tlvs › extended_is_reachability

FieldTypeDefaultAutoDescription
neighborslist<struct> — rest of the PDU
tlvs › extended_is_reachability › neighbors

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
neighbor_idbytes(7)
metricuint(24)
sub_tlvs_lengthuint(8)Size of sub_tlvs in octets
sub_tlvstlv — sub_tlvs_length octets
tlvs › extended_is_reachability › neighbors › sub_tlvs
  • Type 8 bits, length 8 bits.
  • The length counts the value only.
  • Unknown types are kept as raw value octets.
TypeNameValue fieldsDescription
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

FieldTypeDefaultAutoDescription
valueuint(32)

tlvs › extended_is_reachability › neighbors › sub_tlvs › link_ids

FieldTypeDefaultAutoDescription
local_iduint(32)
remote_iduint(32)

tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_interface_address

FieldTypeDefaultAutoDescription
addressipv4

tlvs › extended_is_reachability › neighbors › sub_tlvs › ipv4_neighbor_address

FieldTypeDefaultAutoDescription
addressipv4

tlvs › extended_is_reachability › neighbors › sub_tlvs › max_link_bandwidth

FieldTypeDefaultAutoDescription
valueuint(32)

tlvs › extended_is_reachability › neighbors › sub_tlvs › max_reservable_bandwidth

FieldTypeDefaultAutoDescription
valueuint(32)

tlvs › extended_is_reachability › neighbors › sub_tlvs › unreserved_bandwidth

FieldTypeDefaultAutoDescription
valuesbytes(32)

tlvs › extended_is_reachability › neighbors › sub_tlvs › te_default_metric

FieldTypeDefaultAutoDescription
valueuint(24)

tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid

FieldTypeDefaultAutoDescription
flagsflags(8)
weightuint(8)
sidbytes — rest of the PDU

tlvs › extended_is_reachability › neighbors › sub_tlvs › adj_sid › flags

BitMaskName
7128 (0x80)f
664 (0x40)b
532 (0x20)v
416 (0x10)l
38 (0x08)s
24 (0x04)p

tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid

FieldTypeDefaultAutoDescription
flagsflags(8)
weightuint(8)
neighbor_idbytes(6)
sidbytes — rest of the PDU

tlvs › extended_is_reachability › neighbors › sub_tlvs › lan_adj_sid › flags

BitMaskName
7128 (0x80)f
664 (0x40)b
532 (0x20)v
416 (0x10)l
38 (0x08)s
24 (0x04)p

tlvs › ip_internal_reachability

FieldTypeDefaultAutoDescription
prefixeslist<struct> — rest of the PDU
tlvs › ip_internal_reachability › prefixes

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4

tlvs › protocols_supported

FieldTypeDefaultAutoDescription
nlpidslist<enum(8)> — rest of the PDU
tlvs › protocols_supported › nlpids
ValueName
129 (0x81)clnp
142 (0x8e)ipv6
204 (0xcc)ipv4

tlvs › ip_external_reachability

FieldTypeDefaultAutoDescription
prefixeslist<struct> — rest of the PDU
tlvs › ip_external_reachability › prefixes

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
default_metricuint(8)10
delay_metricuint(8)128
expense_metricuint(8)128
error_metricuint(8)128
ip_addressipv4
subnet_maskipv4

tlvs › ip_interface_addresses

FieldTypeDefaultAutoDescription
addresseslist<ipv4> — rest of the PDU

tlvs › te_router_id

FieldTypeDefaultAutoDescription
router_idipv4

tlvs › extended_ip_reachability

FieldTypeDefaultAutoDescription
prefixeslist<struct> — rest of the PDU
tlvs › extended_ip_reachability › prefixes

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
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
tlvs › extended_ip_reachability › prefixes › sub_tlv_block

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
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.
TypeNameValue fieldsDescription
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

FieldTypeDefaultAutoDescription
tagslist<uint(32)> — rest of the PDU

tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64

FieldTypeDefaultAutoDescription
tagslist<uint(64)> — rest of the PDU

tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid

FieldTypeDefaultAutoDescription
flagsflags(8)
algorithmuint(8)
sidbytes — rest of the PDU

tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags

BitMaskName
7128 (0x80)r
664 (0x40)n
532 (0x20)p
416 (0x10)e
38 (0x08)v
24 (0x04)l

tlvs › extended_ip_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags

FieldTypeDefaultAutoDescription
flagsbytes — rest of the PDU

tlvs › dynamic_hostname

FieldTypeDefaultAutoDescription
hostnamebytes — rest of the PDU

tlvs › ipv6_interface_addresses

FieldTypeDefaultAutoDescription
addresseslist<ipv6> — rest of the PDU

tlvs › ipv6_reachability

FieldTypeDefaultAutoDescription
prefixeslist<struct> — rest of the PDU
tlvs › ipv6_reachability › prefixes

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
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
tlvs › ipv6_reachability › prefixes › sub_tlv_block

Each item is a group of the fields below.

FieldTypeDefaultAutoDescription
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.
TypeNameValue fieldsDescription
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

FieldTypeDefaultAutoDescription
tagslist<uint(32)> — rest of the PDU

tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › admin_tag64

FieldTypeDefaultAutoDescription
tagslist<uint(64)> — rest of the PDU

tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid

FieldTypeDefaultAutoDescription
flagsflags(8)
algorithmuint(8)
sidbytes — rest of the PDU

tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_sid › flags

BitMaskName
7128 (0x80)r
664 (0x40)n
532 (0x20)p
416 (0x10)e
38 (0x08)v
24 (0x04)l

tlvs › ipv6_reachability › prefixes › sub_tlv_block › sub_tlvs › prefix_attribute_flags

FieldTypeDefaultAutoDescription
flagsbytes — rest of the PDU

tlvs › p2p_adjacency_state

FieldTypeDefaultAutoDescription
adjacency_stateenum(8)
extended_local_circuit_iduint(32)
neighbor_system_idbytes(6)
neighbor_extended_local_circuit_iduint(32)
tlvs › p2p_adjacency_state › adjacency_state
ValueName
0 (0x00)up
1 (0x01)initializing
2 (0x02)down

tlvs › router_capability

FieldTypeDefaultAutoDescription
router_idipv4
flagsflags(8)
sub_tlvstlv — rest of the PDU
tlvs › router_capability › flags
BitMaskName
01 (0x01)s
12 (0x02)d
tlvs › router_capability › sub_tlvs
  • Type 8 bits, length 8 bits.
  • The length counts the value only.
  • Unknown types are kept as raw value octets.
TypeNameValue fieldsDescription
2 (0x02)sr_capabilitiesflags, ranges
19 (0x13)sr_algorithmsalgorithms
tlvs › router_capability › sub_tlvs › sr_capabilities
FieldTypeDefaultAutoDescription
flagsflags(8)
rangesbytes — rest of the PDU

tlvs › router_capability › sub_tlvs › sr_capabilities › flags

BitMaskName
7128 (0x80)i
664 (0x40)v
tlvs › router_capability › sub_tlvs › sr_algorithms
FieldTypeDefaultAutoDescription
algorithmslist<uint(8)> — rest of the PDU

Constraints

LevelRule
warningheader_length = 33

Sample templates

  • isis-l2-csnp — templates/protocols/routing/isis-l2-csnp.wpg.yaml