FD.io VPP  v18.07-rc0-415-g6c78436
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
 

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_START = 1, LACP_PROCESS_EVENT_STOP = 2 }
 
enum  lacp_error_t { LACP_N_ERROR }
 

Functions

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 (slave_if_t *sif, u8 *hw_address, u16 port_number, u32 group)
 
void lacp_init_state_machines (vlib_main_t *vm, slave_if_t *sif)
 
void lacp_init_rx_machine (vlib_main_t *vm, slave_if_t *sif)
 
void lacp_init_tx_machine (vlib_main_t *vm, slave_if_t *sif)
 
void lacp_init_ptx_machine (vlib_main_t *vm, slave_if_t *sif)
 
void lacp_init_mux_machine (vlib_main_t *vm, slave_if_t *sif)
 
void lacp_selection_logic (vlib_main_t *vm, slave_if_t *sif)
 
void lacp_send_lacp_pdu (vlib_main_t *vm, slave_if_t *sif)
 
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

enum { ... }  lacp_process_event_t
 
lacp_state_struct lacp_state_array []
 
lacp_main_t lacp_main
 

Macro Definition Documentation

#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.

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

Definition at line 46 of file node.h.

#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:25

Definition at line 53 of file node.h.

Enumeration Type Documentation

anonymous enum
Enumerator
LACP_PROCESS_EVENT_START 
LACP_PROCESS_EVENT_STOP 

Definition at line 40 of file node.h.

Enumerator
LACP_N_ERROR 

Definition at line 69 of file node.h.

Enumerator
LACP_PACKET_TEMPLATE_ETHERNET 
LACP_N_PACKET_TEMPLATES 

Definition at line 28 of file node.h.

Enumerator
MARKER_PACKET_TEMPLATE_ETHERNET 
MARKER_N_PACKET_TEMPLATES 

Definition at line 34 of file node.h.

Function Documentation

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

Definition at line 219 of file node.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 240 of file node.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 177 of file node.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 198 of file node.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int lacp_bit_test ( u8  val,
u8  bit 
)
inlinestatic

Definition at line 261 of file node.h.

+ Here is the caller graph for this function:

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:

void lacp_init_mux_machine ( vlib_main_t vm,
slave_if_t sif 
)

Definition at line 224 of file mux_machine.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void lacp_init_neighbor ( slave_if_t sif,
u8 hw_address,
u16  port_number,
u32  group 
)

Definition at line 302 of file lacp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void lacp_init_ptx_machine ( vlib_main_t vm,
slave_if_t sif 
)

Definition at line 190 of file ptx_machine.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void lacp_init_rx_machine ( vlib_main_t vm,
slave_if_t sif 
)

Definition at line 411 of file rx_machine.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void lacp_init_state_machines ( vlib_main_t vm,
slave_if_t sif 
)

Definition at line 341 of file lacp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void lacp_init_tx_machine ( vlib_main_t vm,
slave_if_t sif 
)

Definition at line 96 of file tx_machine.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 135 of file input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* lacp_input_format_trace ( u8 s,
va_list *  args 
)

Definition at line 241 of file input.c.

+ Here is the call graph for this function:

void lacp_periodic ( vlib_main_t vm)

Definition at line 137 of file lacp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* lacp_plugin_api_hookup ( vlib_main_t vm)

Definition at line 178 of file lacp_api.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void lacp_selection_logic ( vlib_main_t vm,
slave_if_t sif 
)

Definition at line 56 of file selection.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void lacp_send_lacp_pdu ( vlib_main_t vm,
slave_if_t sif 
)

Definition at line 107 of file lacp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void lacp_stop_timer ( f64 timer)
inlinestatic

Definition at line 157 of file node.h.

+ Here is the caller graph for this function:

static u8 lacp_timer_is_expired ( vlib_main_t vm,
f64  timer 
)
inlinestatic

Definition at line 169 of file node.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 lacp_timer_is_running ( f64  timer)
inlinestatic

Definition at line 163 of file node.h.

+ Here is the caller graph for this function:

Variable Documentation

lacp_main_t lacp_main

Definition at line 25 of file lacp.c.

enum { ... } lacp_process_event_t
lacp_state_struct lacp_state_array[]

Definition at line 21 of file node.c.