X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Flacp%2Fnode.h;h=0c4e4572c07dee8d4467592376d789e4e17765b7;hb=4c4223edf;hp=ebc6704eb5636b5b960d5088d4ad6f9eacab8337;hpb=b2ffc697570f17f413fb4f2748760c44f8f21661;p=vpp.git diff --git a/src/plugins/lacp/node.h b/src/plugins/lacp/node.h index ebc6704eb56..0c4e4572c07 100644 --- a/src/plugins/lacp/node.h +++ b/src/plugins/lacp/node.h @@ -37,7 +37,7 @@ typedef enum MARKER_N_PACKET_TEMPLATES, } marker_packet_template_id_t; -enum +typedef enum { LACP_PROCESS_EVENT_START = 1, LACP_PROCESS_EVENT_STOP = 2, @@ -74,6 +74,8 @@ typedef enum LACP_N_ERROR, } lacp_error_t; +#define SECS_IN_A_DAY 86400.0 + /* lacp packet trace capture */ typedef struct { @@ -129,7 +131,7 @@ typedef struct vlib_packet_template_t marker_packet_templates[MARKER_N_PACKET_TEMPLATES]; /* LACP interface count */ - u32 lacp_int; + volatile u32 lacp_int; /* debug is on or off */ u8 debug; @@ -138,20 +140,21 @@ typedef struct extern lacp_state_struct lacp_state_array[]; extern lacp_main_t lacp_main; +void lacp_create_periodic_process (void); clib_error_t *lacp_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); u8 *lacp_input_format_trace (u8 * s, va_list * args); -void lacp_init_neighbor (slave_if_t * sif, u8 * hw_address, +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, 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); +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 inline void lacp_stop_timer (f64 * timer) @@ -183,8 +186,7 @@ format_rx_sm_state (u8 * s, va_list * args) {.str = NULL} }; int state = va_arg (*args, int); - lacp_state_struct *state_entry = - (lacp_state_struct *) & lacp_rx_sm_state_array; + lacp_state_struct *state_entry = lacp_rx_sm_state_array; if (state >= (sizeof (lacp_rx_sm_state_array) / sizeof (*state_entry))) s = format (s, "Bad state %d", state); @@ -204,8 +206,7 @@ format_tx_sm_state (u8 * s, va_list * args) {.str = NULL} }; int state = va_arg (*args, int); - lacp_state_struct *state_entry = - (lacp_state_struct *) & lacp_tx_sm_state_array; + lacp_state_struct *state_entry = lacp_tx_sm_state_array; if (state >= (sizeof (lacp_tx_sm_state_array) / sizeof (*state_entry))) s = format (s, "Bad state %d", state); @@ -225,8 +226,7 @@ format_mux_sm_state (u8 * s, va_list * args) {.str = NULL} }; int state = va_arg (*args, int); - lacp_state_struct *state_entry = - (lacp_state_struct *) & lacp_mux_sm_state_array; + lacp_state_struct *state_entry = lacp_mux_sm_state_array; if (state >= (sizeof (lacp_mux_sm_state_array) / sizeof (*state_entry))) s = format (s, "Bad state %d", state); @@ -246,8 +246,7 @@ format_ptx_sm_state (u8 * s, va_list * args) {.str = NULL} }; int state = va_arg (*args, int); - lacp_state_struct *state_entry = - (lacp_state_struct *) & lacp_ptx_sm_state_array; + lacp_state_struct *state_entry = lacp_ptx_sm_state_array; if (state >= (sizeof (lacp_ptx_sm_state_array) / sizeof (*state_entry))) s = format (s, "Bad state %d", state);