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:
parent
5969a89ee4
commit
99e7cc4074
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) |
|
||||
|
|
|
@ -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
|
||||
|
||||
"""
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue