A bug introduced in the switch to bit mask LACP status caused the
attached status of interfaces in a LACP bond to slowly flap.
return;
}
- iface->lacp_status = LACP_CURRENT;
+ iface->lacp_status |= LACP_CURRENT;
+ iface->lacp_status &= ~LACP_EXPIRED;
iface->lacp_rx = time_msec() + LACP_SLOW_TIME_RX;
iface->lacp_actor.state = iface_get_lacp_state(iface);
{
memset(&iface->lacp_partner, 0, sizeof iface->lacp_partner);
- iface->lacp_status = LACP_DEFAULTED;
+ iface->lacp_status |= LACP_DEFAULTED;
+ iface->lacp_status &= ~(LACP_CURRENT | LACP_EXPIRED);
iface->lacp_tx = 0;
iface->port->lacp_need_update = true;
}