aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/lacp/rx_machine.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/lacp/rx_machine.c')
-rw-r--r--src/plugins/lacp/rx_machine.c238
1 files changed, 119 insertions, 119 deletions
diff --git a/src/plugins/lacp/rx_machine.c b/src/plugins/lacp/rx_machine.c
index 605cccba08c..60edc80d863 100644
--- a/src/plugins/lacp/rx_machine.c
+++ b/src/plugins/lacp/rx_machine.c
@@ -111,11 +111,11 @@ lacp_machine_t lacp_rx_machine = {
};
static void
-lacp_set_port_unselected (vlib_main_t * vm, slave_if_t * sif)
+lacp_set_port_unselected (vlib_main_t * vm, member_if_t * mif)
{
- sif->selected = LACP_PORT_UNSELECTED;
+ mif->selected = LACP_PORT_UNSELECTED;
- switch (sif->mux_state)
+ switch (mif->mux_state)
{
case LACP_MUX_STATE_DETACHED:
break;
@@ -125,78 +125,78 @@ lacp_set_port_unselected (vlib_main_t * vm, slave_if_t * sif)
return;
break;
case LACP_MUX_STATE_COLLECTING_DISTRIBUTING:
- if (sif->partner.state & LACP_STATE_SYNCHRONIZATION)
+ if (mif->partner.state & LACP_STATE_SYNCHRONIZATION)
return;
break;
default:
break;
}
- lacp_machine_dispatch (&lacp_mux_machine, vm, sif,
- LACP_MUX_EVENT_UNSELECTED, &sif->mux_state);
+ lacp_machine_dispatch (&lacp_mux_machine, vm, mif,
+ LACP_MUX_EVENT_UNSELECTED, &mif->mux_state);
}
static void
-lacp_update_default_selected (vlib_main_t * vm, slave_if_t * sif)
+lacp_update_default_selected (vlib_main_t * vm, member_if_t * mif)
{
- if ((sif->partner_admin.state & LACP_STATE_AGGREGATION) !=
- (sif->partner.state & LACP_STATE_AGGREGATION) ||
- memcmp (&sif->partner, &sif->partner_admin,
- sizeof (sif->partner) - sizeof (sif->partner.state)))
+ if ((mif->partner_admin.state & LACP_STATE_AGGREGATION) !=
+ (mif->partner.state & LACP_STATE_AGGREGATION) ||
+ memcmp (&mif->partner, &mif->partner_admin,
+ sizeof (mif->partner) - sizeof (mif->partner.state)))
{
- lacp_set_port_unselected (vm, sif);
+ lacp_set_port_unselected (vm, mif);
}
}
static void
-lacp_record_default (slave_if_t * sif)
+lacp_record_default (member_if_t * mif)
{
- sif->partner = sif->partner_admin;
- sif->actor.state |= LACP_STATE_DEFAULTED;
+ mif->partner = mif->partner_admin;
+ mif->actor.state |= LACP_STATE_DEFAULTED;
}
static void
-lacp_update_selected (vlib_main_t * vm, slave_if_t * sif)
+lacp_update_selected (vlib_main_t * vm, member_if_t * mif)
{
- lacp_pdu_t *lacpdu = (lacp_pdu_t *) sif->last_rx_pkt;
+ lacp_pdu_t *lacpdu = (lacp_pdu_t *) mif->last_rx_pkt;
if ((lacpdu->actor.port_info.state & LACP_STATE_AGGREGATION) !=
- (sif->partner.state & LACP_STATE_AGGREGATION) ||
- memcmp (&sif->partner, &lacpdu->actor.port_info,
- sizeof (sif->partner) - sizeof (sif->partner.state)))
+ (mif->partner.state & LACP_STATE_AGGREGATION) ||
+ memcmp (&mif->partner, &lacpdu->actor.port_info,
+ sizeof (mif->partner) - sizeof (mif->partner.state)))
{
- lacp_set_port_unselected (vm, sif);
+ lacp_set_port_unselected (vm, mif);
}
}
static void
-lacp_update_ntt (vlib_main_t * vm, slave_if_t * sif)
+lacp_update_ntt (vlib_main_t * vm, member_if_t * mif)
{
- lacp_pdu_t *lacpdu = (lacp_pdu_t *) sif->last_rx_pkt;
+ lacp_pdu_t *lacpdu = (lacp_pdu_t *) mif->last_rx_pkt;
u8 states = LACP_STATE_LACP_ACTIVITY | LACP_STATE_LACP_TIMEOUT |
LACP_STATE_SYNCHRONIZATION | LACP_STATE_AGGREGATION;
if ((states & lacpdu->partner.port_info.state) !=
- (states & sif->actor.state)
- || memcmp (&sif->actor, &lacpdu->partner.port_info,
- sizeof (sif->actor) - sizeof (sif->actor.state)))
+ (states & mif->actor.state)
+ || memcmp (&mif->actor, &lacpdu->partner.port_info,
+ sizeof (mif->actor) - sizeof (mif->actor.state)))
{
- sif->ntt = 1;
- lacp_start_periodic_timer (vm, sif, 0);
+ mif->ntt = 1;
+ lacp_start_periodic_timer (vm, mif, 0);
}
}
/*
- * compare lacpdu partner info against sif->partner. Return 1 if they match, 0
+ * compare lacpdu partner info against mif->partner. Return 1 if they match, 0
* otherwise.
*/
static u8
-lacp_compare_partner (slave_if_t * sif)
+lacp_compare_partner (member_if_t * mif)
{
- lacp_pdu_t *lacpdu = (lacp_pdu_t *) sif->last_rx_pkt;
+ lacp_pdu_t *lacpdu = (lacp_pdu_t *) mif->last_rx_pkt;
- if ((!memcmp (&sif->partner, &lacpdu->actor.port_info,
- sizeof (sif->partner) - sizeof (sif->partner.state)) &&
- ((sif->actor.state & LACP_STATE_AGGREGATION) ==
+ if ((!memcmp (&mif->partner, &lacpdu->actor.port_info,
+ sizeof (mif->partner) - sizeof (mif->partner.state)) &&
+ ((mif->actor.state & LACP_STATE_AGGREGATION) ==
(lacpdu->partner.port_info.state & LACP_STATE_AGGREGATION))) ||
((lacpdu->actor.port_info.state & LACP_STATE_AGGREGATION) == 0))
return 1;
@@ -205,50 +205,50 @@ lacp_compare_partner (slave_if_t * sif)
}
static void
-lacp_record_pdu (vlib_main_t * vm, slave_if_t * sif)
+lacp_record_pdu (vlib_main_t * vm, member_if_t * mif)
{
- lacp_pdu_t *lacpdu = (lacp_pdu_t *) sif->last_rx_pkt;
+ lacp_pdu_t *lacpdu = (lacp_pdu_t *) mif->last_rx_pkt;
u8 match;
/* Transition PTX out of NO_PERIODIC if needed */
- if (!(sif->partner.state & LACP_STATE_LACP_ACTIVITY) &&
+ if (!(mif->partner.state & LACP_STATE_LACP_ACTIVITY) &&
(lacpdu->actor.port_info.state & LACP_STATE_LACP_ACTIVITY))
- lacp_ptx_post_short_timeout_event (vm, sif);
- match = lacp_compare_partner (sif);
- sif->partner = lacpdu->actor.port_info;
- sif->actor.state &= ~LACP_STATE_DEFAULTED;
+ lacp_ptx_post_short_timeout_event (vm, mif);
+ match = lacp_compare_partner (mif);
+ mif->partner = lacpdu->actor.port_info;
+ mif->actor.state &= ~LACP_STATE_DEFAULTED;
if (match && (lacpdu->actor.port_info.state & LACP_STATE_SYNCHRONIZATION))
- sif->partner.state |= LACP_STATE_SYNCHRONIZATION;
+ mif->partner.state |= LACP_STATE_SYNCHRONIZATION;
else
- sif->partner.state &= ~LACP_STATE_SYNCHRONIZATION;
+ mif->partner.state &= ~LACP_STATE_SYNCHRONIZATION;
}
static void
-lacp_set_port_moved (vlib_main_t * vm, slave_if_t * sif, u8 val)
+lacp_set_port_moved (vlib_main_t * vm, member_if_t * mif, u8 val)
{
- sif->port_moved = val;
-
- if (sif->port_moved)
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_PORT_MOVED, &sif->rx_state);
- else if (!sif->port_enabled)
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_PORT_DISABLED, &sif->rx_state);
+ mif->port_moved = val;
+
+ if (mif->port_moved)
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_PORT_MOVED, &mif->rx_state);
+ else if (!mif->port_enabled)
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_PORT_DISABLED, &mif->rx_state);
}
int
lacp_rx_action_initialize (void *p1, void *p2)
{
vlib_main_t *vm = p1;
- slave_if_t *sif = p2;
+ member_if_t *mif = p2;
- lacp_set_port_unselected (vm, sif);
- lacp_record_default (sif);
- sif->actor.state &= ~LACP_STATE_EXPIRED;
- lacp_set_port_moved (vm, sif, 0);
+ lacp_set_port_unselected (vm, mif);
+ lacp_record_default (mif);
+ mif->actor.state &= ~LACP_STATE_EXPIRED;
+ lacp_set_port_moved (vm, mif, 0);
/* UCT */
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_BEGIN, &sif->rx_state);
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_BEGIN, &mif->rx_state);
return 0;
}
@@ -257,22 +257,22 @@ int
lacp_rx_action_port_disabled (void *p1, void *p2)
{
vlib_main_t *vm = p1;
- slave_if_t *sif = p2;
+ member_if_t *mif = p2;
- sif->partner.state &= ~LACP_STATE_SYNCHRONIZATION;
- if (sif->port_moved)
+ mif->partner.state &= ~LACP_STATE_SYNCHRONIZATION;
+ if (mif->port_moved)
{
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_PORT_MOVED, &sif->rx_state);
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_PORT_MOVED, &mif->rx_state);
}
- if (sif->port_enabled)
+ if (mif->port_enabled)
{
- if (sif->lacp_enabled)
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_LACP_ENABLED, &sif->rx_state);
+ if (mif->lacp_enabled)
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_LACP_ENABLED, &mif->rx_state);
else
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_LACP_DISABLED, &sif->rx_state);
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_LACP_DISABLED, &mif->rx_state);
}
return 0;
@@ -282,25 +282,25 @@ int
lacp_rx_action_expired (void *p1, void *p2)
{
vlib_main_t *vm = p1;
- slave_if_t *sif = p2;
+ member_if_t *mif = p2;
u8 timer_expired;
- sif->partner.state &= ~LACP_STATE_SYNCHRONIZATION;
- sif->partner.state |= LACP_STATE_LACP_TIMEOUT;
- lacp_ptx_post_short_timeout_event (vm, sif);
- if (lacp_timer_is_running (sif->current_while_timer) &&
- lacp_timer_is_expired (vm, sif->current_while_timer))
+ mif->partner.state &= ~LACP_STATE_SYNCHRONIZATION;
+ mif->partner.state |= LACP_STATE_LACP_TIMEOUT;
+ lacp_ptx_post_short_timeout_event (vm, mif);
+ if (lacp_timer_is_running (mif->current_while_timer) &&
+ lacp_timer_is_expired (vm, mif->current_while_timer))
timer_expired = 1;
else
timer_expired = 0;
- lacp_start_current_while_timer (vm, sif, sif->ttl_in_seconds);
- sif->actor.state |= LACP_STATE_EXPIRED;
+ lacp_start_current_while_timer (vm, mif, mif->ttl_in_seconds);
+ mif->actor.state |= LACP_STATE_EXPIRED;
if (timer_expired)
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_TIMER_EXPIRED, &sif->rx_state);
- if (sif->last_rx_pkt && vec_len (sif->last_rx_pkt))
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_PDU_RECEIVED, &sif->rx_state);
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_TIMER_EXPIRED, &mif->rx_state);
+ if (mif->last_rx_pkt && vec_len (mif->last_rx_pkt))
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_PDU_RECEIVED, &mif->rx_state);
return 0;
}
@@ -309,12 +309,12 @@ int
lacp_rx_action_lacp_disabled (void *p1, void *p2)
{
vlib_main_t *vm = p1;
- slave_if_t *sif = p2;
+ member_if_t *mif = p2;
- lacp_set_port_unselected (vm, sif);
- lacp_record_default (sif);
- sif->partner.state &= ~LACP_STATE_AGGREGATION;
- sif->actor.state &= ~LACP_STATE_EXPIRED;
+ lacp_set_port_unselected (vm, mif);
+ lacp_record_default (mif);
+ mif->partner.state &= ~LACP_STATE_AGGREGATION;
+ mif->actor.state &= ~LACP_STATE_EXPIRED;
return 0;
}
@@ -323,33 +323,33 @@ int
lacp_rx_action_defaulted (void *p1, void *p2)
{
vlib_main_t *vm = p1;
- slave_if_t *sif = p2;
+ member_if_t *mif = p2;
- lacp_stop_timer (&sif->current_while_timer);
- lacp_update_default_selected (vm, sif);
- lacp_record_default (sif);
- sif->actor.state &= ~LACP_STATE_EXPIRED;
- if (sif->last_rx_pkt && vec_len (sif->last_rx_pkt))
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_PDU_RECEIVED, &sif->rx_state);
+ lacp_stop_timer (&mif->current_while_timer);
+ lacp_update_default_selected (vm, mif);
+ lacp_record_default (mif);
+ mif->actor.state &= ~LACP_STATE_EXPIRED;
+ if (mif->last_rx_pkt && vec_len (mif->last_rx_pkt))
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_PDU_RECEIVED, &mif->rx_state);
return 0;
}
static int
-lacp_port_is_moved (vlib_main_t * vm, slave_if_t * sif)
+lacp_port_is_moved (vlib_main_t * vm, member_if_t * mif)
{
bond_main_t *bm = &bond_main;
- slave_if_t *sif2;
- lacp_pdu_t *lacpdu = (lacp_pdu_t *) sif->last_rx_pkt;
+ member_if_t *mif2;
+ lacp_pdu_t *lacpdu = (lacp_pdu_t *) mif->last_rx_pkt;
/* *INDENT-OFF* */
- pool_foreach (sif2, bm->neighbors, {
+ pool_foreach (mif2, bm->neighbors, {
{
- if ((sif != sif2) && (sif2->rx_state == LACP_RX_STATE_PORT_DISABLED) &&
- !memcmp (sif2->partner.system,
+ if ((mif != mif2) && (mif2->rx_state == LACP_RX_STATE_PORT_DISABLED) &&
+ !memcmp (mif2->partner.system,
lacpdu->partner.port_info.system, 6) &&
- (sif2->partner.port_number == lacpdu->partner.port_info.port_number))
+ (mif2->partner.port_number == lacpdu->partner.port_info.port_number))
return 1;
}
});
@@ -362,16 +362,16 @@ int
lacp_rx_action_current (void *p1, void *p2)
{
vlib_main_t *vm = p1;
- slave_if_t *sif = p2;
+ member_if_t *mif = p2;
- lacp_update_selected (vm, sif);
- lacp_update_ntt (vm, sif);
- lacp_record_pdu (vm, sif);
- lacp_start_current_while_timer (vm, sif, sif->ttl_in_seconds);
- sif->actor.state &= ~LACP_STATE_EXPIRED;
- if (lacp_port_is_moved (vm, sif))
- lacp_set_port_moved (vm, sif, 1);
- lacp_selection_logic (vm, sif);
+ lacp_update_selected (vm, mif);
+ lacp_update_ntt (vm, mif);
+ lacp_record_pdu (vm, mif);
+ lacp_start_current_while_timer (vm, mif, mif->ttl_in_seconds);
+ mif->actor.state &= ~LACP_STATE_EXPIRED;
+ if (lacp_port_is_moved (vm, mif))
+ lacp_set_port_moved (vm, mif, 1);
+ lacp_selection_logic (vm, mif);
return 0;
}
@@ -397,7 +397,7 @@ format_rx_event (u8 * s, va_list * args)
}
void
-lacp_rx_debug_func (slave_if_t * sif, int event, int state,
+lacp_rx_debug_func (member_if_t * mif, int event, int state,
lacp_fsm_state_t * transition)
{
vlib_worker_thread_t *w = vlib_worker_threads + os_get_thread_index ();
@@ -416,18 +416,18 @@ lacp_rx_debug_func (slave_if_t * sif, int event, int state,
ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, w->elog_track);
ed->event = elog_string (&vlib_global_main.elog_main, "%U-RX: %U, %U->%U%c",
format_vnet_sw_if_index_name, vnet_get_main (),
- sif->sw_if_index, format_rx_event, event,
+ mif->sw_if_index, format_rx_event, event,
format_rx_sm_state, state, format_rx_sm_state,
transition->next_state, 0);
}
void
-lacp_init_rx_machine (vlib_main_t * vm, slave_if_t * sif)
+lacp_init_rx_machine (vlib_main_t * vm, member_if_t * mif)
{
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif, LACP_RX_EVENT_BEGIN,
- &sif->rx_state);
- lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
- LACP_RX_EVENT_LACP_ENABLED, &sif->rx_state);
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif, LACP_RX_EVENT_BEGIN,
+ &mif->rx_state);
+ lacp_machine_dispatch (&lacp_rx_machine, vm, mif,
+ LACP_RX_EVENT_LACP_ENABLED, &mif->rx_state);
}
/*