os_ken.lib.packet.slow.
lacp
(version=1, actor_system_priority=0, actor_system='00:00:00:00:00:00', actor_key=0, actor_port_priority=0, actor_port=0, actor_state_activity=0, actor_state_timeout=0, actor_state_aggregation=0, actor_state_synchronization=0, actor_state_collecting=0, actor_state_distributing=0, actor_state_defaulted=0, actor_state_expired=0, partner_system_priority=0, partner_system='00:00:00:00:00:00', partner_key=0, partner_port_priority=0, partner_port=0, partner_state_activity=0, partner_state_timeout=0, partner_state_aggregation=0, partner_state_synchronization=0, partner_state_collecting=0, partner_state_distributing=0, partner_state_defaulted=0, partner_state_expired=0, collector_max_delay=0)¶Link Aggregation Control Protocol(LACP, IEEE 802.1AX) header encoder/decoder class.
http://standards.ieee.org/getieee802/download/802.1AX-2008.pdf
LACPDU format
LACPDU structure | Octets | |
---|---|---|
Subtype = LACP | 1 | |
Version Number | 1 | |
TLV Actor | TLV_type = Actor Information | 1 |
Actor_Information_Length = 20 | 1 | |
Actor_System_Priority | 2 | |
Actor_System | 6 | |
Actor_Key | 2 | |
Actor_Port_Priority | 2 | |
Actor_Port | 2 | |
Actor_State | 1 | |
Reserved | 3 | |
TLV Partner | TLV_type = Partner Information | 1 |
Partner_Information_Length = 20 | 1 | |
Partner_System_Priority | 2 | |
Partner_System | 6 | |
Partner_Key | 2 | |
Partner_Port_Priority | 2 | |
Partner_Port | 2 | |
Partner_State | 1 | |
Reserved | 3 | |
TLV Collector | TLV_type = Collector Information | 1 |
Collector_Information_Length = 16 | 1 | |
Collector_Max_Delay | 2 | |
Reserved | 12 | |
TLV Terminator | TLV_type = Terminator | 1 |
Terminator_Length = 0 | 1 | |
Reserved | 50 |
Terminator information uses a length value of 0 (0x00).
Actor_State and Partner_State encoded as individual bits within a single octet as follows:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
EXPR | DFLT | DIST | CLCT | SYNC | AGGR | TMO | ACT |
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute | Description |
---|---|
version | LACP version. This parameter must be set to LACP_VERSION_NUMBER(i.e. 1). |
actor_system_priority | The priority assigned to this System. |
actor_system | The Actor's System ID, encoded as a MAC address. |
actor_key | The operational Key value assigned to the port by the Actor. |
actor_port_priority | The priority assigned to this port. |
actor_port | The port number assigned to the port by the Actor. |
actor_state_activity | about the activity control value with regard to this link. LACP_STATE_ACTIVE(1) LACP_STATE_PASSIVE(0) |
actor_state_timeout | about the timeout control value with regard to this link. LACP_STATE_SHORT_TIMEOUT(1) LACP_STATE_LONG_TIMEOUT(0) |
actor_state_aggregation | about how the system regards this link from the point of view of the aggregation. LACP_STATE_AGGREGATEABLE(1) LACP_STATE_INDIVIDUAL(0) |
actor_state_synchronization | about how the system regards this link from the point of view of the synchronization. LACP_STATE_IN_SYNC(1) LACP_STATE_OUT_OF_SYNC(0) |
actor_state_collecting | about collecting of incoming frames. LACP_STATE_COLLECTING_ENABLED(1) LACP_STATE_COLLECTING_DISABLED(0) |
actor_state_distributing | about distributing of outgoing frames. LACP_STATE_DISTRIBUTING_ENABLED(1) LACP_STATE_DISTRIBUTING_DISABLED(0) |
actor_state_defaulted | about the Partner information which the the Actor use. LACP_STATE_DEFAULTED_PARTNER(1) LACP_STATE_OPERATIONAL_PARTNER(0) |
actor_state_expired | about the state of the Actor. LACP_STATE_EXPIRED(1) LACP_STATE_NOT_EXPIRED(0) |
partner_system_priority | The priority assigned to the Partner System. |
partner_system | The Partner's System ID, encoded as a MAC address. |
partner_key | The operational Key value assigned to the port by the Partner. |
partner_port_priority | The priority assigned to this port by the Partner. |
partner_port | The port number assigned to the port by the Partner. |
partner_state_activity | See actor_state_activity. |
partner_state_timeout | See actor_state_timeout. |
partner_state_aggregation | See actor_state_aggregation. |
partner_state_synchronization | See actor_state_synchronization. |
partner_state_collecting | See actor_state_collecting. |
partner_state_distributing | See actor_state_distributing. |
partner_state_defaulted | See actor_state_defaulted. |
partner_state_expired | See actor_state_expired. |
collector_max_delay | the maximum time that the Frame Collector may delay. |
parser
(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
serialize
(payload, prev)¶Encode a protocol header.
This method is used only when encoding a packet.
Encode a protocol header. Returns a bytearray which contains the header.
payload is the rest of the packet which will immediately follow this header.
prev is a packet_base.PacketBase subclass for the outer protocol header. prev is None if the current header is the outer-most. For example, prev is ipv4 or ipv6 for tcp.serialize.
os_ken.lib.packet.slow.
slow
¶Slow Protocol header decoder class. This class has only the parser method.
http://standards.ieee.org/getieee802/download/802.3-2012_section5.pdf
Slow Protocols Subtypes
Subtype Value | Protocol Name |
---|---|
0 | Unused - Illegal Value |
1 | Link Aggregation Control Protocol(LACP) |
2 | Link Aggregation - Marker Protocol |
3 | Operations, Administration, and Maintenance(OAM) |
4 - 9 | Reserved for future use |
10 | Organization Specific Slow Protocol(OSSP) |
11 - 255 | Unused - Illegal values |
parser
(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.