scapy.contrib.pim

References

class scapy.contrib.pim.PIMv2GroupAddrs(_pkt, /, *, addr_family=1, encoding_type=0, bidirection=0, reserved=0, admin_scope_zone=0, mask_len=32, gaddr=None, num_joins=None, num_prunes=None, join_ips=[], prune_ips=[])[source]

Bases: _PIMGenericTlvBase

aliastypes = [<class 'scapy.contrib.pim.PIMv2GroupAddrs'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PIMv2GroupAddrs).addr_family>, <ByteField (PIMv2GroupAddrs).encoding_type>, <BitField (PIMv2GroupAddrs).bidirection>, <BitField (PIMv2GroupAddrs).reserved>, <BitField (PIMv2GroupAddrs).admin_scope_zone>, <ByteField (PIMv2GroupAddrs).mask_len>, <scapy.fields.MultipleTypeField object>, <BitFieldLenField (PIMv2GroupAddrs).num_joins>, <BitFieldLenField (PIMv2GroupAddrs).num_prunes>, <PacketListField (PIMv2GroupAddrs).join_ips>, <PacketListField (PIMv2GroupAddrs).prune_ips>]
class scapy.contrib.pim.PIMv2Hdr(_pkt, /, *, version=2, type=0, reserved=0, chksum=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.pim.PIMv2Hdr'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (PIMv2Hdr).version>, <BitEnumField (PIMv2Hdr).type>, <ByteField (PIMv2Hdr).reserved>, <XShortField (PIMv2Hdr).chksum>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'type': 0}, <class 'scapy.contrib.pim.PIMv2Hello'>), ({'type': 3}, <class 'scapy.contrib.pim.PIMv2JoinPrune'>)]
post_build(p, pay)[source]
Called implicitly before a packet is sent to compute and

place PIM checksum.

Parameters:
  • class (self The instantiation of an PIMv2Hdr)

  • order (p The PIMv2Hdr message in hex in network byte)

  • message (pay Additional payload for the PIMv2Hdr)

class scapy.contrib.pim.PIMv2Hello(_pkt, /, *, option=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.pim.PIMv2Hello'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<_PIMv2HelloListField (PIMv2Hello).option>]
class scapy.contrib.pim.PIMv2HelloAddrList(_pkt, /, *, type=24, length=None, value=[<PIMv2HelloAddrListValue  |>])[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloAddrList'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PIMv2HelloAddrList).type>, <FieldLenField (PIMv2HelloAddrList).length>, <PacketListField (PIMv2HelloAddrList).value>]
class scapy.contrib.pim.PIMv2HelloAddrListValue(_pkt, /, *, addr_family=1, encoding_type=0, prefix='::')[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloAddrListValue'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PIMv2HelloAddrListValue).addr_family>, <ByteField (PIMv2HelloAddrListValue).encoding_type>, <IP6Field (PIMv2HelloAddrListValue).prefix>]
class scapy.contrib.pim.PIMv2HelloDRPriority(_pkt, /, *, type=19, length=None, dr_priority=1)[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloDRPriority'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PIMv2HelloDRPriority).type>, <FieldLenField (PIMv2HelloDRPriority).length>, <IntField (PIMv2HelloDRPriority).dr_priority>]
class scapy.contrib.pim.PIMv2HelloGenerationID(_pkt, /, *, type=20, length=None, generation_id=<RandInt>)[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloGenerationID'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PIMv2HelloGenerationID).type>, <FieldLenField (PIMv2HelloGenerationID).length>, <IntField (PIMv2HelloGenerationID).generation_id>]
class scapy.contrib.pim.PIMv2HelloHoldtime(_pkt, /, *, type=1, length=None, holdtime=105)[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloHoldtime'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PIMv2HelloHoldtime).type>, <FieldLenField (PIMv2HelloHoldtime).length>, <ShortField (PIMv2HelloHoldtime).holdtime>]
class scapy.contrib.pim.PIMv2HelloLANPruneDelay(_pkt, /, *, type=2, length=None, value=[<PIMv2HelloLANPruneDelayValue  |>])[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloLANPruneDelay'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PIMv2HelloLANPruneDelay).type>, <FieldLenField (PIMv2HelloLANPruneDelay).length>, <PacketListField (PIMv2HelloLANPruneDelay).value>]
class scapy.contrib.pim.PIMv2HelloLANPruneDelayValue(_pkt, /, *, t=0, propagation_delay=500, override_interval=2500)[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloLANPruneDelayValue'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (PIMv2HelloLANPruneDelayValue).t>, <BitField (PIMv2HelloLANPruneDelayValue).propagation_delay>, <ShortField (PIMv2HelloLANPruneDelayValue).override_interval>]
class scapy.contrib.pim.PIMv2HelloStateRefresh(_pkt, /, *, type=21, length=None, value=[<PIMv2HelloStateRefreshValue  |>])[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloStateRefresh'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PIMv2HelloStateRefresh).type>, <FieldLenField (PIMv2HelloStateRefresh).length>, <PacketListField (PIMv2HelloStateRefresh).value>]
class scapy.contrib.pim.PIMv2HelloStateRefreshValue(_pkt, /, *, version=1, interval=0, reserved=0)[source]

Bases: _PIMv2GenericHello

aliastypes = [<class 'scapy.contrib.pim.PIMv2HelloStateRefreshValue'>, <class 'scapy.contrib.pim._PIMv2GenericHello'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PIMv2HelloStateRefreshValue).version>, <ByteField (PIMv2HelloStateRefreshValue).interval>, <ShortField (PIMv2HelloStateRefreshValue).reserved>]
class scapy.contrib.pim.PIMv2JoinAddrs(_pkt, /, *, addr_family=1, encoding_type=0, rsrvd=0, sparse=0, wildcard=0, rpt=1, mask_len=32, src_ip=None)[source]

Bases: PIMv2JoinPruneAddrsBase

aliastypes = [<class 'scapy.contrib.pim.PIMv2JoinAddrs'>, <class 'scapy.contrib.pim.PIMv2JoinPruneAddrsBase'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).addr_family>, <ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).encoding_type>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).rsrvd>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).sparse>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).wildcard>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).rpt>, <ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).mask_len>, <scapy.fields.MultipleTypeField object>]
class scapy.contrib.pim.PIMv2JoinPrune(_pkt, /, *, up_addr_family=1, up_encoding_type=0, up_neighbor_ip=None, reserved=0, num_group=None, holdtime=210, jp_ips=[])[source]

Bases: _PIMGenericTlvBase

aliastypes = [<class 'scapy.contrib.pim.PIMv2JoinPrune'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PIMv2JoinPrune).up_addr_family>, <ByteField (PIMv2JoinPrune).up_encoding_type>, <scapy.fields.MultipleTypeField object>, <ByteField (PIMv2JoinPrune).reserved>, <FieldLenField (PIMv2JoinPrune).num_group>, <ShortField (PIMv2JoinPrune).holdtime>, <PacketListField (PIMv2JoinPrune).jp_ips>]
class scapy.contrib.pim.PIMv2JoinPruneAddrsBase(_pkt, /, *, addr_family=1, encoding_type=0, rsrvd=0, sparse=0, wildcard=0, rpt=1, mask_len=32, src_ip=None)[source]

Bases: _PIMGenericTlvBase

aliastypes = [<class 'scapy.contrib.pim.PIMv2JoinPruneAddrsBase'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).addr_family>, <ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).encoding_type>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).rsrvd>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).sparse>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).wildcard>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).rpt>, <ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).mask_len>, <scapy.fields.MultipleTypeField object>]
class scapy.contrib.pim.PIMv2PruneAddrs(_pkt, /, *, addr_family=1, encoding_type=0, rsrvd=0, sparse=0, wildcard=0, rpt=1, mask_len=32, src_ip=None)[source]

Bases: PIMv2JoinPruneAddrsBase

aliastypes = [<class 'scapy.contrib.pim.PIMv2PruneAddrs'>, <class 'scapy.contrib.pim.PIMv2JoinPruneAddrsBase'>, <class 'scapy.contrib.pim._PIMGenericTlvBase'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).addr_family>, <ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).encoding_type>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).rsrvd>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).sparse>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).wildcard>, <BitField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).rpt>, <ByteField (PIMv2JoinPruneAddrsBase,PIMv2JoinAddrs,PIMv2PruneAddrs).mask_len>, <scapy.fields.MultipleTypeField object>]