FD.io VPP  v21.01.1
Vector Packet Processing
node.h File Reference
+ Include dependency graph for node.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  lacp_input_trace_t
 
struct  lacp_interface_details_t
 LACP interface details struct. More...
 
struct  lacp_main_t
 

Macros

#define LACP_DBG(n, args...)
 
#define LACP_DBG2(n, e, s, m, t)
 
#define foreach_lacp_error
 
#define SECS_IN_A_DAY   86400.0
 

Enumerations

enum  lacp_packet_template_id_t { LACP_PACKET_TEMPLATE_ETHERNET, LACP_N_PACKET_TEMPLATES }
 
enum  marker_packet_template_id_t { MARKER_PACKET_TEMPLATE_ETHERNET, MARKER_N_PACKET_TEMPLATES }
 
enum  lacp_process_event_t { LACP_PROCESS_EVENT_START = 1, LACP_PROCESS_EVENT_STOP = 2 }
 
enum  lacp_error_t { LACP_N_ERROR }
 

Functions

void lacp_create_periodic_process (void)
 
clib_error_tlacp_plugin_api_hookup (vlib_main_t *vm)
 
int lacp_dump_ifs (lacp_interface_details_t **out_bondids)
 
lacp_error_t lacp_input (vlib_main_t *vm, vlib_buffer_t *b0, u32 bi0)
 
void lacp_periodic (vlib_main_t *vm)
 
u8lacp_input_format_trace (u8 *s, va_list *args)
 
void lacp_init_neighbor (member_if_t *mif, u8 *hw_address, u16 port_number, u32 group)
 
void lacp_init_state_machines (vlib_main_t *vm, member_if_t *mif)
 
void lacp_init_rx_machine (vlib_main_t *vm, member_if_t *mif)
 
void lacp_init_tx_machine (vlib_main_t *vm, member_if_t *mif)
 
void lacp_init_ptx_machine (vlib_main_t *vm, member_if_t *mif)
 
void lacp_init_mux_machine (vlib_main_t *vm, member_if_t *mif)
 
void lacp_selection_logic (vlib_main_t *vm, member_if_t *mif)
 
void lacp_send_lacp_pdu (vlib_main_t *vm, member_if_t *mif)
 
static void lacp_stop_timer (f64 *timer)
 
static u8 lacp_timer_is_running (f64 timer)
 
static u8 lacp_timer_is_expired (vlib_main_t *vm, f64 timer)
 
static u8format_rx_sm_state (u8 *s, va_list *args)
 
static u8format_tx_sm_state (u8 *s, va_list *args)
 
static u8format_mux_sm_state (u8 *s, va_list *args)
 
static u8format_ptx_sm_state (u8 *s, va_list *args)
 
static int lacp_bit_test (u8 val, u8 bit)
 

Variables

lacp_state_struct lacp_state_array []
 
lacp_main_t lacp_main
 

Macro Definition Documentation

◆ foreach_lacp_error

#define foreach_lacp_error
Value:
_ (NONE, "good lacp packets -- consumed") \
_ (CACHE_HIT, "good lacp packets -- cache hit") \
_ (UNSUPPORTED, "unsupported slow protocol packets") \
_ (TOO_SMALL, "bad lacp packets -- packet too small") \
_ (BAD_TLV, "bad lacp packets -- bad TLV length") \
_ (DISABLED, "lacp packets received on disabled interfaces")

Definition at line 61 of file node.h.

◆ LACP_DBG

#define LACP_DBG (   n,
  args... 
)
Value:
{ \
lacp_main_t *_lm = &lacp_main; \
if (_lm->debug || n->debug) \
clib_warning (args); \
}
lacp_main_t lacp_main
Definition: lacp.c:26

Definition at line 46 of file node.h.

◆ LACP_DBG2

#define LACP_DBG2 (   n,
  e,
  s,
  m,
 
)
Value:
{ \
lacp_main_t *_lm = &lacp_main; \
if ((m)->debug && (_lm->debug || (n)->debug)) \
(*m->debug)(n, e, s, t); \
}
lacp_main_t lacp_main
Definition: lacp.c:26

Definition at line 53 of file node.h.

◆ SECS_IN_A_DAY

#define SECS_IN_A_DAY   86400.0

Definition at line 77 of file node.h.

Enumeration Type Documentation

◆ lacp_error_t

Enumerator
LACP_N_ERROR 

Definition at line 69 of file node.h.

◆ lacp_packet_template_id_t

Enumerator
LACP_PACKET_TEMPLATE_ETHERNET 
LACP_N_PACKET_TEMPLATES 

Definition at line 28 of file node.h.

◆ lacp_process_event_t

Enumerator
LACP_PROCESS_EVENT_START 
LACP_PROCESS_EVENT_STOP 

Definition at line 40 of file node.h.

◆ marker_packet_template_id_t

Enumerator
MARKER_PACKET_TEMPLATE_ETHERNET 
MARKER_N_PACKET_TEMPLATES 

Definition at line 34 of file node.h.

Function Documentation

◆ format_mux_sm_state()

static u8* format_mux_sm_state ( u8 s,
va_list *  args 
)
inlinestatic

Definition at line 220 of file node.h.

+ Here is the caller graph for this function:

◆ format_ptx_sm_state()

static u8* format_ptx_sm_state ( u8 s,
va_list *  args 
)
inlinestatic

Definition at line 240 of file node.h.

+ Here is the caller graph for this function:

◆ format_rx_sm_state()

static u8* format_rx_sm_state ( u8 s,
va_list *  args 
)
inlinestatic

Definition at line 180 of file node.h.

+ Here is the caller graph for this function:

◆ format_tx_sm_state()

static u8* format_tx_sm_state ( u8 s,
va_list *  args 
)
inlinestatic

Definition at line 200 of file node.h.

+ Here is the caller graph for this function:

◆ lacp_bit_test()

static int lacp_bit_test ( u8  val,
u8  bit 
)
inlinestatic

Definition at line 260 of file node.h.

+ Here is the caller graph for this function:

◆ lacp_create_periodic_process()

void lacp_create_periodic_process ( void  )

Definition at line 229 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_dump_ifs()

int lacp_dump_ifs ( lacp_interface_details_t **  out_bondids)

Definition at line 21 of file cli.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_init_mux_machine()

void lacp_init_mux_machine ( vlib_main_t vm,
member_if_t mif 
)

Definition at line 233 of file mux_machine.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_init_neighbor()

void lacp_init_neighbor ( member_if_t mif,
u8 hw_address,
u16  port_number,
u32  group 
)

Definition at line 333 of file lacp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_init_ptx_machine()

void lacp_init_ptx_machine ( vlib_main_t vm,
member_if_t mif 
)

Definition at line 220 of file ptx_machine.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_init_rx_machine()

void lacp_init_rx_machine ( vlib_main_t vm,
member_if_t mif 
)

Definition at line 425 of file rx_machine.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_init_state_machines()

void lacp_init_state_machines ( vlib_main_t vm,
member_if_t mif 
)

Definition at line 374 of file lacp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_init_tx_machine()

void lacp_init_tx_machine ( vlib_main_t vm,
member_if_t mif 
)

Definition at line 108 of file tx_machine.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_input()

lacp_error_t lacp_input ( vlib_main_t vm,
vlib_buffer_t b0,
u32  bi0 
)

Definition at line 137 of file input.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_input_format_trace()

u8* lacp_input_format_trace ( u8 s,
va_list *  args 
)

Definition at line 257 of file input.c.

+ Here is the call graph for this function:

◆ lacp_periodic()

void lacp_periodic ( vlib_main_t vm)

Definition at line 138 of file lacp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_plugin_api_hookup()

clib_error_t* lacp_plugin_api_hookup ( vlib_main_t vm)

Definition at line 119 of file lacp_api.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_selection_logic()

void lacp_selection_logic ( vlib_main_t vm,
member_if_t mif 
)

Definition at line 56 of file selection.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_send_lacp_pdu()

void lacp_send_lacp_pdu ( vlib_main_t vm,
member_if_t mif 
)

Definition at line 108 of file lacp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_stop_timer()

static void lacp_stop_timer ( f64 timer)
inlinestatic

Definition at line 160 of file node.h.

+ Here is the caller graph for this function:

◆ lacp_timer_is_expired()

static u8 lacp_timer_is_expired ( vlib_main_t vm,
f64  timer 
)
inlinestatic

Definition at line 172 of file node.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lacp_timer_is_running()

static u8 lacp_timer_is_running ( f64  timer)
inlinestatic

Definition at line 166 of file node.h.

+ Here is the caller graph for this function:

Variable Documentation

◆ lacp_main

lacp_main_t lacp_main

Definition at line 26 of file lacp.c.

◆ lacp_state_array

lacp_state_struct lacp_state_array[]

Definition at line 21 of file node.c.