scapy.contrib.isis
IS-IS Scapy Extension
- authors:
Marcel Patzlaff, mpatzlaff@benocs.com Michal Kaliszan, mkaliszan@benocs.com Tom Zhu, tom.zhu@metaswitch.com
- 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) * RFC 8667 (IS-IS extensions for segment routing)
- 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(_pkt, /, *, type=1, len=None, tags=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_64bitAdministrativeTagSubTlv(_pkt, /, *, type=2, len=None, tags=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_AdministrativeGroupSubTlv(_pkt, /, *, code=3, len=None, admingroup='0.0.0.1')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_AreaEntry(_pkt, /, *, arealen=None, areaid='49')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_AreaEntry'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.isis.ISIS_AreaIdField(name, default, length_from)[source]
Bases:
Field- length_from
- class scapy.contrib.isis.ISIS_AreaTlv(_pkt, /, *, type=1, len=None, areas=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_AuthenticationTlv(_pkt, /, *, type=10, len=None, authtype=1, password=b'')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_BufferSizeTlv(_pkt, /, *, type=14, len=2, lspbuffersize=1497)[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_ChecksumTlv(_pkt, /, *, type=12, len=2, checksum=None)[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_CircuitTypeField(name='circuittype', default=2, size=8, names=None)[source]
Bases:
FlagsField
- class scapy.contrib.isis.ISIS_CommonHdr(_pkt, /, *, nlpid=131, hdrlen=None, version=1, idlen=0, pdutype=None, pduversion=1, hdrreserved=0, maxareaaddr=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_CommonHdr'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (ISIS_CommonHdr).nlpid>, <ByteField (ISIS_CommonHdr).hdrlen>, <ByteField (ISIS_CommonHdr).version>, <ByteField (ISIS_CommonHdr).idlen>, <ByteEnumField (ISIS_CommonHdr).pdutype>, <ByteField (ISIS_CommonHdr).pduversion>, <ByteField (ISIS_CommonHdr).hdrreserved>, <ByteField (ISIS_CommonHdr).maxareaaddr>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'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'>)]
- class scapy.contrib.isis.ISIS_DynamicHostnameTlv(_pkt, /, *, type=137, len=None, hostname=b'')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_ExtendedIpPrefix(_pkt, /, *, metric=1, updown=0, subtlvindicator=0, pfxlen=None, pfx=('0.0.0.0', 1), subtlvslen=None, subtlvs=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_ExtendedIpPrefix'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (ISIS_ExtendedIpPrefix).metric>, <BitField (ISIS_ExtendedIpPrefix).updown>, <BitField (ISIS_ExtendedIpPrefix).subtlvindicator>, <BitFieldLenField (ISIS_ExtendedIpPrefix).pfxlen>, <IPPrefixField (ISIS_ExtendedIpPrefix).pfx>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.contrib.isis.ISIS_ExtendedIpReachabilityTlv(_pkt, /, *, type=135, len=None, pfxs=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_ExtendedIsNeighbourEntry(_pkt, /, *, neighbourid='0102.0304.0506.07', metric=1, subtlvslen=None, subtlvs=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_ExtendedIsNeighbourEntry'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ISIS_NodeIdField (ISIS_ExtendedIsNeighbourEntry).neighbourid>, <ThreeBytesField (ISIS_ExtendedIsNeighbourEntry).metric>, <FieldLenField (ISIS_ExtendedIsNeighbourEntry).subtlvslen>, <PacketListField (ISIS_ExtendedIsNeighbourEntry).subtlvs>]
- class scapy.contrib.isis.ISIS_ExtendedIsReachabilityTlv(_pkt, /, *, type=22, len=None, neighbours=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_ExternalIpReachabilityTlv(_pkt, /, *, type=130, len=None, entries=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_GenericSubTlv(_pkt, /, *, type=0, len=None, val=b'')[source]
Bases:
_ISIS_GenericTlv_Base- aliastypes = [<class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).type>, <FieldLenField (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).len>, <BoundStrLenField (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).val>]
- class scapy.contrib.isis.ISIS_GenericTlv(_pkt, /, *, type=0, len=None, val=b'')[source]
Bases:
_ISIS_GenericTlv_Base- aliastypes = [<class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).type>, <FieldLenField (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).len>, <BoundStrLenField (_ISIS_GenericTlv_Base,ISIS_GenericTlv,ISIS_GenericSubTlv).val>]
- class scapy.contrib.isis.ISIS_IPv4InterfaceAddressSubTlv(_pkt, /, *, type=6, len=None, address='0.0.0.0')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_IPv4NeighborAddressSubTlv(_pkt, /, *, type=8, len=None, address='0.0.0.0')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_IPv6InterfaceAddressSubTlv(_pkt, /, *, type=12, len=None, address='::')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_IPv6NeighborAddressSubTlv(_pkt, /, *, type=13, len=None, address='::')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_InternalIpReachabilityTlv(_pkt, /, *, type=128, len=None, entries=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_IpInterfaceAddressTlv(_pkt, /, *, type=132, len=None, addresses=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_IpReachabilityEntry(_pkt, /, *, defmetric=1, delmetric=128, expmetric=128, errmetric=128, ipaddress='0.0.0.0', subnetmask='255.255.255.255')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_IpReachabilityEntry'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (ISIS_IpReachabilityEntry).defmetric>, <ByteField (ISIS_IpReachabilityEntry).delmetric>, <ByteField (ISIS_IpReachabilityEntry).expmetric>, <ByteField (ISIS_IpReachabilityEntry).errmetric>, <IPField (ISIS_IpReachabilityEntry).ipaddress>, <IPField (ISIS_IpReachabilityEntry).subnetmask>]
- class scapy.contrib.isis.ISIS_Ipv6InterfaceAddressTlv(_pkt, /, *, type=232, len=None, addresses=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_Ipv6Prefix(_pkt, /, *, metric=1, updown=0, external=0, subtlvindicator=0, reserved=0, pfxlen=None, pfx=('::', 1), subtlvslen=None, subtlvs=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_Ipv6Prefix'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (ISIS_Ipv6Prefix).metric>, <BitField (ISIS_Ipv6Prefix).updown>, <BitField (ISIS_Ipv6Prefix).external>, <BitField (ISIS_Ipv6Prefix).subtlvindicator>, <BitField (ISIS_Ipv6Prefix).reserved>, <FieldLenField (ISIS_Ipv6Prefix).pfxlen>, <IP6PrefixField (ISIS_Ipv6Prefix).pfx>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.contrib.isis.ISIS_Ipv6ReachabilityTlv(_pkt, /, *, type=236, len=None, pfxs=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_IsNeighbourTlv(_pkt, /, *, type=6, len=None, neighbours=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_IsReachabilityEntry(_pkt, /, *, defmetric=1, delmetric=128, expmetric=128, errmetric=128, neighbourid='0102.0304.0506.07')[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_IsReachabilityEntry'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (ISIS_IsReachabilityEntry).defmetric>, <ByteField (ISIS_IsReachabilityEntry).delmetric>, <ByteField (ISIS_IsReachabilityEntry).expmetric>, <ByteField (ISIS_IsReachabilityEntry).errmetric>, <ISIS_NodeIdField (ISIS_IsReachabilityEntry).neighbourid>]
- class scapy.contrib.isis.ISIS_IsReachabilityTlv(_pkt, /, *, type=2, len=None, virtual=0, neighbours=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_L1_CSNP(_pkt, /, *, pdulength=None, sourceid='0102.0304.0506.00', startlspid='0000.0000.0000.00-00', endlspid='FFFF.FFFF.FFFF.FF-FF', tlvs=[])[source]
Bases:
_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'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_ISIS_PduLengthField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).pdulength>, <ISIS_NodeIdField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).sourceid>, <ISIS_LspIdField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).startlspid>, <ISIS_LspIdField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).endlspid>, <_ISIS_TlvListField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).tlvs>]
- class scapy.contrib.isis.ISIS_L1_LAN_Hello(_pkt, /, *, circuittype=<Flag 2 (L2)>, sourceid='0102.0304.0506', holdingtime=30, pdulength=None, priority=1, lanid='0000.0000.0000.00', tlvs=[])[source]
Bases:
_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: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ISIS_CircuitTypeField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).circuittype>, <ISIS_SystemIdField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).sourceid>, <ShortField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).holdingtime>, <_ISIS_PduLengthField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).pdulength>, <ByteField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).priority>, <ISIS_NodeIdField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).lanid>, <_ISIS_TlvListField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).tlvs>]
- class scapy.contrib.isis.ISIS_L1_LSP(_pkt, /, *, pdulength=None, lifetime=1199, lspid='0102.0304.0506.00-00', seqnum=1, checksum=None, typeblock=<Flag 3 (L1+L2)>, tlvs=[])[source]
Bases:
_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'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_ISIS_PduLengthField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).pdulength>, <ShortField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).lifetime>, <ISIS_LspIdField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).lspid>, <XIntField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).seqnum>, <XShortField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).checksum>, <FlagsField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).typeblock>, <_ISIS_TlvListField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).tlvs>]
- class scapy.contrib.isis.ISIS_L1_PSNP(_pkt, /, *, pdulength=None, sourceid='0102.0304.0506.00', tlvs=[])[source]
Bases:
_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'>]
- class scapy.contrib.isis.ISIS_L2_CSNP(_pkt, /, *, pdulength=None, sourceid='0102.0304.0506.00', startlspid='0000.0000.0000.00-00', endlspid='FFFF.FFFF.FFFF.FF-FF', tlvs=[])[source]
Bases:
_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'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_ISIS_PduLengthField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).pdulength>, <ISIS_NodeIdField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).sourceid>, <ISIS_LspIdField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).startlspid>, <ISIS_LspIdField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).endlspid>, <_ISIS_TlvListField (_ISIS_CSNP_Base,ISIS_L1_CSNP,ISIS_L2_CSNP).tlvs>]
- class scapy.contrib.isis.ISIS_L2_LAN_Hello(_pkt, /, *, circuittype=<Flag 2 (L2)>, sourceid='0102.0304.0506', holdingtime=30, pdulength=None, priority=1, lanid='0000.0000.0000.00', tlvs=[])[source]
Bases:
_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: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ISIS_CircuitTypeField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).circuittype>, <ISIS_SystemIdField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).sourceid>, <ShortField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).holdingtime>, <_ISIS_PduLengthField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).pdulength>, <ByteField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).priority>, <ISIS_NodeIdField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).lanid>, <_ISIS_TlvListField (_ISIS_LAN_HelloBase,ISIS_L1_LAN_Hello,ISIS_L2_LAN_Hello).tlvs>]
- class scapy.contrib.isis.ISIS_L2_LSP(_pkt, /, *, pdulength=None, lifetime=1199, lspid='0102.0304.0506.00-00', seqnum=1, checksum=None, typeblock=<Flag 3 (L1+L2)>, tlvs=[])[source]
Bases:
_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'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_ISIS_PduLengthField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).pdulength>, <ShortField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).lifetime>, <ISIS_LspIdField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).lspid>, <XIntField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).seqnum>, <XShortField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).checksum>, <FlagsField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).typeblock>, <_ISIS_TlvListField (_ISIS_LSP_Base,ISIS_L1_LSP,ISIS_L2_LSP).tlvs>]
- class scapy.contrib.isis.ISIS_L2_PSNP(_pkt, /, *, pdulength=None, sourceid='0102.0304.0506.00', tlvs=[])[source]
Bases:
_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'>]
- class scapy.contrib.isis.ISIS_LinkLocalRemoteIdentifiersSubTlv(_pkt, /, *, type=4, len=8, localid='0', remoteid='0')[source]
Bases:
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: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (ISIS_LinkLocalRemoteIdentifiersSubTlv).type>, <FieldLenField (ISIS_LinkLocalRemoteIdentifiersSubTlv).len>, <IntField (ISIS_LinkLocalRemoteIdentifiersSubTlv).localid>, <IntField (ISIS_LinkLocalRemoteIdentifiersSubTlv).remoteid>]
- class scapy.contrib.isis.ISIS_LspEntry(_pkt, /, *, lifetime=1200, lspid='0102.0304.0506.07-08', seqnum=1, checksum=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_LspEntry'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.isis.ISIS_LspEntryTlv(_pkt, /, *, type=9, len=None, entries=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_MaximumLinkBandwidthSubTlv(_pkt, /, *, type=9, len=None, maxbw=1000)[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_MaximumReservableLinkBandwidthSubTlv(_pkt, /, *, type=10, len=None, maxrsvbw=1000)[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_P2PAdjacencyStateTlv(_pkt, /, *, type=240, len=None, state=2, extlocalcircuitid=None, neighboursystemid=None, neighbourextlocalcircuitid=None)[source]
Bases:
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: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (ISIS_P2PAdjacencyStateTlv).type>, <_AdjacencyStateTlvLenField (ISIS_P2PAdjacencyStateTlv).len>, <ByteEnumField (ISIS_P2PAdjacencyStateTlv).state>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.contrib.isis.ISIS_P2P_Hello(_pkt, /, *, circuittype=<Flag 2 (L2)>, sourceid='0102.0304.0506', holdingtime=30, pdulength=None, localcircuitid=0, tlvs=[])[source]
Bases:
_ISIS_PduBase- aliastypes = [<class 'scapy.contrib.isis.ISIS_P2P_Hello'>, <class 'scapy.contrib.isis._ISIS_PduBase'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ISIS_CircuitTypeField (ISIS_P2P_Hello).circuittype>, <ISIS_SystemIdField (ISIS_P2P_Hello).sourceid>, <ShortField (ISIS_P2P_Hello).holdingtime>, <_ISIS_PduLengthField (ISIS_P2P_Hello).pdulength>, <ByteField (ISIS_P2P_Hello).localcircuitid>, <_ISIS_TlvListField (ISIS_P2P_Hello).tlvs>]
- class scapy.contrib.isis.ISIS_PaddingTlv(_pkt, /, *, type=8, len=None, padding=b'')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_PrefixSegmentIdentifierSubTlv(_pkt, /, *, type=3, len=5, flags=<Flag 0 ()>, algorithm=0, sid=0, idx=0)[source]
Bases:
ISIS_GenericSubTlv- aliastypes = [<class 'scapy.contrib.isis.ISIS_PrefixSegmentIdentifierSubTlv'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (ISIS_PrefixSegmentIdentifierSubTlv).type>, <ByteField (ISIS_PrefixSegmentIdentifierSubTlv).len>, <FlagsField (ISIS_PrefixSegmentIdentifierSubTlv).flags>, <ByteField (ISIS_PrefixSegmentIdentifierSubTlv).algorithm>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.contrib.isis.ISIS_ProtocolsSupportedTlv(_pkt, /, *, type=129, len=None, nlpids=[])[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_RouterCapabilityTlv(_pkt, /, *, type=242, len=None, routerid='0.0.0.0', flags=<Flag 0 ()>, subtlvs=[])[source]
Bases:
ISIS_GenericTlv- aliastypes = [<class 'scapy.contrib.isis.ISIS_RouterCapabilityTlv'>, <class 'scapy.contrib.isis.ISIS_GenericTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (ISIS_RouterCapabilityTlv).type>, <FieldLenField (ISIS_RouterCapabilityTlv).len>, <IPField (ISIS_RouterCapabilityTlv).routerid>, <FlagsField (ISIS_RouterCapabilityTlv).flags>, <PacketListField (ISIS_RouterCapabilityTlv).subtlvs>]
- class scapy.contrib.isis.ISIS_SIDLabelSubTLV(_pkt, /, *, type=1, len=3, sid=0, idx=0)[source]
Bases:
ISIS_GenericSubTlv- aliastypes = [<class 'scapy.contrib.isis.ISIS_SIDLabelSubTLV'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.isis.ISIS_SRAlgorithmSubTLV(_pkt, /, *, type=19, len=None, algorithms=[0])[source]
Bases:
ISIS_GenericSubTlv- aliastypes = [<class 'scapy.contrib.isis.ISIS_SRAlgorithmSubTLV'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.isis.ISIS_SRCapabilitiesSubTLV(_pkt, /, *, type=2, len=None, flags=<Flag 0 ()>, srgb_ranges=[])[source]
Bases:
ISIS_GenericSubTlv- aliastypes = [<class 'scapy.contrib.isis.ISIS_SRCapabilitiesSubTLV'>, <class 'scapy.contrib.isis.ISIS_GenericSubTlv'>, <class 'scapy.contrib.isis._ISIS_GenericTlv_Base'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.isis.ISIS_SRGBDescriptorEntry(_pkt, /, *, range=0, sid_label=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.contrib.isis.ISIS_SRGBDescriptorEntry'>, <class 'scapy.packet.Packet'>]
- class scapy.contrib.isis.ISIS_TEDefaultMetricSubTlv(_pkt, /, *, type=18, len=None, temetric=1000)[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_TERouterIDTlv(_pkt, /, *, type=134, len=None, routerid='0.0.0.0')[source]
Bases:
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'>]
- class scapy.contrib.isis.ISIS_UnreservedBandwidthSubTlv(_pkt, /, *, type=11, len=None, unrsvbw=[1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000])[source]
Bases:
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'>]