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'