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)[源代码]

基类:Packet

Set the length field in DAG Metric Constraint Control Option

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. DAGMCObj                           
DAGMCObj fields

otype

ByteEnumField

0

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

post_build(pkt, pay)[源代码]
class scapy.contrib.rpl_metrics.DAGMCObjUnknown(_pkt, /, *, otype=3, olen=None, odata=b'')[源代码]

基类:Packet

Dummy unknown metric/constraint

aliastypes
classmethod dispatch_hook(_pkt=None, *_, **kargs)[源代码]

Dispatch hook for DAGMC sub-fields

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     |      OLEN     |             ODATA             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. DAGMCObjUnknown                       
DAGMCObjUnknown fields

otype

ByteEnumField

3

olen

FieldLenField

None

odata

StrLenField

b''

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)[源代码]

基类:DAGMCObj

DAG Metric: Hop Count

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RES  | FLAGS |    HOPCOUNT   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. RPLDAGMCHopCount                       
RPLDAGMCHopCount fields

otype

ByteEnumField

3

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

res

BitField (4 bits)

0

flags

BitField (4 bits)

0

HopCount

ByteField

1

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)[源代码]

基类:DAGMCObj

DAG Metric: Link Color

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      RES      |       COLOR       |  COUNTER  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. RPLDAGMCLinkColor                      
RPLDAGMCLinkColor fields

otype

ByteEnumField

8

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

res

ByteField

0

color

BitField (10 bits)

1

counter

BitField (6 bits)

1

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)[源代码]

基类:DAGMCObj

DAG Metric: Link ETX

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              ETX              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. RPLDAGMCLinkETX                       
RPLDAGMCLinkETX fields

otype

ByteEnumField

7

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

ETX

ShortField

1

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)[源代码]

基类:DAGMCObj

DAG Metric: Link Latency

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            LATENCY                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. RPLDAGMCLinkLatency                     
RPLDAGMCLinkLatency fields

otype

ByteEnumField

5

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

Latency

IntField

1

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)[源代码]

基类:DAGMCObj

DAG Metric: Link Quality Level (LQL)

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      RES      | VAL | COUNTER |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. RPLDAGMCLinkQualityLevel                   
RPLDAGMCLinkQualityLevel fields

otype

ByteEnumField

6

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

res

ByteField

0

val

BitField (3 bits)

0

counter

BitField (5 bits)

0

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)[源代码]

基类:DAGMCObj

DAG Metric: Link Throughput

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           THROUGHPUT                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. RPLDAGMCLinkThroughput                    
RPLDAGMCLinkThroughput fields

otype

ByteEnumField

4

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

Throughput

IntField

1

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)[源代码]

基类:DAGMCObj

DAG Metric: Node State and Attributes

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      RES      |   FLAGS   |A|O|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. RPLDAGMCNSA                         
RPLDAGMCNSA fields

otype

ByteEnumField

1

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

res

ByteField

0

flags

BitField (6 bits)

0

Agg

BitField (1 bit)

0

Overload

BitField (1 bit)

0

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)[源代码]

基类:DAGMCObj

DAG Metric: Node Energy

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     | RESFLAGS|P|C|O|R|  A  |  PREC |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FLAGS |I| T |E|      E E      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. RPLDAGMCNodeEnergy                      
RPLDAGMCNodeEnergy fields

otype

ByteEnumField

2

resflags

BitField (5 bits)

0

P

BitField (1 bit)

0

C

BitField (1 bit)

0

O

BitField (1 bit)

0

R

BitField (1 bit)

0

A

BitEnumField

0

prec

BitField (4 bits)

0

len

ByteField

None

flags

BitField (4 bits)

0

I

BitField (1 bit)

0

T

BitField (2 bits)

0

E

BitField (1 bit)

0

E_E

ByteField

0

class scapy.contrib.rpl_metrics.RPLOptDAGMC(_pkt, /, *, otype=2, len=None, autopad=0, options=[])[源代码]

基类:_DAGMetricContainer

Control Option: DAG Metric Container

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OTYPE     |      LEN      |    AUTOPAD    |    OPTIONS    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                         Fig. RPLOptDAGMC                         
RPLOptDAGMC fields

otype

ByteEnumField

2

len

ByteField

None

autopad

_PhantomAutoPadField

0

options

_OptionsField

[]