scapy.contrib.rpl_metrics

RFC 6551 - Routing Metrics Used for Path Calculation in LLNs

Metrics & Constraint Types

DAGMC Option

RPL-DIO

class scapy.contrib.rpl_metrics.DAGMCObj(_pkt, /, *, otype=0, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None)[source]

Bases: Packet

Set the length field in DAG Metric Constraint Control Option

aliastypes = [<class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>]
post_build(pkt, pay)[source]
class scapy.contrib.rpl_metrics.DAGMCObjUnknown(_pkt, /, *, otype=3, olen=None, odata=b'')[source]

Bases: Packet

Dummy unknown metric/constraint

aliastypes = [<class 'scapy.contrib.rpl_metrics.DAGMCObjUnknown'>, <class 'scapy.packet.Packet'>]
classmethod dispatch_hook(_pkt=None, *_, **kargs)[source]

Dispatch hook for DAGMC sub-fields

fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObjUnknown).otype>, <FieldLenField (DAGMCObjUnknown).olen>, <StrLenField (DAGMCObjUnknown).odata>]
class scapy.contrib.rpl_metrics.RPLDAGMCHopCount(_pkt, /, *, otype=3, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None, res=0, flags=0, HopCount=1)[source]

Bases: DAGMCObj

DAG Metric: Hop Count

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLDAGMCHopCount'>, <class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>, <BitField (RPLDAGMCHopCount).res>, <BitField (RPLDAGMCHopCount).flags>, <ByteField (RPLDAGMCHopCount).HopCount>]
class scapy.contrib.rpl_metrics.RPLDAGMCLinkColor(_pkt, /, *, otype=8, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None, res=0, color=1, counter=1)[source]

Bases: DAGMCObj

DAG Metric: Link Color

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLDAGMCLinkColor'>, <class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>, <ByteField (RPLDAGMCLinkColor).res>, <BitField (RPLDAGMCLinkColor).color>, <BitField (RPLDAGMCLinkColor).counter>]
class scapy.contrib.rpl_metrics.RPLDAGMCLinkETX(_pkt, /, *, otype=7, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None, ETX=1)[source]

Bases: DAGMCObj

DAG Metric: Link ETX

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLDAGMCLinkETX'>, <class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>, <ShortField (RPLDAGMCLinkETX).ETX>]
class scapy.contrib.rpl_metrics.RPLDAGMCLinkLatency(_pkt, /, *, otype=5, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None, Latency=1)[source]

Bases: DAGMCObj

DAG Metric: Link Latency

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLDAGMCLinkLatency'>, <class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>, <IntField (RPLDAGMCLinkLatency).Latency>]
class scapy.contrib.rpl_metrics.RPLDAGMCLinkQualityLevel(_pkt, /, *, otype=6, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None, res=0, val=0, counter=0)[source]

Bases: DAGMCObj

DAG Metric: Link Quality Level (LQL)

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLDAGMCLinkQualityLevel'>, <class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>, <ByteField (RPLDAGMCLinkQualityLevel).res>, <BitField (RPLDAGMCLinkQualityLevel).val>, <BitField (RPLDAGMCLinkQualityLevel).counter>]
class scapy.contrib.rpl_metrics.RPLDAGMCLinkThroughput(_pkt, /, *, otype=4, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None, Throughput=1)[source]

Bases: DAGMCObj

DAG Metric: Link Throughput

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLDAGMCLinkThroughput'>, <class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>, <IntField (RPLDAGMCLinkThroughput).Throughput>]
class scapy.contrib.rpl_metrics.RPLDAGMCNSA(_pkt, /, *, otype=1, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None, res=0, flags=0, Agg=0, Overload=0)[source]

Bases: DAGMCObj

DAG Metric: Node State and Attributes

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLDAGMCNSA'>, <class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>, <ByteField (RPLDAGMCNSA).res>, <BitField (RPLDAGMCNSA).flags>, <BitField (RPLDAGMCNSA).Agg>, <BitField (RPLDAGMCNSA).Overload>]
class scapy.contrib.rpl_metrics.RPLDAGMCNodeEnergy(_pkt, /, *, otype=2, resflags=0, P=0, C=0, O=0, R=0, A=0, prec=0, len=None, flags=0, I=0, T=0, E=0, E_E=0)[source]

Bases: DAGMCObj

DAG Metric: Node Energy

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLDAGMCNodeEnergy'>, <class 'scapy.contrib.rpl_metrics.DAGMCObj'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).otype>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).resflags>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).P>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).C>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).O>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).R>, <BitEnumField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).A>, <BitField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).prec>, <ByteField (DAGMCObj,RPLDAGMCNSA,RPLDAGMCNodeEnergy,RPLDAGMCHopCount,RPLDAGMCLinkThroughput,RPLDAGMCLinkLatency,RPLDAGMCLinkQualityLevel,RPLDAGMCLinkETX,RPLDAGMCLinkColor).len>, <BitField (RPLDAGMCNodeEnergy).flags>, <BitField (RPLDAGMCNodeEnergy).I>, <BitField (RPLDAGMCNodeEnergy).T>, <BitField (RPLDAGMCNodeEnergy).E>, <ByteField (RPLDAGMCNodeEnergy).E_E>]
class scapy.contrib.rpl_metrics.RPLOptDAGMC(_pkt, /, *, otype=2, len=None, autopad=0, options=[])[source]

Bases: _DAGMetricContainer

Control Option: DAG Metric Container

aliastypes = [<class 'scapy.contrib.rpl_metrics.RPLOptDAGMC'>, <class 'scapy.contrib.rpl_metrics._DAGMetricContainer'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (RPLOptDAGMC).otype>, <ByteField (RPLOptDAGMC).len>, <_PhantomAutoPadField (RPLOptDAGMC).autopad>, <_OptionsField (RPLOptDAGMC).options>]