bonding lacp: replace slave string with member
[vpp.git] / src / plugins / lacp / node.h
index 26cf7a3..0c4e457 100644 (file)
@@ -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,9 +74,12 @@ typedef enum
     LACP_N_ERROR,
 } lacp_error_t;
 
+#define SECS_IN_A_DAY 86400.0
+
 /* lacp packet trace capture */
 typedef struct
 {
+  u32 sw_if_index;
   u32 len;
   union
   {
@@ -128,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;
@@ -137,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)
@@ -182,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);
@@ -203,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);
@@ -224,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);
@@ -245,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);