scapy.contrib.isis

IS-IS Scapy Extension

copyright

2014-2016 BENOCS GmbH, Berlin (Germany)

author

Marcel Patzlaff, mpatzlaff@benocs.com Michal Kaliszan, mkaliszan@benocs.com

license

GPLv2

This module is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

description

This module provides Scapy layers for the Intermediate System to Intermediate System routing protocol as defined in RFC 1195.

Currently it (partially) supports the packaging/encoding requirements of the following RFCs: * RFC 1195 (only the TCP/IP related part) * RFC 3358 (optional checksums) * RFC 5301 (dynamic hostname extension) * RFC 5302 (domain-wide prefix distribution) * RFC 5303 (three-way handshake) * RFC 5304 (cryptographic authentication) * RFC 5308 (routing IPv6 with IS-IS)

TODO
  • packet relations (requests, responses)

  • support for recent RFCs: * RFC 5305 (traffic engineering) * RFC 5307 (support for G-MPLS) * RFC 5310 (generic cryptographic authentication) * RFC 5316 (inter-AS MPLS and G-MPLS TE)

class scapy.contrib.isis.ISIS_32bitAdministrativeTagSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |              TAGS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ISIS_32bitAdministrativeTagSubTlv              
ISIS_32bitAdministrativeTagSubTlv fields

type

ByteEnumField

'1'

len

FieldLenField

'None'

tags

FieldListField

'[]'

class scapy.contrib.isis.ISIS_64bitAdministrativeTagSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |              TAGS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ISIS_64bitAdministrativeTagSubTlv              
ISIS_64bitAdministrativeTagSubTlv fields

type

ByteEnumField

'2'

len

FieldLenField

'None'

tags

FieldListField

'[]'

class scapy.contrib.isis.ISIS_AdministrativeGroupSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      CODE     |      LEN      |           ADMINGROUP          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_AdministrativeGroupSubTlv                
ISIS_AdministrativeGroupSubTlv fields

code

ByteEnumField

'3'

len

FieldLenField

'None'

admingroup

IPField

"'0.0.0.1'"

class scapy.contrib.isis.ISIS_AreaEntry(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    AREALEN    |             AREAID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ISIS_AreaEntry                        
ISIS_AreaEntry fields

arealen

FieldLenField

'None'

areaid

ISIS_AreaIdField

"'49'"

class scapy.contrib.isis.ISIS_AreaIdField(*args, **kwds)

Bases: scapy.fields.Field

addfield(pkt, s, val)
getfield(pkt, s)
i2len(pkt, x)
i2m(pkt, x)
length_from
m2i(pkt, x)
randval()
class scapy.contrib.isis.ISIS_AreaTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |             AREAS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ISIS_AreaTlv                         
ISIS_AreaTlv fields

type

ByteEnumField

'1'

len

FieldLenField

'None'

areas

PacketListField

'[]'

class scapy.contrib.isis.ISIS_AuthenticationTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |    AUTHTYPE   |    PASSWORD   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                   Fig. ISIS_AuthenticationTlv                    
ISIS_AuthenticationTlv fields

type

ByteEnumField

'10'

len

FieldLenField

'None'

authtype

ByteEnumField

'1'

password

BoundStrLenField

"b''"

class scapy.contrib.isis.ISIS_BufferSizeTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |         LSPBUFFERSIZE         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. ISIS_BufferSizeTlv                      
ISIS_BufferSizeTlv fields

type

ByteEnumField

'14'

len

ByteField

'2'

lspbuffersize

ShortField

'1497'

class scapy.contrib.isis.ISIS_ChecksumTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            CHECKSUM           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ISIS_ChecksumTlv                       
ISIS_ChecksumTlv fields

type

ByteEnumField

'12'

len

ByteField

'2'

checksum

XShortField

'None'

class scapy.contrib.isis.ISIS_CircuitTypeField(*args, **kwds)

Bases: scapy.fields.FlagsField

class scapy.contrib.isis.ISIS_CommonHdr(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     NLPID     |     HDRLEN    |    VERSION    |     IDLEN     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    PDUTYPE    |   PDUVERSION  |  HDRRESERVED  |  MAXAREAADDR  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ISIS_CommonHdr                        
ISIS_CommonHdr fields

nlpid

ByteEnumField

'131'

hdrlen

ByteField

'None'

version

ByteField

'1'

idlen

ByteField

'0'

pdutype

ByteEnumField

'None'

pduversion

ByteField

'1'

hdrreserved

ByteField

'0'

maxareaaddr

ByteField

'0'

payload_guess

Possible sublayers: ISIS_L1_CSNP, ISIS_L1_LAN_Hello, ISIS_L1_LSP, ISIS_L1_PSNP, ISIS_L2_CSNP, ISIS_L2_LAN_Hello, ISIS_L2_LSP, ISIS_L2_PSNP, ISIS_P2P_Hello

post_build(pkt, pay)
class scapy.contrib.isis.ISIS_DynamicHostnameTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            HOSTNAME           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. ISIS_DynamicHostnameTlv                   
ISIS_DynamicHostnameTlv fields

type

ByteEnumField

'137'

len

FieldLenField

'None'

hostname

BoundStrLenField

"b''"

class scapy.contrib.isis.ISIS_ExtendedIpPrefix(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             METRIC                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|S|   PFXLEN  |                      PFX                      |
+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |   SUBTLVSLEN  |            SUBTLVS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. ISIS_ExtendedIpPrefix                    
ISIS_ExtendedIpPrefix fields

metric

IntField

'1'

updown

BitField (1 bit)

'0'

subtlvindicator

BitField (1 bit)

'0'

pfxlen

BitFieldLenField (6 bits)

'None'

pfx

IPPrefixField

"('0.0.0.0', 1)"

subtlvslen

FieldLenField (Cond)

'None'

subtlvs

PacketListField (Cond)

'[]'

class scapy.contrib.isis.ISIS_ExtendedIpReachabilityTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |              PFXS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_ExtendedIpReachabilityTlv                
ISIS_ExtendedIpReachabilityTlv fields

type

ByteEnumField

'135'

len

FieldLenField

'None'

pfxs

PacketListField

'[]'

class scapy.contrib.isis.ISIS_ExtendedIsNeighbourEntry(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          NEIGHBOURID                          |
+                                               +-+-+-+-+-+-+-+-+
|                                               |     METRIC    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                               |   SUBTLVSLEN  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            SUBTLVS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ISIS_ExtendedIsNeighbourEntry                
ISIS_ExtendedIsNeighbourEntry fields

neighbourid

ISIS_NodeIdField

"'0102.0304.0506.07'"

metric

ThreeBytesField

'1'

subtlvslen

FieldLenField

'None'

subtlvs

PacketListField

'[]'

class scapy.contrib.isis.ISIS_ExtendedIsReachabilityTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |           NEIGHBOURS          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_ExtendedIsReachabilityTlv                
ISIS_ExtendedIsReachabilityTlv fields

type

ByteEnumField

'22'

len

FieldLenField

'None'

neighbours

PacketListField

'[]'

class scapy.contrib.isis.ISIS_ExternalIpReachabilityTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            ENTRIES            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_ExternalIpReachabilityTlv                
ISIS_ExternalIpReachabilityTlv fields

type

ByteEnumField

'130'

len

FieldLenField

'None'

entries

PacketListField

'[]'

class scapy.contrib.isis.ISIS_GenericSubTlv(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_GenericTlv_Base

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |              VAL              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. ISIS_GenericSubTlv                      
ISIS_GenericSubTlv fields

type

ByteField

'0'

len

FieldLenField

'None'

val

BoundStrLenField

"b''"

class scapy.contrib.isis.ISIS_GenericTlv(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_GenericTlv_Base

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |              VAL              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ISIS_GenericTlv                       
ISIS_GenericTlv fields

type

ByteField

'0'

len

FieldLenField

'None'

val

BoundStrLenField

"b''"

class scapy.contrib.isis.ISIS_IPv4InterfaceAddressSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            ADDRESS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_IPv4InterfaceAddressSubTlv               
ISIS_IPv4InterfaceAddressSubTlv fields

type

ByteEnumField

'6'

len

FieldLenField

'None'

address

IPField

"'0.0.0.0'"

class scapy.contrib.isis.ISIS_IPv4NeighborAddressSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            ADDRESS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_IPv4NeighborAddressSubTlv                
ISIS_IPv4NeighborAddressSubTlv fields

type

ByteEnumField

'8'

len

FieldLenField

'None'

address

IPField

"'0.0.0.0'"

class scapy.contrib.isis.ISIS_IPv6InterfaceAddressSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            ADDRESS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                                 +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_IPv6InterfaceAddressSubTlv               
ISIS_IPv6InterfaceAddressSubTlv fields

type

ByteEnumField

'12'

len

FieldLenField

'None'

address

IP6Field

"'::'"

class scapy.contrib.isis.ISIS_IPv6NeighborAddressSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            ADDRESS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                                 +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_IPv6NeighborAddressSubTlv                
ISIS_IPv6NeighborAddressSubTlv fields

type

ByteEnumField

'13'

len

FieldLenField

'None'

address

IP6Field

"'::'"

class scapy.contrib.isis.ISIS_InternalIpReachabilityTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            ENTRIES            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_InternalIpReachabilityTlv                
ISIS_InternalIpReachabilityTlv fields

type

ByteEnumField

'128'

len

FieldLenField

'None'

entries

PacketListField

'[]'

class scapy.contrib.isis.ISIS_IpInterfaceAddressTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |           ADDRESSES           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Fig. ISIS_IpInterfaceAddressTlv                  
ISIS_IpInterfaceAddressTlv fields

type

ByteEnumField

'132'

len

FieldLenField

'None'

addresses

FieldListField

'[]'

class scapy.contrib.isis.ISIS_IpReachabilityEntry(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   DEFMETRIC   |   DELMETRIC   |   EXPMETRIC   |   ERRMETRIC   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           IPADDRESS                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           SUBNETMASK                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ISIS_IpReachabilityEntry                   
ISIS_IpReachabilityEntry fields

defmetric

ByteField

'1'

delmetric

ByteField

'128'

expmetric

ByteField

'128'

errmetric

ByteField

'128'

ipaddress

IPField

"'0.0.0.0'"

subnetmask

IPField

"'255.255.255.255'"

class scapy.contrib.isis.ISIS_Ipv6InterfaceAddressTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |           ADDRESSES           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ISIS_Ipv6InterfaceAddressTlv                 
ISIS_Ipv6InterfaceAddressTlv fields

type

ByteEnumField

'232'

len

FieldLenField

'None'

addresses

IP6ListField

'[]'

class scapy.contrib.isis.ISIS_Ipv6Prefix(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             METRIC                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|E|S| RESERVED|     PFXLEN    |              PFX              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                                   +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |   SUBTLVSLEN  |    SUBTLVS    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                       Fig. ISIS_Ipv6Prefix                       
ISIS_Ipv6Prefix fields

metric

IntField

'1'

updown

BitField (1 bit)

'0'

external

BitField (1 bit)

'0'

subtlvindicator

BitField (1 bit)

'0'

reserved

BitField (5 bits)

'0'

pfxlen

FieldLenField

'None'

pfx

IP6PrefixField

"('::', 1)"

subtlvslen

FieldLenField (Cond)

'None'

subtlvs

PacketListField (Cond)

'[]'

class scapy.contrib.isis.ISIS_Ipv6ReachabilityTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |              PFXS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ISIS_Ipv6ReachabilityTlv                   
ISIS_Ipv6ReachabilityTlv fields

type

ByteEnumField

'236'

len

FieldLenField

'None'

pfxs

PacketListField

'[]'

class scapy.contrib.isis.ISIS_IsNeighbourTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |           NEIGHBOURS          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. ISIS_IsNeighbourTlv                     
ISIS_IsNeighbourTlv fields

type

ByteEnumField

'6'

len

FieldLenField

'None'

neighbours

FieldListField

'[]'

class scapy.contrib.isis.ISIS_IsReachabilityEntry(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   DEFMETRIC   |   DELMETRIC   |   EXPMETRIC   |   ERRMETRIC   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          NEIGHBOURID                          |
+                                               +-+-+-+-+-+-+-+-+
|                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ISIS_IsReachabilityEntry                   
ISIS_IsReachabilityEntry fields

defmetric

ByteField

'1'

delmetric

ByteField

'128'

expmetric

ByteField

'128'

errmetric

ByteField

'128'

neighbourid

ISIS_NodeIdField

"'0102.0304.0506.07'"

class scapy.contrib.isis.ISIS_IsReachabilityTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |    VIRTUAL    |   NEIGHBOURS  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                   Fig. ISIS_IsReachabilityTlv                    
ISIS_IsReachabilityTlv fields

type

ByteEnumField

'2'

len

FieldLenField

'None'

virtual

ByteField

'0'

neighbours

PacketListField

'[]'

class scapy.contrib.isis.ISIS_L1_CSNP(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_CSNP_Base

aliastypes
answers(other)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           PDULENGTH           |            SOURCEID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                   STARTLSPID                  |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                    ENDLSPID                   |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              TLVS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ISIS_L1_CSNP                         
ISIS_L1_CSNP fields

pdulength

_ISIS_PduLengthField

'None'

sourceid

ISIS_NodeIdField

"'0102.0304.0506.00'"

startlspid

ISIS_LspIdField

"'0000.0000.0000.00-00'"

endlspid

ISIS_LspIdField

"'FFFF.FFFF.FFFF.FF-FF'"

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_L1_LAN_Hello(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_LAN_HelloBase

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CIRCUITTYPE  |                    SOURCEID                   |
+-+-+-+-+-+-+-+-+                               +-+-+-+-+-+-+-+-+
|                                               |  HOLDINGTIME  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           PDULENGTH           |    PRIORITY   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LANID                             |
+                                               +-+-+-+-+-+-+-+-+
|                                               |      TLVS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                      Fig. ISIS_L1_LAN_Hello                      
ISIS_L1_LAN_Hello fields

circuittype

ISIS_CircuitTypeField

'<Flag 2 (L2)>'

sourceid

ISIS_SystemIdField

"'0102.0304.0506'"

holdingtime

ShortField

'30'

pdulength

_ISIS_PduLengthField

'None'

priority

ByteField

'1'

lanid

ISIS_NodeIdField

"'0000.0000.0000.00'"

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_L1_LSP(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_LSP_Base

aliastypes
answers(other)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           PDULENGTH           |            LIFETIME           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LSPID                             |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             SEQNUM                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            CHECKSUM           |   TYPEBLOCK   |      TLVS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                         Fig. ISIS_L1_LSP                         
ISIS_L1_LSP fields

pdulength

_ISIS_PduLengthField

'None'

lifetime

ShortField

'1199'

lspid

ISIS_LspIdField

"'0102.0304.0506.00-00'"

seqnum

XIntField

'1'

checksum

XShortField

'None'

typeblock

FlagsField

'<Flag 3 (L1+L2)>'

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_L1_PSNP(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_PSNP_Base

aliastypes
answers(other)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           PDULENGTH           |            SOURCEID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              TLVS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ISIS_L1_PSNP                         
ISIS_L1_PSNP fields

pdulength

_ISIS_PduLengthField

'None'

sourceid

ISIS_NodeIdField

"'0102.0304.0506.00'"

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_L2_CSNP(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_CSNP_Base

aliastypes
answers(other)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           PDULENGTH           |            SOURCEID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                   STARTLSPID                  |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                    ENDLSPID                   |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              TLVS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ISIS_L2_CSNP                         
ISIS_L2_CSNP fields

pdulength

_ISIS_PduLengthField

'None'

sourceid

ISIS_NodeIdField

"'0102.0304.0506.00'"

startlspid

ISIS_LspIdField

"'0000.0000.0000.00-00'"

endlspid

ISIS_LspIdField

"'FFFF.FFFF.FFFF.FF-FF'"

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_L2_LAN_Hello(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_LAN_HelloBase

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CIRCUITTYPE  |                    SOURCEID                   |
+-+-+-+-+-+-+-+-+                               +-+-+-+-+-+-+-+-+
|                                               |  HOLDINGTIME  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           PDULENGTH           |    PRIORITY   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LANID                             |
+                                               +-+-+-+-+-+-+-+-+
|                                               |      TLVS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                      Fig. ISIS_L2_LAN_Hello                      
ISIS_L2_LAN_Hello fields

circuittype

ISIS_CircuitTypeField

'<Flag 2 (L2)>'

sourceid

ISIS_SystemIdField

"'0102.0304.0506'"

holdingtime

ShortField

'30'

pdulength

_ISIS_PduLengthField

'None'

priority

ByteField

'1'

lanid

ISIS_NodeIdField

"'0000.0000.0000.00'"

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_L2_LSP(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_LSP_Base

aliastypes
answers(other)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           PDULENGTH           |            LIFETIME           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LSPID                             |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             SEQNUM                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            CHECKSUM           |   TYPEBLOCK   |      TLVS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                         Fig. ISIS_L2_LSP                         
ISIS_L2_LSP fields

pdulength

_ISIS_PduLengthField

'None'

lifetime

ShortField

'1199'

lspid

ISIS_LspIdField

"'0102.0304.0506.00-00'"

seqnum

XIntField

'1'

checksum

XShortField

'None'

typeblock

FlagsField

'<Flag 3 (L1+L2)>'

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_L2_PSNP(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_PSNP_Base

aliastypes
answers(other)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           PDULENGTH           |            SOURCEID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              TLVS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ISIS_L2_PSNP                         
ISIS_L2_PSNP fields

pdulength

_ISIS_PduLengthField

'None'

sourceid

ISIS_NodeIdField

"'0102.0304.0506.00'"

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_LinkLocalRemoteIdentifiersSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            LOCALID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |            REMOTEID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ISIS_LinkLocalRemoteIdentifiersSubTlv            
ISIS_LinkLocalRemoteIdentifiersSubTlv fields

type

ByteEnumField

'4'

len

FieldLenField

'8'

localid

IntField

"'0'"

remoteid

IntField

"'0'"

class scapy.contrib.isis.ISIS_LspEntry(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            LIFETIME           |             LSPID             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |             SEQNUM            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |            CHECKSUM           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ISIS_LspEntry                        
ISIS_LspEntry fields

lifetime

ShortField

'1200'

lspid

ISIS_LspIdField

"'0102.0304.0506.07-08'"

seqnum

XIntField

'1'

checksum

XShortField

'None'

class scapy.contrib.isis.ISIS_LspEntryTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            ENTRIES            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ISIS_LspEntryTlv                       
ISIS_LspEntryTlv fields

type

ByteEnumField

'9'

len

FieldLenField

'None'

entries

PacketListField

'[]'

class scapy.contrib.isis.ISIS_LspIdField(*args, **kwds)

Bases: scapy.contrib.isis._ISIS_IdFieldBase

randval()
class scapy.contrib.isis.ISIS_MaximumLinkBandwidthSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |             MAXBW             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_MaximumLinkBandwidthSubTlv               
ISIS_MaximumLinkBandwidthSubTlv fields

type

ByteEnumField

'9'

len

FieldLenField

'None'

maxbw

IEEEFloatField

'1000'

class scapy.contrib.isis.ISIS_MaximumReservableLinkBandwidthSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            MAXRSVBW           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Fig. ISIS_MaximumReservableLinkBandwidthSubTlv          
ISIS_MaximumReservableLinkBandwidthSubTlv fields

type

ByteEnumField

'10'

len

FieldLenField

'None'

maxrsvbw

IEEEFloatField

'1000'

class scapy.contrib.isis.ISIS_NodeIdField(*args, **kwds)

Bases: scapy.contrib.isis._ISIS_IdFieldBase

randval()
class scapy.contrib.isis.ISIS_P2PAdjacencyStateTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |     STATE     |EXTLOCALCIRCUIT|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|                                               |NEIGHBOURSYSTEM|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           NEIGHBOUREXTLOCALCIRCUITID          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                  Fig. ISIS_P2PAdjacencyStateTlv                  
ISIS_P2PAdjacencyStateTlv fields

type

ByteEnumField

'240'

len

_AdjacencyStateTlvLenField

'None'

state

ByteEnumField

'2'

extlocalcircuitid

IntField (Cond)

'None'

neighboursystemid

ISIS_SystemIdField (Cond)

'None'

neighbourextlocalcircuitid

IntField (Cond)

'None'

class scapy.contrib.isis.ISIS_P2P_Hello(*args, **kargs)

Bases: scapy.contrib.isis._ISIS_PduBase

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CIRCUITTYPE  |                    SOURCEID                   |
+-+-+-+-+-+-+-+-+                               +-+-+-+-+-+-+-+-+
|                                               |  HOLDINGTIME  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |           PDULENGTH           | LOCALCIRCUITID|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              TLVS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ISIS_P2P_Hello                        
ISIS_P2P_Hello fields

circuittype

ISIS_CircuitTypeField

'<Flag 2 (L2)>'

sourceid

ISIS_SystemIdField

"'0102.0304.0506'"

holdingtime

ShortField

'30'

pdulength

_ISIS_PduLengthField

'None'

localcircuitid

ByteField

'0'

tlvs

_ISIS_TlvListField

'[]'

class scapy.contrib.isis.ISIS_PaddingTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            PADDING            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ISIS_PaddingTlv                       
ISIS_PaddingTlv fields

type

ByteEnumField

'8'

len

FieldLenField

'None'

padding

BoundStrLenField

"b''"

class scapy.contrib.isis.ISIS_ProtocolsSupportedTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |             NLPIDS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Fig. ISIS_ProtocolsSupportedTlv                  
ISIS_ProtocolsSupportedTlv fields

type

ByteEnumField

'129'

len

FieldLenField

'None'

nlpids

FieldListField

'[]'

class scapy.contrib.isis.ISIS_SystemIdField(*args, **kwds)

Bases: scapy.contrib.isis._ISIS_IdFieldBase

randval()
class scapy.contrib.isis.ISIS_TEDefaultMetricSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            TEMETRIC           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Fig. ISIS_TEDefaultMetricSubTlv                  
ISIS_TEDefaultMetricSubTlv fields

type

ByteEnumField

'18'

len

FieldLenField

'None'

temetric

ThreeBytesField

'1000'

class scapy.contrib.isis.ISIS_TERouterIDTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            ROUTERID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. ISIS_TERouterIDTlv                      
ISIS_TERouterIDTlv fields

type

ByteEnumField

'134'

len

FieldLenField

'None'

routerid

IPField

"'0.0.0.0'"

class scapy.contrib.isis.ISIS_UnreservedBandwidthSubTlv(*args, **kargs)

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      TYPE     |      LEN      |            UNRSVBW            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Fig. ISIS_UnreservedBandwidthSubTlv                
ISIS_UnreservedBandwidthSubTlv fields

type

ByteEnumField

'11'

len

FieldLenField

'None'

unrsvbw

FieldListField

'[1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000]'

scapy.contrib.isis.isis_area2str(area)
scapy.contrib.isis.isis_lspid2str(lspid)
scapy.contrib.isis.isis_nodeid2str(nodeid)
scapy.contrib.isis.isis_str2area(s)
scapy.contrib.isis.isis_str2lspid(s)
scapy.contrib.isis.isis_str2nodeid(s)
scapy.contrib.isis.isis_str2sysid(s)
scapy.contrib.isis.isis_sysid2str(sysid)