scapy.contrib.isis module

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

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_32bitAdministrativeTagSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_32bitAdministrativeTagSubTlv).type>, <Field (ISIS_32bitAdministrativeTagSubTlv).len>, <Field (ISIS_32bitAdministrativeTagSubTlv).tags>]
class scapy.contrib.isis.ISIS_64bitAdministrativeTagSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_64bitAdministrativeTagSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_64bitAdministrativeTagSubTlv).type>, <Field (ISIS_64bitAdministrativeTagSubTlv).len>, <Field (ISIS_64bitAdministrativeTagSubTlv).tags>]
class scapy.contrib.isis.ISIS_AdministrativeGroupSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_AdministrativeGroupSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_AdministrativeGroupSubTlv).code>, <Field (ISIS_AdministrativeGroupSubTlv).len>, <Field (ISIS_AdministrativeGroupSubTlv).admingroup>]
class scapy.contrib.isis.ISIS_AreaEntry

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.isis.ISIS_AreaEntry'>, <class 'scapy.packet.Packet'>]
extract_padding(s)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (ISIS_AreaEntry).arealen>, <Field (ISIS_AreaEntry).areaid>]
class scapy.contrib.isis.ISIS_AreaIdField(name, default, length_from)

Bases: scapy.fields.Field

addfield(pkt, s, val)

Add an internal value to a string

Copy the network representation of field val (belonging to layer pkt) to the raw string packet s, and return the new string packet.

getfield(pkt, s)

Extract an internal value from a string

Extract from the raw packet s the field value belonging to layer pkt.

Returns a two-element list, first the raw packet string after having removed the extracted field, second the extracted field itself in internal representation.

i2len(pkt, x)

Convert internal value to a length usable by a FieldLenField

i2m(pkt, x)

Convert internal value to machine value

length_from
m2i(pkt, x)

Convert machine value to internal value

randval()

Return a volatile object whose value is both random and suitable for this field

class scapy.contrib.isis.ISIS_AreaTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_AreaTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_AreaTlv).type>, <Field (ISIS_AreaTlv).len>, <Field (ISIS_AreaTlv).areas>]
class scapy.contrib.isis.ISIS_AuthenticationTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_AuthenticationTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_AuthenticationTlv).type>, <Field (ISIS_AuthenticationTlv).len>, <Field (ISIS_AuthenticationTlv).authtype>, <Field (ISIS_AuthenticationTlv).password>]
class scapy.contrib.isis.ISIS_BufferSizeTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_BufferSizeTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_BufferSizeTlv).type>, <Field (ISIS_BufferSizeTlv).len>, <Field (ISIS_BufferSizeTlv).lspbuffersize>]
class scapy.contrib.isis.ISIS_ChecksumTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_ChecksumTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_ChecksumTlv).type>, <Field (ISIS_ChecksumTlv).len>, <Field (ISIS_ChecksumTlv).checksum>]
class scapy.contrib.isis.ISIS_CircuitTypeField(name='circuittype', default=2, size=8, names=None)

Bases: scapy.fields.FlagsField

class scapy.contrib.isis.ISIS_CommonHdr

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.isis.ISIS_CommonHdr'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_CommonHdr).nlpid>, <Field (ISIS_CommonHdr).hdrlen>, <Field (ISIS_CommonHdr).version>, <Field (ISIS_CommonHdr).idlen>, <Field (ISIS_CommonHdr).pdutype>, <Field (ISIS_CommonHdr).pduversion>, <Field (ISIS_CommonHdr).hdrreserved>, <Field (ISIS_CommonHdr).maxareaaddr>]
payload_guess = [({'hdrlen': 27, 'pdutype': 15}, <class 'scapy.contrib.isis.ISIS_L1_LAN_Hello'>), ({'hdrlen': 27, 'pdutype': 16}, <class 'scapy.contrib.isis.ISIS_L2_LAN_Hello'>), ({'hdrlen': 20, 'pdutype': 17}, <class 'scapy.contrib.isis.ISIS_P2P_Hello'>), ({'hdrlen': 27, 'pdutype': 18}, <class 'scapy.contrib.isis.ISIS_L1_LSP'>), ({'hdrlen': 27, 'pdutype': 20}, <class 'scapy.contrib.isis.ISIS_L2_LSP'>), ({'hdrlen': 33, 'pdutype': 24}, <class 'scapy.contrib.isis.ISIS_L1_CSNP'>), ({'hdrlen': 33, 'pdutype': 25}, <class 'scapy.contrib.isis.ISIS_L2_CSNP'>), ({'hdrlen': 17, 'pdutype': 26}, <class 'scapy.contrib.isis.ISIS_L1_PSNP'>), ({'hdrlen': 17, 'pdutype': 27}, <class 'scapy.contrib.isis.ISIS_L2_PSNP'>)]
post_build(pkt, pay)

DEV: called right after the current layer is build.

Parameters:
  • pkt (str) – the current packet (build by self_buil function)
  • pay (str) – the packet payload (build by do_build_payload function)
Returns:

a string of the packet with the payload

class scapy.contrib.isis.ISIS_DynamicHostnameTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_DynamicHostnameTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_DynamicHostnameTlv).type>, <Field (ISIS_DynamicHostnameTlv).len>, <Field (ISIS_DynamicHostnameTlv).hostname>]
class scapy.contrib.isis.ISIS_ExtendedIpPrefix

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.isis.ISIS_ExtendedIpPrefix'>, <class 'scapy.packet.Packet'>]
extract_padding(s)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (ISIS_ExtendedIpPrefix).metric>, <Field (ISIS_ExtendedIpPrefix).updown>, <Field (ISIS_ExtendedIpPrefix).subtlvindicator>, <Field (ISIS_ExtendedIpPrefix).pfxlen>, <Field (ISIS_ExtendedIpPrefix).pfx>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.contrib.isis.ISIS_ExtendedIpReachabilityTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_ExtendedIpReachabilityTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_ExtendedIpReachabilityTlv).type>, <Field (ISIS_ExtendedIpReachabilityTlv).len>, <Field (ISIS_ExtendedIpReachabilityTlv).pfxs>]
class scapy.contrib.isis.ISIS_ExtendedIsNeighbourEntry

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.isis.ISIS_ExtendedIsNeighbourEntry'>, <class 'scapy.packet.Packet'>]
extract_padding(s)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (ISIS_ExtendedIsNeighbourEntry).neighbourid>, <Field (ISIS_ExtendedIsNeighbourEntry).metric>, <Field (ISIS_ExtendedIsNeighbourEntry).subtlvslen>, <Field (ISIS_ExtendedIsNeighbourEntry).subtlvs>]
class scapy.contrib.isis.ISIS_ExtendedIsReachabilityTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_ExtendedIsReachabilityTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_ExtendedIsReachabilityTlv).type>, <Field (ISIS_ExtendedIsReachabilityTlv).len>, <Field (ISIS_ExtendedIsReachabilityTlv).neighbours>]
class scapy.contrib.isis.ISIS_ExternalIpReachabilityTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_ExternalIpReachabilityTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_ExternalIpReachabilityTlv).type>, <Field (ISIS_ExternalIpReachabilityTlv).len>, <Field (ISIS_ExternalIpReachabilityTlv).entries>]
class scapy.contrib.isis.ISIS_GenericSubTlv

Bases: scapy.contrib.isis._ISIS_GenericTlv_Base

aliastypes = [<class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).type>, <Field (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).len>, <Field (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).val>]
class scapy.contrib.isis.ISIS_GenericTlv

Bases: scapy.contrib.isis._ISIS_GenericTlv_Base

aliastypes = [<class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).type>, <Field (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).len>, <Field (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).val>]
class scapy.contrib.isis.ISIS_IPv4InterfaceAddressSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_IPv4InterfaceAddressSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_IPv4InterfaceAddressSubTlv).type>, <Field (ISIS_IPv4InterfaceAddressSubTlv).len>, <Field (ISIS_IPv4InterfaceAddressSubTlv).address>]
class scapy.contrib.isis.ISIS_IPv4NeighborAddressSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_IPv4NeighborAddressSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_IPv4NeighborAddressSubTlv).type>, <Field (ISIS_IPv4NeighborAddressSubTlv).len>, <Field (ISIS_IPv4NeighborAddressSubTlv).address>]
class scapy.contrib.isis.ISIS_IPv6InterfaceAddressSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_IPv6InterfaceAddressSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_IPv6InterfaceAddressSubTlv).type>, <Field (ISIS_IPv6InterfaceAddressSubTlv).len>, <Field (ISIS_IPv6InterfaceAddressSubTlv).address>]
class scapy.contrib.isis.ISIS_IPv6NeighborAddressSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_IPv6NeighborAddressSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_IPv6NeighborAddressSubTlv).type>, <Field (ISIS_IPv6NeighborAddressSubTlv).len>, <Field (ISIS_IPv6NeighborAddressSubTlv).address>]
class scapy.contrib.isis.ISIS_InternalIpReachabilityTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_InternalIpReachabilityTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_InternalIpReachabilityTlv).type>, <Field (ISIS_InternalIpReachabilityTlv).len>, <Field (ISIS_InternalIpReachabilityTlv).entries>]
class scapy.contrib.isis.ISIS_IpInterfaceAddressTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_IpInterfaceAddressTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_IpInterfaceAddressTlv).type>, <Field (ISIS_IpInterfaceAddressTlv).len>, <Field (ISIS_IpInterfaceAddressTlv).addresses>]
class scapy.contrib.isis.ISIS_IpReachabilityEntry

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.isis.ISIS_IpReachabilityEntry'>, <class 'scapy.packet.Packet'>]
extract_padding(s)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (ISIS_IpReachabilityEntry).defmetric>, <Field (ISIS_IpReachabilityEntry).delmetric>, <Field (ISIS_IpReachabilityEntry).expmetric>, <Field (ISIS_IpReachabilityEntry).errmetric>, <Field (ISIS_IpReachabilityEntry).ipaddress>, <Field (ISIS_IpReachabilityEntry).subnetmask>]
class scapy.contrib.isis.ISIS_Ipv6InterfaceAddressTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_Ipv6InterfaceAddressTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_Ipv6InterfaceAddressTlv).type>, <Field (ISIS_Ipv6InterfaceAddressTlv).len>, <Field (ISIS_Ipv6InterfaceAddressTlv).addresses>]
class scapy.contrib.isis.ISIS_Ipv6Prefix

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.isis.ISIS_Ipv6Prefix'>, <class 'scapy.packet.Packet'>]
extract_padding(s)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (ISIS_Ipv6Prefix).metric>, <Field (ISIS_Ipv6Prefix).updown>, <Field (ISIS_Ipv6Prefix).external>, <Field (ISIS_Ipv6Prefix).subtlvindicator>, <Field (ISIS_Ipv6Prefix).reserved>, <Field (ISIS_Ipv6Prefix).pfxlen>, <Field (ISIS_Ipv6Prefix).pfx>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.contrib.isis.ISIS_Ipv6ReachabilityTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_Ipv6ReachabilityTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_Ipv6ReachabilityTlv).type>, <Field (ISIS_Ipv6ReachabilityTlv).len>, <Field (ISIS_Ipv6ReachabilityTlv).pfxs>]
class scapy.contrib.isis.ISIS_IsNeighbourTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_IsNeighbourTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_IsNeighbourTlv).type>, <Field (ISIS_IsNeighbourTlv).len>, <Field (ISIS_IsNeighbourTlv).neighbours>]
class scapy.contrib.isis.ISIS_IsReachabilityEntry

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.isis.ISIS_IsReachabilityEntry'>, <class 'scapy.packet.Packet'>]
extract_padding(s)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (ISIS_IsReachabilityEntry).defmetric>, <Field (ISIS_IsReachabilityEntry).delmetric>, <Field (ISIS_IsReachabilityEntry).expmetric>, <Field (ISIS_IsReachabilityEntry).errmetric>, <Field (ISIS_IsReachabilityEntry).neighbourid>]
class scapy.contrib.isis.ISIS_IsReachabilityTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_IsReachabilityTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_IsReachabilityTlv).type>, <Field (ISIS_IsReachabilityTlv).len>, <Field (ISIS_IsReachabilityTlv).virtual>, <Field (ISIS_IsReachabilityTlv).neighbours>]
class scapy.contrib.isis.ISIS_L1_CSNP

Bases: scapy.contrib.isis._ISIS_CSNP_Base

aliastypes = [<class 'scapy.contrib.isis.ISIS_L1_CSNP'>, <class 'scapy.contrib.isis._ISIS_CSNP_Base'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
answers(other)

DEV: true if self is an answer from other

fields_desc = [<Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).pdulength>, <Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).sourceid>, <Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).startlspid>, <Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).endlspid>, <Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).tlvs>]
class scapy.contrib.isis.ISIS_L1_LAN_Hello

Bases: scapy.contrib.isis._ISIS_LAN_HelloBase

aliastypes = [<class 'scapy.contrib.isis.ISIS_L1_LAN_Hello'>, <class 'scapy.contrib.isis._ISIS_LAN_HelloBase'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).circuittype>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).sourceid>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).holdingtime>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).pdulength>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).priority>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).lanid>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).tlvs>]
class scapy.contrib.isis.ISIS_L1_LSP

Bases: scapy.contrib.isis._ISIS_LSP_Base

aliastypes = [<class 'scapy.contrib.isis.ISIS_L1_LSP'>, <class 'scapy.contrib.isis._ISIS_LSP_Base'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
answers(other)

DEV: true if self is an answer from other

fields_desc = [<Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).pdulength>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).lifetime>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).lspid>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).seqnum>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).checksum>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).typeblock>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).tlvs>]
class scapy.contrib.isis.ISIS_L1_PSNP

Bases: scapy.contrib.isis._ISIS_PSNP_Base

aliastypes = [<class 'scapy.contrib.isis.ISIS_L1_PSNP'>, <class 'scapy.contrib.isis._ISIS_PSNP_Base'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
answers(other)

DEV: true if self is an answer from other

fields_desc = [<Field (_ISIS_PSNP_Base,ISIS_L1_PSNP,ISIS_L2_PSNP).pdulength>, <Field (_ISIS_PSNP_Base,ISIS_L1_PSNP,ISIS_L2_PSNP).sourceid>, <Field (_ISIS_PSNP_Base,ISIS_L1_PSNP,ISIS_L2_PSNP).tlvs>]
class scapy.contrib.isis.ISIS_L2_CSNP

Bases: scapy.contrib.isis._ISIS_CSNP_Base

aliastypes = [<class 'scapy.contrib.isis.ISIS_L2_CSNP'>, <class 'scapy.contrib.isis._ISIS_CSNP_Base'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
answers(other)

DEV: true if self is an answer from other

fields_desc = [<Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).pdulength>, <Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).sourceid>, <Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).startlspid>, <Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).endlspid>, <Field (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).tlvs>]
class scapy.contrib.isis.ISIS_L2_LAN_Hello

Bases: scapy.contrib.isis._ISIS_LAN_HelloBase

aliastypes = [<class 'scapy.contrib.isis.ISIS_L2_LAN_Hello'>, <class 'scapy.contrib.isis._ISIS_LAN_HelloBase'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).circuittype>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).sourceid>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).holdingtime>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).pdulength>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).priority>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).lanid>, <Field (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).tlvs>]
class scapy.contrib.isis.ISIS_L2_LSP

Bases: scapy.contrib.isis._ISIS_LSP_Base

aliastypes = [<class 'scapy.contrib.isis.ISIS_L2_LSP'>, <class 'scapy.contrib.isis._ISIS_LSP_Base'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
answers(other)

DEV: true if self is an answer from other

fields_desc = [<Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).pdulength>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).lifetime>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).lspid>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).seqnum>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).checksum>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).typeblock>, <Field (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).tlvs>]
class scapy.contrib.isis.ISIS_L2_PSNP

Bases: scapy.contrib.isis._ISIS_PSNP_Base

aliastypes = [<class 'scapy.contrib.isis.ISIS_L2_PSNP'>, <class 'scapy.contrib.isis._ISIS_PSNP_Base'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
answers(other)

DEV: true if self is an answer from other

fields_desc = [<Field (_ISIS_PSNP_Base,ISIS_L1_PSNP,ISIS_L2_PSNP).pdulength>, <Field (_ISIS_PSNP_Base,ISIS_L1_PSNP,ISIS_L2_PSNP).sourceid>, <Field (_ISIS_PSNP_Base,ISIS_L1_PSNP,ISIS_L2_PSNP).tlvs>]
class scapy.contrib.isis.ISIS_LinkLocalRemoteIdentifiersSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_LinkLocalRemoteIdentifiersSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_LinkLocalRemoteIdentifiersSubTlv).type>, <Field (ISIS_LinkLocalRemoteIdentifiersSubTlv).len>, <Field (ISIS_LinkLocalRemoteIdentifiersSubTlv).localid>, <Field (ISIS_LinkLocalRemoteIdentifiersSubTlv).remoteid>]
class scapy.contrib.isis.ISIS_LspEntry

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.isis.ISIS_LspEntry'>, <class 'scapy.packet.Packet'>]
extract_padding(s)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (ISIS_LspEntry).lifetime>, <Field (ISIS_LspEntry).lspid>, <Field (ISIS_LspEntry).seqnum>, <Field (ISIS_LspEntry).checksum>]
class scapy.contrib.isis.ISIS_LspEntryTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_LspEntryTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_LspEntryTlv).type>, <Field (ISIS_LspEntryTlv).len>, <Field (ISIS_LspEntryTlv).entries>]
class scapy.contrib.isis.ISIS_LspIdField(name, default)

Bases: scapy.contrib.isis._ISIS_IdFieldBase

randval()

Return a volatile object whose value is both random and suitable for this field

class scapy.contrib.isis.ISIS_MaximumLinkBandwidthSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_MaximumLinkBandwidthSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_MaximumLinkBandwidthSubTlv).type>, <Field (ISIS_MaximumLinkBandwidthSubTlv).len>, <Field (ISIS_MaximumLinkBandwidthSubTlv).maxbw>]
class scapy.contrib.isis.ISIS_MaximumReservableLinkBandwidthSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_MaximumReservableLinkBandwidthSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_MaximumReservableLinkBandwidthSubTlv).type>, <Field (ISIS_MaximumReservableLinkBandwidthSubTlv).len>, <Field (ISIS_MaximumReservableLinkBandwidthSubTlv).maxrsvbw>]
class scapy.contrib.isis.ISIS_NodeIdField(name, default)

Bases: scapy.contrib.isis._ISIS_IdFieldBase

randval()

Return a volatile object whose value is both random and suitable for this field

class scapy.contrib.isis.ISIS_P2PAdjacencyStateTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_P2PAdjacencyStateTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_P2PAdjacencyStateTlv).type>, <Field (ISIS_P2PAdjacencyStateTlv).len>, <Field (ISIS_P2PAdjacencyStateTlv).state>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.contrib.isis.ISIS_P2P_Hello

Bases: scapy.contrib.isis._ISIS_PduBase

aliastypes = [<class 'scapy.contrib.isis.ISIS_P2P_Hello'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_P2P_Hello).circuittype>, <Field (ISIS_P2P_Hello).sourceid>, <Field (ISIS_P2P_Hello).holdingtime>, <Field (ISIS_P2P_Hello).pdulength>, <Field (ISIS_P2P_Hello).localcircuitid>, <Field (ISIS_P2P_Hello).tlvs>]
class scapy.contrib.isis.ISIS_PaddingTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_PaddingTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_PaddingTlv).type>, <Field (ISIS_PaddingTlv).len>, <Field (ISIS_PaddingTlv).padding>]
class scapy.contrib.isis.ISIS_ProtocolsSupportedTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_ProtocolsSupportedTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_ProtocolsSupportedTlv).type>, <Field (ISIS_ProtocolsSupportedTlv).len>, <Field (ISIS_ProtocolsSupportedTlv).nlpids>]
class scapy.contrib.isis.ISIS_SystemIdField(name, default)

Bases: scapy.contrib.isis._ISIS_IdFieldBase

randval()

Return a volatile object whose value is both random and suitable for this field

class scapy.contrib.isis.ISIS_TEDefaultMetricSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_TEDefaultMetricSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_TEDefaultMetricSubTlv).type>, <Field (ISIS_TEDefaultMetricSubTlv).len>, <Field (ISIS_TEDefaultMetricSubTlv).temetric>]
class scapy.contrib.isis.ISIS_TERouterIDTlv

Bases: scapy.contrib.isis.ISIS_GenericTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_TERouterIDTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_TERouterIDTlv).type>, <Field (ISIS_TERouterIDTlv).len>, <Field (ISIS_TERouterIDTlv).routerid>]
class scapy.contrib.isis.ISIS_UnreservedBandwidthSubTlv

Bases: scapy.contrib.isis.ISIS_GenericSubTlv

aliastypes = [<class 'scapy.contrib.isis.ISIS_UnreservedBandwidthSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (ISIS_UnreservedBandwidthSubTlv).type>, <Field (ISIS_UnreservedBandwidthSubTlv).len>, <Field (ISIS_UnreservedBandwidthSubTlv).unrsvbw>]
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)