FD.io VPP  v18.04-17-g3a0d853
Vector Packet Processing
protocol.h File Reference
+ Include dependency graph for protocol.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  lacp_state_struct
 
struct  lacp_event_struct
 

Macros

#define LACP_CHURN_DETECTION_TIME   60
 
#define LACP_AGGREGATE_WAIT_TIME   2.0
 
#define LACP_SUBTYPE   1
 
#define LACP_ACTOR_LACP_VERSION   1
 
#define foreach_lacp_tlv
 
#define foreach_lacp_port
 
#define foreach_lacp_state
 
#define foreach_lacp_state_flag
 
#define LACP_MAX_TX_IN_SECOND   3
 
#define LACP_DEFAULT_PORT_PRIORITY   0x00ff
 
#define LACP_DEFAULT_SYSTEM_PRIORITY   0xffff
 
#define MARKER_SUBTYPE   2
 
#define MARKER_PROTOCOL_VERSION   1
 
#define foreach_marker_tlv
 

Enumerations

enum  lacp_tlv_t { foreach_lacp_tlv }
 
enum  lacp_port_t { foreach_lacp_port }
 
enum  lacp_state_t { foreach_lacp_state }
 
enum  marker_tlv_t { foreach_marker_tlv }
 

Functions

typedef CLIB_PACKED (struct{u8 tlv_type;u8 tlv_length;lacp_port_info_t port_info;u8 reserved[3];}) lacp_actor_partner_t
 
typedef CLIB_PACKED (struct{u8 tlv_type;u8 tlv_length;u16 max_delay;u8 reserved[12];}) lacp_collector_t
 
typedef CLIB_PACKED (struct{u8 tlv_type;u8 tlv_length;u8 pad[50];}) lacp_terminator_t
 
typedef CLIB_PACKED (struct{u8 subtype;u8 version_number;lacp_actor_partner_t actor;lacp_actor_partner_t partner;lacp_collector_t collector;lacp_terminator_t terminator;}) lacp_pdu_t
 
typedef CLIB_PACKED (struct{ethernet_header_t ethernet;lacp_pdu_t lacp;}) ethernet_lacp_pdu_t
 
typedef CLIB_PACKED (struct{u8 tlv_type;u8 tlv_length;u8 reserved[90];}) marker_terminator_t
 
typedef CLIB_PACKED (struct{u8 tlv_type;u8 tlv_length;u16 requester_port;u8 requester_system[6];u32 requester_transaction_id;u8 pad[2];}) marker_information_t
 
typedef CLIB_PACKED (struct{u8 subtype;u8 version_number;marker_information_t marker_info;marker_terminator_t terminator;}) marker_pdu_t
 
typedef CLIB_PACKED (struct{ethernet_header_t ethernet;marker_pdu_t marker;}) ethernet_marker_pdu_t
 

Macro Definition Documentation

#define foreach_lacp_port
Value:
_ (UNSELECTED, 0) \
_ (SELECTED, 1) \
_ (STANDBY, 2)

Definition at line 41 of file protocol.h.

#define foreach_lacp_state
Value:
_(0, LACP_ACTIVITY, "activity") \
_(1, LACP_TIMEOUT, "lacp timeout") \
_(2, AGGREGATION, "aggregation") \
_(3, SYNCHRONIZATION, "synchronization") \
_(4, COLLECTING, "collecting") \
_(5, DISTRIBUTING, "distributing") \
_(6, DEFAULTED, "defaulted") \
_(7, EXPIRED, "expired")

Definition at line 54 of file protocol.h.

#define foreach_lacp_state_flag
Value:
_(0, LACP_STATE_LACP_ACTIVITY, "activity") \
_(1, LACP_STATE_LACP_TIMEOUT, "lacp timeout") \
_(2, LACP_STATE_AGGREGATION, "aggregation") \
_(3, LACP_STATE_SYNCHRONIZATION, "synchronization") \
_(4, LACP_STATE_COLLECTIING, "collecting") \
_(5, LACP_STATE_DISTRIBUTING, "distributing") \
_(6, LACP_STATE_DEFAULTED, "defaulted") \
_(7, LACP_STATE_EXPIRED, "expired")

Definition at line 71 of file protocol.h.

#define foreach_lacp_tlv
Value:
_ (TERMINATOR_INFORMATION, 0) \
_ (ACTOR_INFORMATION, 1) \
_ (PARTNER_INFORMATION , 2) \
_ (COLLECTOR_INFORMATION, 3)

Definition at line 28 of file protocol.h.

#define foreach_marker_tlv
Value:
_ (TERMINATOR_INFORMATION, 0) \
_ (INFORMATION, 1) \
_ (RESPONSE_INFORMATION , 2)

Definition at line 131 of file protocol.h.

#define LACP_ACTOR_LACP_VERSION   1

Definition at line 26 of file protocol.h.

#define LACP_AGGREGATE_WAIT_TIME   2.0

Definition at line 23 of file protocol.h.

#define LACP_CHURN_DETECTION_TIME   60

Definition at line 22 of file protocol.h.

#define LACP_DEFAULT_PORT_PRIORITY   0x00ff

Definition at line 94 of file protocol.h.

#define LACP_DEFAULT_SYSTEM_PRIORITY   0xffff

Definition at line 95 of file protocol.h.

#define LACP_MAX_TX_IN_SECOND   3

Definition at line 93 of file protocol.h.

#define LACP_SUBTYPE   1

Definition at line 25 of file protocol.h.

#define MARKER_PROTOCOL_VERSION   1

Definition at line 129 of file protocol.h.

#define MARKER_SUBTYPE   2

Definition at line 128 of file protocol.h.

Enumeration Type Documentation

Enumerator
foreach_lacp_port 

Definition at line 46 of file protocol.h.

Enumerator
foreach_lacp_state 

Definition at line 64 of file protocol.h.

enum lacp_tlv_t
Enumerator
foreach_lacp_tlv 

Definition at line 34 of file protocol.h.

Enumerator
foreach_marker_tlv 

Definition at line 136 of file protocol.h.

Function Documentation

typedef CLIB_PACKED ( struct{u8 tlv_type;u8 tlv_length;lacp_port_info_t port_info;u8 reserved[3];}  )
typedef CLIB_PACKED ( struct{u8 tlv_type;u8 tlv_length;u16 max_delay;u8 reserved[12];}  )
typedef CLIB_PACKED ( struct{u8 tlv_type;u8 tlv_length;u8 pad[50];}  )
typedef CLIB_PACKED ( struct{u8 subtype;u8 version_number;lacp_actor_partner_t actor;lacp_actor_partner_t partner;lacp_collector_t collector;lacp_terminator_t terminator;}  )
typedef CLIB_PACKED ( struct{ethernet_header_t ethernet;lacp_pdu_t lacp;}  )
typedef CLIB_PACKED ( struct{u8 tlv_type;u8 tlv_length;u8 reserved[90];}  )
typedef CLIB_PACKED ( struct{u8 tlv_type;u8 tlv_length;u16 requester_port;u8 requester_system[6];u32 requester_transaction_id;u8 pad[2];}  )
typedef CLIB_PACKED ( struct{u8 subtype;u8 version_number;marker_information_t marker_info;marker_terminator_t terminator;}  )
typedef CLIB_PACKED ( struct{ethernet_header_t ethernet;marker_pdu_t marker;}  )