lib/packet: Use literal block for diagram in pydoc

Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
Shinpei Muraoka 2017-04-07 15:19:20 +09:00 committed by FUJITA Tomonori
parent 5969a89ee4
commit 99e7cc4074
7 changed files with 254 additions and 177 deletions

View File

@ -16,8 +16,7 @@
"""
BFD Control packet parser/serializer
RFC 5880
BFD Control packet format
[RFC 5880] BFD Control packet format::
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
@ -35,47 +34,46 @@ BFD Control packet format
| Required Min Echo RX Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
An optional Authentication Section MAY be present in the following
format of types:
An optional Authentication Section MAY be present in the following
format of types:
1. Format of Simple Password Authentication Section
1. Format of Simple Password Authentication Section::
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Auth Key ID | Password... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Auth Key ID | Password... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2. Format of Keyed MD5 and Meticulous Keyed MD5 Authentication Section
2. Format of Keyed MD5 and Meticulous Keyed MD5 Authentication Section::
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Auth Key ID | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Key/Digest... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Auth Key ID | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Key/Digest... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3. Format of Keyed SHA1 and Meticulous Keyed SHA1 Authentication Section
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Auth Key ID | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Key/Hash... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3. Format of Keyed SHA1 and Meticulous Keyed SHA1 Authentication Section::
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Type | Auth Len | Auth Key ID | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Key/Hash... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"""
import binascii
import hashlib

View File

@ -16,47 +16,45 @@
"""
DHCPv6 packet parser/serializer
RFC 3315
DHCP packet format
[RFC 3315] DHCPv6 packet format:
The following diagram illustrates the format of DHCP messages sent
between clients and servers:
between clients and servers::
\ 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg_type | transaction_id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. options .
. (variable) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg_type | transaction_id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. options .
. (variable) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
There are two relay agent messages, which share the following format:
\ 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg_type | hop_count | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| link_address |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| peer_address |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
. .
. options (variable number and length) .... .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
There are two relay agent messages, which share the following format::
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg_type | hop_count | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| link_address |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| peer_address |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
. .
. options (variable number and length) .... .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"""
import random
import struct
@ -202,7 +200,6 @@ class options(stringify.StringifyMixin):
"""DHCP (RFC 3315) options encoder/decoder class.
This is used with ryu.lib.packet.dhcp6.dhcp6.
"""
def __init__(self, option_list=None, options_len=0):
@ -242,16 +239,16 @@ class option(stringify.StringifyMixin):
Most of them are same to the on-wire counterparts but in host byte order.
__init__ takes the corresponding args in this order.
The format of DHCP options is:
The format of DHCP options is::
\ 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| option-code | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| option-data |
| (option-len octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| option-code | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| option-data |
| (option-len octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
============== ====================
Attribute Description

View File

@ -16,8 +16,7 @@
"""
Internet Group Management Protocol(IGMP) packet parser/serializer
RFC 1112
IGMP v1 format
[RFC 1112] IGMP v1 format::
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
@ -27,8 +26,7 @@ IGMP v1 format
| Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
RFC 2236
IGMP v2 format
[RFC 2236] IGMP v2 format::
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
@ -38,8 +36,7 @@ IGMP v2 format
| Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
RFC 3376
IGMP v3 Membership Query format
[RFC 3376] IGMP v3 Membership Query format::
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
@ -60,7 +57,7 @@ IGMP v3 Membership Query format
| Source Address [N] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IGMP v3 Membership Report format
IGMP v3 Membership Report format::
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
@ -92,7 +89,7 @@ IGMP v3 Membership Report format
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where each Group Record has the following internal format:
Where each Group Record has the following internal format::
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Record Type | Aux Data Len | Number of Sources (N) |

View File

@ -19,7 +19,7 @@ Logical Link Control(LLC, IEEE 802.2) parser/serializer
http://standards.ieee.org/getieee802/download/802.2-1998.pdf
LLC format
LLC format::
+-----------------+--------------+
| DSAP address | 8 bits |
@ -30,7 +30,7 @@ LLC format
+-----------------+--------------+
DSAP address field
DSAP address field::
LSB
+-----+---+---+---+---+---+---+---+
@ -40,7 +40,7 @@ DSAP address field
I/G bit = 1 : Group DSA
D : DSAP address
SSAP address field
SSAP address field::
LSB
+-----+---+---+---+---+---+---+---+
@ -51,27 +51,30 @@ SSAP address field
S : SSAP address
Control field
Control field:
Information transfer
command/response
(I-format PDU)::
Information transfer
command/response
(I-format PDU)
1 2 3 4 5 6 7 8 9 10-16
+---+---+---+---+---+---+---+---+-----+------+
| 0 | N(S) | P/F | N(R) |
+---+---+---+---+---+---+---+---+-----+------+
Supervisory
commands/responses
(S-format PDUs)
Supervisory
commands/responses
(S-format PDUs)::
1 2 3 4 5 6 7 8 9 10-16
+---+---+---+---+---+---+---+---+-----+------+
| 1 0 | S S | 0 0 0 0 | P/F | N(R) |
+---+---+---+---+---+---+---+---+-----+------+
Unnumbered
commands/responses
(U-format PDUs)
Unnumbered
commands/responses
(U-format PDUs)::
1 2 3 4 5 6 7 8
+---+---+----+---+-----+---+----+---+
| 1 1 | M1 M1 | P/F | M2 M2 M2 |
@ -83,7 +86,6 @@ Control field
M1/M2: modifier function bit
P/F : poll bit - command LLC PDUs
final bit - response LLC PDUs
"""

View File

@ -19,22 +19,32 @@ Link Layer Discovery Protocol(LLDP, IEEE 802.1AB)
http://standards.ieee.org/getieee802/download/802.1AB-2009.pdf
basic TLV format
basic TLV format::
octets | 1 | 2 | 3 ... n + 2 |
--------------------------------------------------------
| TLV type | TLV information | TLV information string |
| (7bits) | string length | ( 0 <= n <= 511 octets) |
| | (9bits) | |
--------------------------------------------------------
bits |8 2|1|8 1|
octets | 1 | 2 | 3 ... n + 2 |
--------------------------------------------------------
| TLV type | TLV information | TLV information string |
| (7bits) | string length | (0-507 octets) |
| | (9bits) | |
--------------------------------------------------------
bits |8 2|1|8 1|
LLDPDU format
Organizationally specific TLV format::
------------------------------------------------------------------------
| Chassis ID | Port ID | TTL | optional TLV | ... | optional TLV | End |
------------------------------------------------------------------------
octets | 1 | 2 | 3 ... 5 | 6 | 7 ... n + 6 |
---------------------------------------------------------------
| TLV type | Length | OUI | Subtype | Infomation |
| (7bits) | (9bits) | (24bits) | (8bits) | (0-507 octets) |
---------------------------------------------------------------
bits |8 2|1|8 1|
LLDPDU format::
------------------------------------------------------------------------
| Chassis ID | Port ID | TTL | optional TLV | ... | optional TLV | End |
------------------------------------------------------------------------
Chasis ID, Port ID, TTL, End are mandatory
optional TLV may be inserted in any order

View File

@ -385,7 +385,9 @@ class chunk_data(chunk):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Payload Data (DATA) chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -465,7 +467,9 @@ class chunk_init(chunk_init_base):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Initiation (INIT) chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -515,7 +519,9 @@ class chunk_init_ack(chunk_init_base):
sub encoder/decoder class for Initiation Acknowledgement (INIT ACK)
chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -565,7 +571,9 @@ class chunk_sack(chunk):
sub encoder/decoder class for Selective Acknowledgement (SACK) chunk
(RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -660,7 +668,9 @@ class chunk_heartbeat(chunk_heartbeat_base):
sub encoder/decoder class for Heartbeat Request (HEARTBEAT) chunk
(RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -703,7 +713,9 @@ class chunk_heartbeat_ack(chunk_heartbeat_base):
sub encoder/decoder class for Heartbeat Acknowledgement
(HEARTBEAT ACK) chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -745,7 +757,9 @@ class chunk_abort(chunk):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Abort Association (ABORT) chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -822,7 +836,9 @@ class chunk_shutdown(chunk):
sub encoder/decoder class for Shutdown Association (SHUTDOWN) chunk
(RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -875,7 +891,9 @@ class chunk_shutdown_ack(chunk_ack_base):
sub encoder/decoder class for Shutdown Acknowledgement (SHUTDOWN ACK)
chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -902,7 +920,9 @@ class chunk_error(chunk):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Operation Error (ERROR) chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -974,7 +994,9 @@ class chunk_cookie_echo(chunk):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Cookie Echo (COOKIE ECHO) chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1035,7 +1057,9 @@ class chunk_cookie_ack(chunk_ack_base):
sub encoder/decoder class for Cookie Acknowledgement (COOKIE ACK)
chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1062,7 +1086,9 @@ class chunk_ecn_echo(chunk_ecn_base):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for ECN-Echo chunk (RFC 4960 Appendix A.).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1090,7 +1116,9 @@ class chunk_cwr(chunk_ecn_base):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for CWR chunk (RFC 4960 Appendix A.).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1119,7 +1147,9 @@ class chunk_shutdown_complete(chunk):
sub encoder/decoder class for Shutdown Complete (SHUTDOWN COMPLETE)
chunk (RFC 4960).
This is used with ryu.lib.packet.sctp.sctp.
This class is used with the following.
- ryu.lib.packet.sctp.sctp
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1239,8 +1269,10 @@ class cause_invalid_stream_id(cause_with_value):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Invalid Stream Identifier (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1286,8 +1318,10 @@ class cause_missing_param(cause):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Missing Mandatory Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1356,8 +1390,10 @@ class cause_stale_cookie(cause_with_value):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Stale Cookie Error (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1385,8 +1421,10 @@ class cause_out_of_resource(cause):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Out of Resource (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1418,8 +1456,10 @@ class cause_unresolvable_addr(cause_with_value):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Unresolvable Address (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1483,8 +1523,10 @@ class cause_unrecognized_chunk(cause_with_value):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Unrecognized Chunk Type (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1512,8 +1554,10 @@ class cause_invalid_param(cause):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Invalid Mandatory Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1545,8 +1589,10 @@ class cause_unrecognized_param(cause_with_value):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Unrecognized Parameters (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1574,8 +1620,10 @@ class cause_no_userdata(cause_with_value):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for No User Data (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1605,8 +1653,10 @@ class cause_cookie_while_shutdown(cause):
sub encoder/decoder class for Cookie Received While Shutting Down
(RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1639,8 +1689,10 @@ class cause_restart_with_new_addr(cause_with_value):
sub encoder/decoder class for Restart of an Association with New
Addresses (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1712,8 +1764,10 @@ class cause_user_initiated_abort(cause_with_value):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for User-Initiated Abort (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1741,8 +1795,10 @@ class cause_protocol_violation(cause_with_value):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Protocol Violation (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_abort and
ryu.lib.packet.sctp.chunk_error.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_abort
- ryu.lib.packet.sctp.chunk_error
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1819,8 +1875,10 @@ class param_heartbeat(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Heartbeat Info Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_heartbeat and
ryu.lib.packet.sctp.chunk_heartbeat_ack.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_heartbeat
- ryu.lib.packet.sctp.chunk_heartbeat_ack
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1847,7 +1905,9 @@ class param_state_cookie(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for State Cookie Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_init_ack.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_init_ack
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1874,7 +1934,9 @@ class param_unrecognized_param(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Unrecognized Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_init_ack.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_init_ack
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1901,7 +1963,9 @@ class param_cookie_preserve(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Cookie Preservative Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_init.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_init
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1947,8 +2011,10 @@ class param_ecn(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for ECN Parameter (RFC 4960 Appendix A.).
This is used with ryu.lib.packet.sctp.chunk_init and
ryu.lib.packet.sctp.chunk_init_ack.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_init
- ryu.lib.packet.sctp.chunk_init_ack
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -1983,8 +2049,10 @@ class param_host_addr(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Host Name Address Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_init and
ryu.lib.packet.sctp.chunk_init_ack.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_init
- ryu.lib.packet.sctp.chunk_init_ack
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -2011,7 +2079,9 @@ class param_supported_addr(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for Supported Address Types Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_init.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_init
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -2075,8 +2145,10 @@ class param_ipv4(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for IPv4 Address Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_init and
ryu.lib.packet.sctp.chunk_init_ack.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_init
- ryu.lib.packet.sctp.chunk_init_ack
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.
@ -2130,8 +2202,10 @@ class param_ipv6(param):
"""Stream Control Transmission Protocol (SCTP)
sub encoder/decoder class for IPv6 Address Parameter (RFC 4960).
This is used with ryu.lib.packet.sctp.chunk_init and
ryu.lib.packet.sctp.chunk_init_ack.
This class is used with the following.
- ryu.lib.packet.sctp.chunk_init
- ryu.lib.packet.sctp.chunk_init_ack
An instance has the following attributes at least.
Most of them are same to the on-wire counterparts but in host byte order.

View File

@ -17,8 +17,8 @@
"""
VRRP packet parser/serializer
RFC 3768
VRRP v2 packet format
[RFC 3768] VRRP v2 packet format::
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@ -40,8 +40,8 @@ VRRP v2 packet format
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
RFC 5798
VRRP v3 packet format
[RFC 5798] VRRP v3 packet format::
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@ -64,7 +64,6 @@ VRRP v3 packet format
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"""
import struct