}
static void
-send_ethernet_marker_response_pdu (slave_if_t * sif)
+send_ethernet_marker_response_pdu (vlib_main_t * vm, slave_if_t * sif)
{
lacp_main_t *lm = &lacp_main;
u32 *to_next;
u32 bi0;
vlib_buffer_t *b0;
vlib_frame_t *f;
- vlib_main_t *vm = lm->vlib_main;
vnet_main_t *vnm = lm->vnet_main;
/*
f->n_vectors = 1;
vlib_put_frame_to_node (vm, hw->output_node_index, f);
- sif->last_marker_pdu_sent_time = vlib_time_now (lm->vlib_main);
+ sif->last_marker_pdu_sent_time = vlib_time_now (vm);
sif->marker_pdu_sent++;
}
(marker->terminator.tlv_length != 0))
return (LACP_ERROR_BAD_TLV);
- send_ethernet_marker_response_pdu (sif);
+ send_ethernet_marker_response_pdu (vm, sif);
return LACP_ERROR_NONE;
}
lacp_input (vlib_main_t * vm, vlib_buffer_t * b0, u32 bi0)
{
bond_main_t *bm = &bond_main;
- lacp_main_t *lm = &lacp_main;
slave_if_t *sif;
uword nbytes;
lacp_error_t e;
marker = (marker_pdu_t *) (b0->data + b0->current_data);
if (marker->subtype == MARKER_SUBTYPE)
{
- sif->last_marker_pdu_recd_time = vlib_time_now (lm->vlib_main);
+ sif->last_marker_pdu_recd_time = vlib_time_now (vm);
if (sif->last_marker_pkt)
_vec_len (sif->last_marker_pkt) = 0;
vec_validate (sif->last_marker_pkt,
nbytes = vlib_buffer_contents (vm, bi0, sif->last_rx_pkt);
ASSERT (nbytes <= vec_len (sif->last_rx_pkt));
- sif->last_lacpdu_recd_time = vlib_time_now (lm->vlib_main);
+ sif->last_lacpdu_recd_time = vlib_time_now (vm);
if (nbytes < sizeof (lacp_pdu_t))
{
sif->bad_pdu_received++;
(sif->last_packet_signature == last_packet_signature) &&
((sif->actor.state & LACP_STEADY_STATE) == LACP_STEADY_STATE))
{
- lacp_start_current_while_timer (lm->vlib_main, sif,
- sif->ttl_in_seconds);
+ lacp_start_current_while_timer (vm, sif, sif->ttl_in_seconds);
e = LACP_ERROR_CACHE_HIT;
}
else
* send a lacp pkt on an ethernet interface
*/
static void
-lacp_send_ethernet_lacp_pdu (slave_if_t * sif)
+lacp_send_ethernet_lacp_pdu (vlib_main_t * vm, slave_if_t * sif)
{
lacp_main_t *lm = &lacp_main;
u32 *to_next;
u32 bi0;
vlib_buffer_t *b0;
vlib_frame_t *f;
- vlib_main_t *vm = lm->vlib_main;
vnet_main_t *vnm = lm->vnet_main;
/*
vlib_put_frame_to_node (vm, hw->output_node_index, f);
- sif->last_lacpdu_sent_time = vlib_time_now (lm->vlib_main);
+ sif->last_lacpdu_sent_time = vlib_time_now (vm);
sif->pdu_sent++;
}
switch (sif->packet_template_index)
{
case LACP_PACKET_TEMPLATE_ETHERNET:
- lacp_send_ethernet_lacp_pdu (sif);
+ lacp_send_ethernet_lacp_pdu (vm, sif);
break;
default:
lacp_periodic (vlib_main_t * vm)
{
bond_main_t *bm = &bond_main;
- lacp_main_t *lm = &lacp_main;
slave_if_t *sif;
bond_if_t *bif;
u8 actor_state, partner_state;
actor_state = sif->actor.state;
partner_state = sif->partner.state;
if (lacp_timer_is_running (sif->current_while_timer) &&
- lacp_timer_is_expired (lm->vlib_main, sif->current_while_timer))
+ lacp_timer_is_expired (vm, sif->current_while_timer))
{
lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
LACP_RX_EVENT_TIMER_EXPIRED, &sif->rx_state);
}
if (lacp_timer_is_running (sif->periodic_timer) &&
- lacp_timer_is_expired (lm->vlib_main, sif->periodic_timer))
+ lacp_timer_is_expired (vm, sif->periodic_timer))
{
lacp_machine_dispatch (&lacp_ptx_machine, vm, sif,
LACP_PTX_EVENT_TIMER_EXPIRED, &sif->ptx_state);
}
if (lacp_timer_is_running (sif->wait_while_timer) &&
- lacp_timer_is_expired (lm->vlib_main, sif->wait_while_timer))
+ lacp_timer_is_expired (vm, sif->wait_while_timer))
{
sif->ready_n = 1;
lacp_stop_timer (&sif->wait_while_timer);
{
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
- lacp_main_t *lm = &lacp_main;
lacp_detach_mux_from_aggregator (vm, sif);
sif->actor.state &= ~LACP_STATE_COLLECTING;
bond_disable_collecting_distributing (vm, sif);
sif->actor.state &= ~LACP_STATE_DISTRIBUTING;
sif->ntt = 1;
- lacp_start_periodic_timer (lm->vlib_main, sif, 0);
+ lacp_start_periodic_timer (vm, sif, 0);
if (sif->selected == LACP_PORT_SELECTED)
lacp_machine_dispatch (&lacp_mux_machine, vm, sif,
{
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
- lacp_main_t *lm = &lacp_main;
lacp_attach_mux_to_aggregator (vm, sif);
sif->actor.state &= ~LACP_STATE_COLLECTING;
bond_disable_collecting_distributing (vm, sif);
sif->actor.state &= ~LACP_STATE_DISTRIBUTING;
sif->ntt = 1;
- lacp_start_periodic_timer (lm->vlib_main, sif, 0);
+ lacp_start_periodic_timer (vm, sif, 0);
if ((sif->selected == LACP_PORT_UNSELECTED) ||
(sif->selected == LACP_PORT_STANDBY))
{
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
- lacp_main_t *lm = &lacp_main;
if (!lacp_timer_is_running (sif->wait_while_timer))
- lacp_start_wait_while_timer (lm->vlib_main, sif,
- LACP_AGGREGATE_WAIT_TIME);
+ lacp_start_wait_while_timer (vm, sif, LACP_AGGREGATE_WAIT_TIME);
if ((sif->selected == LACP_PORT_SELECTED) && sif->ready)
lacp_machine_dispatch (&lacp_mux_machine, vm, sif,
{
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
- lacp_main_t *lm = &lacp_main;
sif->actor.state |= LACP_STATE_SYNCHRONIZATION | LACP_STATE_COLLECTING |
LACP_STATE_DISTRIBUTING;
bond_enable_collecting_distributing (vm, sif);
sif->ntt = 1;
- lacp_start_periodic_timer (lm->vlib_main, sif, 0);
+ lacp_start_periodic_timer (vm, sif, 0);
if ((sif->selected == LACP_PORT_UNSELECTED) ||
(sif->selected == LACP_PORT_STANDBY) ||
!(sif->partner.state & LACP_STATE_SYNCHRONIZATION))
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
u8 timer_expired;
- lacp_main_t *lm = &lacp_main;
if (!(sif->partner.state & LACP_STATE_LACP_ACTIVITY) &&
!(sif->actor.state & LACP_STATE_LACP_ACTIVITY))
else
{
if (lacp_timer_is_running (sif->periodic_timer) &&
- lacp_timer_is_expired (lm->vlib_main, sif->periodic_timer))
+ lacp_timer_is_expired (vm, sif->periodic_timer))
timer_expired = 1;
else
timer_expired = 0;
- lacp_schedule_periodic_timer (lm->vlib_main, sif);
+ lacp_schedule_periodic_timer (vm, sif);
if (timer_expired || (sif->partner.state & LACP_STATE_LACP_TIMEOUT))
lacp_machine_dispatch (&lacp_ptx_machine, vm, sif,
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
u8 timer_expired;
- lacp_main_t *lm = &lacp_main;
if (!(sif->partner.state & LACP_STATE_LACP_ACTIVITY) &&
!(sif->actor.state & LACP_STATE_LACP_ACTIVITY))
else
{
if (lacp_timer_is_running (sif->periodic_timer) &&
- lacp_timer_is_expired (lm->vlib_main, sif->periodic_timer))
+ lacp_timer_is_expired (vm, sif->periodic_timer))
timer_expired = 1;
else
timer_expired = 0;
- lacp_start_periodic_timer (lm->vlib_main, sif,
- LACP_FAST_PERIODIC_TIMER);
+ lacp_start_periodic_timer (vm, sif, LACP_FAST_PERIODIC_TIMER);
if (timer_expired)
lacp_machine_dispatch (&lacp_ptx_machine, vm, sif,
lacp_pdu_t *lacpdu = (lacp_pdu_t *) sif->last_rx_pkt;
u8 states = LACP_STATE_LACP_ACTIVITY | LACP_STATE_LACP_TIMEOUT |
LACP_STATE_SYNCHRONIZATION | LACP_STATE_AGGREGATION;
- lacp_main_t *lm = &lacp_main;
if ((states & lacpdu->partner.port_info.state) !=
(states & sif->actor.state)
sizeof (sif->actor) - sizeof (sif->actor.state)))
{
sif->ntt = 1;
- lacp_start_periodic_timer (lm->vlib_main, sif, 0);
+ lacp_start_periodic_timer (vm, sif, 0);
}
}
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
u8 timer_expired;
- lacp_main_t *lm = &lacp_main;
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 (lm->vlib_main, sif->current_while_timer))
+ lacp_timer_is_expired (vm, sif->current_while_timer))
timer_expired = 1;
else
timer_expired = 0;
- lacp_start_current_while_timer (lm->vlib_main, sif, sif->ttl_in_seconds);
+ lacp_start_current_while_timer (vm, sif, sif->ttl_in_seconds);
sif->actor.state |= LACP_STATE_EXPIRED;
if (timer_expired)
lacp_machine_dispatch (&lacp_rx_machine, vm, sif,
{
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
- lacp_main_t *lm = &lacp_main;
lacp_update_selected (vm, sif);
lacp_update_ntt (vm, sif);
lacp_record_pdu (vm, sif);
- lacp_start_current_while_timer (lm->vlib_main, sif, sif->ttl_in_seconds);
+ 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);
{
vlib_main_t *vm = p1;
slave_if_t *sif = p2;
- lacp_main_t *lm = &lacp_main;
- f64 now = vlib_time_now (lm->vlib_main);
+ f64 now = vlib_time_now (vm);
if (!lacp_timer_is_running (sif->periodic_timer))
return 0;
if (sif->ntt)
{
lacp_send_lacp_pdu (vm, sif);
- lacp_schedule_periodic_timer (lm->vlib_main, sif);
+ lacp_schedule_periodic_timer (vm, sif);
}
sif->ntt = 0;