scapy.contrib.rtr

class scapy.contrib.rtr.RTR(*args, **kargs)

Bases: scapy.packet.Packet

Dummy RPKI to Router generic packet for pre-sorting the packet type eg. https://tools.ietf.org/html/rfc6810#section-5.2

aliastypes
classmethod dispatch_hook(_pkt=None, *args, **kargs)

Attribution of correct type depending on version and pdu_type

class scapy.contrib.rtr.RTRCacheReset(*args, **kargs)

Bases: scapy.packet.Packet

Cache Reset packet from section 5.9 https://tools.ietf.org/html/rfc6810#section-5.9

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. RTRCacheReset                        
RTRCacheReset fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

8

reserved

ShortField

0

length

IntField

8

class scapy.contrib.rtr.RTRCacheResponse(*args, **kargs)

Bases: scapy.packet.Packet

Cache Response packet from section 5.5 https://tools.ietf.org/html/rfc6810#section-5.5

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |           SESSION ID          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. RTRCacheResponse                       
RTRCacheResponse fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

3

session_id

ShortField

0

length

IntField

8

guess_payload_class(payload)
class scapy.contrib.rtr.RTREndofDatav0(*args, **kargs)

Bases: scapy.packet.Packet

End of Data packet from version 0 standard section 5.8 https://tools.ietf.org/html/rfc6810#section-5.8

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |           SESSION ID          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SERIAL NUMBER                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. RTREndofDatav0                        
RTREndofDatav0 fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

7

session_id

ShortField

0

length

IntField

12

serial_number

IntField

0

class scapy.contrib.rtr.RTREndofDatav1(*args, **kargs)

Bases: scapy.packet.Packet

End of Data packet from version 1 standard section 5.8 https://tools.ietf.org/html/rfc8210#section-5.8

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |           SESSION ID          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SERIAL NUMBER                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        REFRESH INTERVAL                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         RETRY INTERVAL                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        EXPIRE INTERVAL                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. RTREndofDatav1                        
RTREndofDatav1 fields

rtr_version

ByteEnumField

1

pdu_type

ByteEnumField

7

session_id

ShortField

0

length

IntField

24

serial_number

IntField

0

refresh_interval

IntField

0

retry_interval

IntField

0

expire_interval

IntField

0

class scapy.contrib.rtr.RTRErrorReport(*args, **kargs)

Bases: scapy.packet.Packet

Error Report packet from section 5.10 https://tools.ietf.org/html/rfc6810#section-5.10

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |           ERROR CODE          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      LENGTH OF ENCAPS PDU                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         ERRONEOUS PDU         |      LENGTH OF ERROR TEXT     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |           ERROR TEXT          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. RTRErrorReport                        
RTRErrorReport fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

10

error_code

ShortEnumField

0

length

IntField

None

length_of_encaps_PDU

FieldLenField

None

erroneous_PDU

StrLenField

b''

length_of_error_text

FieldLenField

None

error_text

StrLenField

b''

post_build(pkt, pay)
class scapy.contrib.rtr.RTRIPv4Prefix(*args, **kargs)

Bases: scapy.packet.Packet

IPv4 Prefix packet from section 5.6 https://tools.ietf.org/html/rfc6810#section-5.6

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     FLAGS     |SHORTEST LENGTH| LONGEST LENGTH|     ZEROS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             PREFIX                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ASN                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. RTRIPv4Prefix                        
RTRIPv4Prefix fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

4

reserved

ShortField

0

length

IntField

20

flags

ByteField

0

shortest_length

ByteField

0

longest_length

ByteField

0

zeros

ByteField

0

prefix

IPField

'0.0.0.0'

asn

IntField

0

guess_payload_class(payload)
class scapy.contrib.rtr.RTRIPv6Prefix(*args, **kargs)

Bases: scapy.packet.Packet

IPv6 Prefix packet from section 5.7 https://tools.ietf.org/html/rfc6810#section-5.7

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     FLAGS     |SHORTEST LENGTH| LONGEST LENGTH|     ZEROS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             PREFIX                            |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ASN                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. RTRIPv6Prefix                        
RTRIPv6Prefix fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

6

reserved

ShortField

0

length

IntField

32

flags

ByteField

0

shortest_length

ByteField

0

longest_length

ByteField

0

zeros

ByteField

0

prefix

IP6Field

'::'

asn

IntField

0

guess_payload_class(payload)
class scapy.contrib.rtr.RTRResetQuery(*args, **kargs)

Bases: scapy.packet.Packet

Reset Query packet from section 5.4 https://tools.ietf.org/html/rfc6810#section-5.4

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |            RESERVED           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. RTRResetQuery                        
RTRResetQuery fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

2

reserved

ShortField

0

length

IntField

8

class scapy.contrib.rtr.RTRRouterKey(*args, **kargs)

Bases: scapy.packet.Packet

Router Key packet from version 1 standard section 5.10 https://tools.ietf.org/html/rfc8210#section-5.10

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |     FLAGS     |     ZEROS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     SUBJECT KEY IDENTIFIER    |              ASN              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |          SUBJECT PKI          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. RTRRouterKey                         
RTRRouterKey fields

rtr_version

ByteEnumField

1

pdu_type

ByteEnumField

9

flags

ByteField

0

zeros

ByteField

0

length

IntField

None

subject_key_identifier

StrFixedLenField

b''

asn

IntField

0

subject_PKI

StrLenField

b''

post_build(pkt, pay)
class scapy.contrib.rtr.RTRSerialNotify(*args, **kargs)

Bases: scapy.packet.Packet

Serial Notify packet from section 5.2 https://tools.ietf.org/html/rfc6810#section-5.2

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |           SESSION ID          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SERIAL NUMBER                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. RTRSerialNotify                       
RTRSerialNotify fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

0

session_id

ShortField

0

length

IntField

12

serial_number

IntField

0

class scapy.contrib.rtr.RTRSerialQuery(*args, **kargs)

Bases: scapy.packet.Packet

Serial Query packet from section 5.3 https://tools.ietf.org/html/rfc6810#section-5.3

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RTR VERSION  |    PDU TYPE   |           SESSION ID          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         SERIAL NUMBER                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. RTRSerialQuery                        
RTRSerialQuery fields

rtr_version

ByteEnumField

0

pdu_type

ByteEnumField

1

session_id

ShortField

0

length

IntField

12

serial_number

IntField

0