+lacp_start_periodic_timer (vlib_main_t * vm, member_if_t * mif, u8 expiration)
+{
+ mif->periodic_timer = vlib_time_now (vm) + expiration;
+}
+
+static inline void
+lacp_schedule_periodic_timer (vlib_main_t * vm, member_if_t * mif)
+{
+ // do fast rate if partner is in short timeout or
+ // we are not yet synchronized
+ if ((mif->partner.state & LACP_STATE_LACP_TIMEOUT) ||
+ (((mif->actor.state & (LACP_STATE_SYNCHRONIZATION |
+ LACP_STATE_COLLECTING |
+ LACP_STATE_DISTRIBUTING)) !=
+ (LACP_STATE_SYNCHRONIZATION | LACP_STATE_COLLECTING |
+ LACP_STATE_DISTRIBUTING))
+ && (mif->partner.state & LACP_STATE_AGGREGATION)))
+ lacp_start_periodic_timer (vm, mif, LACP_FAST_PERIODIC_TIMER);
+ else
+ lacp_start_periodic_timer (vm, mif, LACP_SLOW_PERIODIC_TIMER);
+}
+
+static inline void
+lacp_ptx_post_short_timeout_event (vlib_main_t * vm, member_if_t * mif)