bonding: rename AD_STATE_* to LACP_STATE_*
As the LACP actor/partner state is now part of the uapi, rename the
3ad state defines with LACP prefix. The LACP prefix is preferred over
BOND_3AD as the LACP standard moved to 802.1AX.
Fixes: 826f66b30c
("bonding: move 802.3ad port state flags to uapi")
Signed-off-by: Andy Roulin <aroulin@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
f643ee295c
commit
c1e4699026
@@ -447,8 +447,8 @@ static void __choose_matched(struct lacpdu *lacpdu, struct port *port)
|
|||||||
MAC_ADDRESS_EQUAL(&(lacpdu->partner_system), &(port->actor_system)) &&
|
MAC_ADDRESS_EQUAL(&(lacpdu->partner_system), &(port->actor_system)) &&
|
||||||
(ntohs(lacpdu->partner_system_priority) == port->actor_system_priority) &&
|
(ntohs(lacpdu->partner_system_priority) == port->actor_system_priority) &&
|
||||||
(ntohs(lacpdu->partner_key) == port->actor_oper_port_key) &&
|
(ntohs(lacpdu->partner_key) == port->actor_oper_port_key) &&
|
||||||
((lacpdu->partner_state & AD_STATE_AGGREGATION) == (port->actor_oper_port_state & AD_STATE_AGGREGATION))) ||
|
((lacpdu->partner_state & LACP_STATE_AGGREGATION) == (port->actor_oper_port_state & LACP_STATE_AGGREGATION))) ||
|
||||||
((lacpdu->actor_state & AD_STATE_AGGREGATION) == 0)
|
((lacpdu->actor_state & LACP_STATE_AGGREGATION) == 0)
|
||||||
) {
|
) {
|
||||||
port->sm_vars |= AD_PORT_MATCHED;
|
port->sm_vars |= AD_PORT_MATCHED;
|
||||||
} else {
|
} else {
|
||||||
@@ -482,18 +482,18 @@ static void __record_pdu(struct lacpdu *lacpdu, struct port *port)
|
|||||||
partner->port_state = lacpdu->actor_state;
|
partner->port_state = lacpdu->actor_state;
|
||||||
|
|
||||||
/* set actor_oper_port_state.defaulted to FALSE */
|
/* set actor_oper_port_state.defaulted to FALSE */
|
||||||
port->actor_oper_port_state &= ~AD_STATE_DEFAULTED;
|
port->actor_oper_port_state &= ~LACP_STATE_DEFAULTED;
|
||||||
|
|
||||||
/* set the partner sync. to on if the partner is sync,
|
/* set the partner sync. to on if the partner is sync,
|
||||||
* and the port is matched
|
* and the port is matched
|
||||||
*/
|
*/
|
||||||
if ((port->sm_vars & AD_PORT_MATCHED) &&
|
if ((port->sm_vars & AD_PORT_MATCHED) &&
|
||||||
(lacpdu->actor_state & AD_STATE_SYNCHRONIZATION)) {
|
(lacpdu->actor_state & LACP_STATE_SYNCHRONIZATION)) {
|
||||||
partner->port_state |= AD_STATE_SYNCHRONIZATION;
|
partner->port_state |= LACP_STATE_SYNCHRONIZATION;
|
||||||
slave_dbg(port->slave->bond->dev, port->slave->dev,
|
slave_dbg(port->slave->bond->dev, port->slave->dev,
|
||||||
"partner sync=1\n");
|
"partner sync=1\n");
|
||||||
} else {
|
} else {
|
||||||
partner->port_state &= ~AD_STATE_SYNCHRONIZATION;
|
partner->port_state &= ~LACP_STATE_SYNCHRONIZATION;
|
||||||
slave_dbg(port->slave->bond->dev, port->slave->dev,
|
slave_dbg(port->slave->bond->dev, port->slave->dev,
|
||||||
"partner sync=0\n");
|
"partner sync=0\n");
|
||||||
}
|
}
|
||||||
@@ -516,7 +516,7 @@ static void __record_default(struct port *port)
|
|||||||
sizeof(struct port_params));
|
sizeof(struct port_params));
|
||||||
|
|
||||||
/* set actor_oper_port_state.defaulted to true */
|
/* set actor_oper_port_state.defaulted to true */
|
||||||
port->actor_oper_port_state |= AD_STATE_DEFAULTED;
|
port->actor_oper_port_state |= LACP_STATE_DEFAULTED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -546,7 +546,7 @@ static void __update_selected(struct lacpdu *lacpdu, struct port *port)
|
|||||||
!MAC_ADDRESS_EQUAL(&lacpdu->actor_system, &partner->system) ||
|
!MAC_ADDRESS_EQUAL(&lacpdu->actor_system, &partner->system) ||
|
||||||
ntohs(lacpdu->actor_system_priority) != partner->system_priority ||
|
ntohs(lacpdu->actor_system_priority) != partner->system_priority ||
|
||||||
ntohs(lacpdu->actor_key) != partner->key ||
|
ntohs(lacpdu->actor_key) != partner->key ||
|
||||||
(lacpdu->actor_state & AD_STATE_AGGREGATION) != (partner->port_state & AD_STATE_AGGREGATION)) {
|
(lacpdu->actor_state & LACP_STATE_AGGREGATION) != (partner->port_state & LACP_STATE_AGGREGATION)) {
|
||||||
port->sm_vars &= ~AD_PORT_SELECTED;
|
port->sm_vars &= ~AD_PORT_SELECTED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -578,8 +578,8 @@ static void __update_default_selected(struct port *port)
|
|||||||
!MAC_ADDRESS_EQUAL(&admin->system, &oper->system) ||
|
!MAC_ADDRESS_EQUAL(&admin->system, &oper->system) ||
|
||||||
admin->system_priority != oper->system_priority ||
|
admin->system_priority != oper->system_priority ||
|
||||||
admin->key != oper->key ||
|
admin->key != oper->key ||
|
||||||
(admin->port_state & AD_STATE_AGGREGATION)
|
(admin->port_state & LACP_STATE_AGGREGATION)
|
||||||
!= (oper->port_state & AD_STATE_AGGREGATION)) {
|
!= (oper->port_state & LACP_STATE_AGGREGATION)) {
|
||||||
port->sm_vars &= ~AD_PORT_SELECTED;
|
port->sm_vars &= ~AD_PORT_SELECTED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -609,10 +609,10 @@ static void __update_ntt(struct lacpdu *lacpdu, struct port *port)
|
|||||||
!MAC_ADDRESS_EQUAL(&(lacpdu->partner_system), &(port->actor_system)) ||
|
!MAC_ADDRESS_EQUAL(&(lacpdu->partner_system), &(port->actor_system)) ||
|
||||||
(ntohs(lacpdu->partner_system_priority) != port->actor_system_priority) ||
|
(ntohs(lacpdu->partner_system_priority) != port->actor_system_priority) ||
|
||||||
(ntohs(lacpdu->partner_key) != port->actor_oper_port_key) ||
|
(ntohs(lacpdu->partner_key) != port->actor_oper_port_key) ||
|
||||||
((lacpdu->partner_state & AD_STATE_LACP_ACTIVITY) != (port->actor_oper_port_state & AD_STATE_LACP_ACTIVITY)) ||
|
((lacpdu->partner_state & LACP_STATE_LACP_ACTIVITY) != (port->actor_oper_port_state & LACP_STATE_LACP_ACTIVITY)) ||
|
||||||
((lacpdu->partner_state & AD_STATE_LACP_TIMEOUT) != (port->actor_oper_port_state & AD_STATE_LACP_TIMEOUT)) ||
|
((lacpdu->partner_state & LACP_STATE_LACP_TIMEOUT) != (port->actor_oper_port_state & LACP_STATE_LACP_TIMEOUT)) ||
|
||||||
((lacpdu->partner_state & AD_STATE_SYNCHRONIZATION) != (port->actor_oper_port_state & AD_STATE_SYNCHRONIZATION)) ||
|
((lacpdu->partner_state & LACP_STATE_SYNCHRONIZATION) != (port->actor_oper_port_state & LACP_STATE_SYNCHRONIZATION)) ||
|
||||||
((lacpdu->partner_state & AD_STATE_AGGREGATION) != (port->actor_oper_port_state & AD_STATE_AGGREGATION))
|
((lacpdu->partner_state & LACP_STATE_AGGREGATION) != (port->actor_oper_port_state & LACP_STATE_AGGREGATION))
|
||||||
) {
|
) {
|
||||||
port->ntt = true;
|
port->ntt = true;
|
||||||
}
|
}
|
||||||
@@ -968,7 +968,7 @@ static void ad_mux_machine(struct port *port, bool *update_slave_arr)
|
|||||||
* edable port will take place only after this timer)
|
* edable port will take place only after this timer)
|
||||||
*/
|
*/
|
||||||
if ((port->sm_vars & AD_PORT_SELECTED) &&
|
if ((port->sm_vars & AD_PORT_SELECTED) &&
|
||||||
(port->partner_oper.port_state & AD_STATE_SYNCHRONIZATION) &&
|
(port->partner_oper.port_state & LACP_STATE_SYNCHRONIZATION) &&
|
||||||
!__check_agg_selection_timer(port)) {
|
!__check_agg_selection_timer(port)) {
|
||||||
if (port->aggregator->is_active)
|
if (port->aggregator->is_active)
|
||||||
port->sm_mux_state =
|
port->sm_mux_state =
|
||||||
@@ -986,14 +986,14 @@ static void ad_mux_machine(struct port *port, bool *update_slave_arr)
|
|||||||
port->sm_mux_state = AD_MUX_DETACHED;
|
port->sm_mux_state = AD_MUX_DETACHED;
|
||||||
} else if (port->aggregator->is_active) {
|
} else if (port->aggregator->is_active) {
|
||||||
port->actor_oper_port_state |=
|
port->actor_oper_port_state |=
|
||||||
AD_STATE_SYNCHRONIZATION;
|
LACP_STATE_SYNCHRONIZATION;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case AD_MUX_COLLECTING_DISTRIBUTING:
|
case AD_MUX_COLLECTING_DISTRIBUTING:
|
||||||
if (!(port->sm_vars & AD_PORT_SELECTED) ||
|
if (!(port->sm_vars & AD_PORT_SELECTED) ||
|
||||||
(port->sm_vars & AD_PORT_STANDBY) ||
|
(port->sm_vars & AD_PORT_STANDBY) ||
|
||||||
!(port->partner_oper.port_state & AD_STATE_SYNCHRONIZATION) ||
|
!(port->partner_oper.port_state & LACP_STATE_SYNCHRONIZATION) ||
|
||||||
!(port->actor_oper_port_state & AD_STATE_SYNCHRONIZATION)) {
|
!(port->actor_oper_port_state & LACP_STATE_SYNCHRONIZATION)) {
|
||||||
port->sm_mux_state = AD_MUX_ATTACHED;
|
port->sm_mux_state = AD_MUX_ATTACHED;
|
||||||
} else {
|
} else {
|
||||||
/* if port state hasn't changed make
|
/* if port state hasn't changed make
|
||||||
@@ -1022,11 +1022,11 @@ static void ad_mux_machine(struct port *port, bool *update_slave_arr)
|
|||||||
port->sm_mux_state);
|
port->sm_mux_state);
|
||||||
switch (port->sm_mux_state) {
|
switch (port->sm_mux_state) {
|
||||||
case AD_MUX_DETACHED:
|
case AD_MUX_DETACHED:
|
||||||
port->actor_oper_port_state &= ~AD_STATE_SYNCHRONIZATION;
|
port->actor_oper_port_state &= ~LACP_STATE_SYNCHRONIZATION;
|
||||||
ad_disable_collecting_distributing(port,
|
ad_disable_collecting_distributing(port,
|
||||||
update_slave_arr);
|
update_slave_arr);
|
||||||
port->actor_oper_port_state &= ~AD_STATE_COLLECTING;
|
port->actor_oper_port_state &= ~LACP_STATE_COLLECTING;
|
||||||
port->actor_oper_port_state &= ~AD_STATE_DISTRIBUTING;
|
port->actor_oper_port_state &= ~LACP_STATE_DISTRIBUTING;
|
||||||
port->ntt = true;
|
port->ntt = true;
|
||||||
break;
|
break;
|
||||||
case AD_MUX_WAITING:
|
case AD_MUX_WAITING:
|
||||||
@@ -1035,20 +1035,20 @@ static void ad_mux_machine(struct port *port, bool *update_slave_arr)
|
|||||||
case AD_MUX_ATTACHED:
|
case AD_MUX_ATTACHED:
|
||||||
if (port->aggregator->is_active)
|
if (port->aggregator->is_active)
|
||||||
port->actor_oper_port_state |=
|
port->actor_oper_port_state |=
|
||||||
AD_STATE_SYNCHRONIZATION;
|
LACP_STATE_SYNCHRONIZATION;
|
||||||
else
|
else
|
||||||
port->actor_oper_port_state &=
|
port->actor_oper_port_state &=
|
||||||
~AD_STATE_SYNCHRONIZATION;
|
~LACP_STATE_SYNCHRONIZATION;
|
||||||
port->actor_oper_port_state &= ~AD_STATE_COLLECTING;
|
port->actor_oper_port_state &= ~LACP_STATE_COLLECTING;
|
||||||
port->actor_oper_port_state &= ~AD_STATE_DISTRIBUTING;
|
port->actor_oper_port_state &= ~LACP_STATE_DISTRIBUTING;
|
||||||
ad_disable_collecting_distributing(port,
|
ad_disable_collecting_distributing(port,
|
||||||
update_slave_arr);
|
update_slave_arr);
|
||||||
port->ntt = true;
|
port->ntt = true;
|
||||||
break;
|
break;
|
||||||
case AD_MUX_COLLECTING_DISTRIBUTING:
|
case AD_MUX_COLLECTING_DISTRIBUTING:
|
||||||
port->actor_oper_port_state |= AD_STATE_COLLECTING;
|
port->actor_oper_port_state |= LACP_STATE_COLLECTING;
|
||||||
port->actor_oper_port_state |= AD_STATE_DISTRIBUTING;
|
port->actor_oper_port_state |= LACP_STATE_DISTRIBUTING;
|
||||||
port->actor_oper_port_state |= AD_STATE_SYNCHRONIZATION;
|
port->actor_oper_port_state |= LACP_STATE_SYNCHRONIZATION;
|
||||||
ad_enable_collecting_distributing(port,
|
ad_enable_collecting_distributing(port,
|
||||||
update_slave_arr);
|
update_slave_arr);
|
||||||
port->ntt = true;
|
port->ntt = true;
|
||||||
@@ -1146,7 +1146,7 @@ static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port)
|
|||||||
port->sm_vars |= AD_PORT_LACP_ENABLED;
|
port->sm_vars |= AD_PORT_LACP_ENABLED;
|
||||||
port->sm_vars &= ~AD_PORT_SELECTED;
|
port->sm_vars &= ~AD_PORT_SELECTED;
|
||||||
__record_default(port);
|
__record_default(port);
|
||||||
port->actor_oper_port_state &= ~AD_STATE_EXPIRED;
|
port->actor_oper_port_state &= ~LACP_STATE_EXPIRED;
|
||||||
port->sm_rx_state = AD_RX_PORT_DISABLED;
|
port->sm_rx_state = AD_RX_PORT_DISABLED;
|
||||||
|
|
||||||
/* Fall Through */
|
/* Fall Through */
|
||||||
@@ -1156,9 +1156,9 @@ static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port)
|
|||||||
case AD_RX_LACP_DISABLED:
|
case AD_RX_LACP_DISABLED:
|
||||||
port->sm_vars &= ~AD_PORT_SELECTED;
|
port->sm_vars &= ~AD_PORT_SELECTED;
|
||||||
__record_default(port);
|
__record_default(port);
|
||||||
port->partner_oper.port_state &= ~AD_STATE_AGGREGATION;
|
port->partner_oper.port_state &= ~LACP_STATE_AGGREGATION;
|
||||||
port->sm_vars |= AD_PORT_MATCHED;
|
port->sm_vars |= AD_PORT_MATCHED;
|
||||||
port->actor_oper_port_state &= ~AD_STATE_EXPIRED;
|
port->actor_oper_port_state &= ~LACP_STATE_EXPIRED;
|
||||||
break;
|
break;
|
||||||
case AD_RX_EXPIRED:
|
case AD_RX_EXPIRED:
|
||||||
/* Reset of the Synchronization flag (Standard 43.4.12)
|
/* Reset of the Synchronization flag (Standard 43.4.12)
|
||||||
@@ -1167,19 +1167,19 @@ static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port)
|
|||||||
* case of EXPIRED even if LINK_DOWN didn't arrive for
|
* case of EXPIRED even if LINK_DOWN didn't arrive for
|
||||||
* the port.
|
* the port.
|
||||||
*/
|
*/
|
||||||
port->partner_oper.port_state &= ~AD_STATE_SYNCHRONIZATION;
|
port->partner_oper.port_state &= ~LACP_STATE_SYNCHRONIZATION;
|
||||||
port->sm_vars &= ~AD_PORT_MATCHED;
|
port->sm_vars &= ~AD_PORT_MATCHED;
|
||||||
port->partner_oper.port_state |= AD_STATE_LACP_TIMEOUT;
|
port->partner_oper.port_state |= LACP_STATE_LACP_TIMEOUT;
|
||||||
port->partner_oper.port_state |= AD_STATE_LACP_ACTIVITY;
|
port->partner_oper.port_state |= LACP_STATE_LACP_ACTIVITY;
|
||||||
port->sm_rx_timer_counter = __ad_timer_to_ticks(AD_CURRENT_WHILE_TIMER, (u16)(AD_SHORT_TIMEOUT));
|
port->sm_rx_timer_counter = __ad_timer_to_ticks(AD_CURRENT_WHILE_TIMER, (u16)(AD_SHORT_TIMEOUT));
|
||||||
port->actor_oper_port_state |= AD_STATE_EXPIRED;
|
port->actor_oper_port_state |= LACP_STATE_EXPIRED;
|
||||||
port->sm_vars |= AD_PORT_CHURNED;
|
port->sm_vars |= AD_PORT_CHURNED;
|
||||||
break;
|
break;
|
||||||
case AD_RX_DEFAULTED:
|
case AD_RX_DEFAULTED:
|
||||||
__update_default_selected(port);
|
__update_default_selected(port);
|
||||||
__record_default(port);
|
__record_default(port);
|
||||||
port->sm_vars |= AD_PORT_MATCHED;
|
port->sm_vars |= AD_PORT_MATCHED;
|
||||||
port->actor_oper_port_state &= ~AD_STATE_EXPIRED;
|
port->actor_oper_port_state &= ~LACP_STATE_EXPIRED;
|
||||||
break;
|
break;
|
||||||
case AD_RX_CURRENT:
|
case AD_RX_CURRENT:
|
||||||
/* detect loopback situation */
|
/* detect loopback situation */
|
||||||
@@ -1192,8 +1192,8 @@ static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port)
|
|||||||
__update_selected(lacpdu, port);
|
__update_selected(lacpdu, port);
|
||||||
__update_ntt(lacpdu, port);
|
__update_ntt(lacpdu, port);
|
||||||
__record_pdu(lacpdu, port);
|
__record_pdu(lacpdu, port);
|
||||||
port->sm_rx_timer_counter = __ad_timer_to_ticks(AD_CURRENT_WHILE_TIMER, (u16)(port->actor_oper_port_state & AD_STATE_LACP_TIMEOUT));
|
port->sm_rx_timer_counter = __ad_timer_to_ticks(AD_CURRENT_WHILE_TIMER, (u16)(port->actor_oper_port_state & LACP_STATE_LACP_TIMEOUT));
|
||||||
port->actor_oper_port_state &= ~AD_STATE_EXPIRED;
|
port->actor_oper_port_state &= ~LACP_STATE_EXPIRED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -1221,7 +1221,7 @@ static void ad_churn_machine(struct port *port)
|
|||||||
if (port->sm_churn_actor_timer_counter &&
|
if (port->sm_churn_actor_timer_counter &&
|
||||||
!(--port->sm_churn_actor_timer_counter) &&
|
!(--port->sm_churn_actor_timer_counter) &&
|
||||||
port->sm_churn_actor_state == AD_CHURN_MONITOR) {
|
port->sm_churn_actor_state == AD_CHURN_MONITOR) {
|
||||||
if (port->actor_oper_port_state & AD_STATE_SYNCHRONIZATION) {
|
if (port->actor_oper_port_state & LACP_STATE_SYNCHRONIZATION) {
|
||||||
port->sm_churn_actor_state = AD_NO_CHURN;
|
port->sm_churn_actor_state = AD_NO_CHURN;
|
||||||
} else {
|
} else {
|
||||||
port->churn_actor_count++;
|
port->churn_actor_count++;
|
||||||
@@ -1231,7 +1231,7 @@ static void ad_churn_machine(struct port *port)
|
|||||||
if (port->sm_churn_partner_timer_counter &&
|
if (port->sm_churn_partner_timer_counter &&
|
||||||
!(--port->sm_churn_partner_timer_counter) &&
|
!(--port->sm_churn_partner_timer_counter) &&
|
||||||
port->sm_churn_partner_state == AD_CHURN_MONITOR) {
|
port->sm_churn_partner_state == AD_CHURN_MONITOR) {
|
||||||
if (port->partner_oper.port_state & AD_STATE_SYNCHRONIZATION) {
|
if (port->partner_oper.port_state & LACP_STATE_SYNCHRONIZATION) {
|
||||||
port->sm_churn_partner_state = AD_NO_CHURN;
|
port->sm_churn_partner_state = AD_NO_CHURN;
|
||||||
} else {
|
} else {
|
||||||
port->churn_partner_count++;
|
port->churn_partner_count++;
|
||||||
@@ -1288,7 +1288,7 @@ static void ad_periodic_machine(struct port *port)
|
|||||||
|
|
||||||
/* check if port was reinitialized */
|
/* check if port was reinitialized */
|
||||||
if (((port->sm_vars & AD_PORT_BEGIN) || !(port->sm_vars & AD_PORT_LACP_ENABLED) || !port->is_enabled) ||
|
if (((port->sm_vars & AD_PORT_BEGIN) || !(port->sm_vars & AD_PORT_LACP_ENABLED) || !port->is_enabled) ||
|
||||||
(!(port->actor_oper_port_state & AD_STATE_LACP_ACTIVITY) && !(port->partner_oper.port_state & AD_STATE_LACP_ACTIVITY))
|
(!(port->actor_oper_port_state & LACP_STATE_LACP_ACTIVITY) && !(port->partner_oper.port_state & LACP_STATE_LACP_ACTIVITY))
|
||||||
) {
|
) {
|
||||||
port->sm_periodic_state = AD_NO_PERIODIC;
|
port->sm_periodic_state = AD_NO_PERIODIC;
|
||||||
}
|
}
|
||||||
@@ -1305,11 +1305,11 @@ static void ad_periodic_machine(struct port *port)
|
|||||||
switch (port->sm_periodic_state) {
|
switch (port->sm_periodic_state) {
|
||||||
case AD_FAST_PERIODIC:
|
case AD_FAST_PERIODIC:
|
||||||
if (!(port->partner_oper.port_state
|
if (!(port->partner_oper.port_state
|
||||||
& AD_STATE_LACP_TIMEOUT))
|
& LACP_STATE_LACP_TIMEOUT))
|
||||||
port->sm_periodic_state = AD_SLOW_PERIODIC;
|
port->sm_periodic_state = AD_SLOW_PERIODIC;
|
||||||
break;
|
break;
|
||||||
case AD_SLOW_PERIODIC:
|
case AD_SLOW_PERIODIC:
|
||||||
if ((port->partner_oper.port_state & AD_STATE_LACP_TIMEOUT)) {
|
if ((port->partner_oper.port_state & LACP_STATE_LACP_TIMEOUT)) {
|
||||||
port->sm_periodic_timer_counter = 0;
|
port->sm_periodic_timer_counter = 0;
|
||||||
port->sm_periodic_state = AD_PERIODIC_TX;
|
port->sm_periodic_state = AD_PERIODIC_TX;
|
||||||
}
|
}
|
||||||
@@ -1325,7 +1325,7 @@ static void ad_periodic_machine(struct port *port)
|
|||||||
break;
|
break;
|
||||||
case AD_PERIODIC_TX:
|
case AD_PERIODIC_TX:
|
||||||
if (!(port->partner_oper.port_state &
|
if (!(port->partner_oper.port_state &
|
||||||
AD_STATE_LACP_TIMEOUT))
|
LACP_STATE_LACP_TIMEOUT))
|
||||||
port->sm_periodic_state = AD_SLOW_PERIODIC;
|
port->sm_periodic_state = AD_SLOW_PERIODIC;
|
||||||
else
|
else
|
||||||
port->sm_periodic_state = AD_FAST_PERIODIC;
|
port->sm_periodic_state = AD_FAST_PERIODIC;
|
||||||
@@ -1532,7 +1532,7 @@ static void ad_port_selection_logic(struct port *port, bool *update_slave_arr)
|
|||||||
ad_agg_selection_logic(aggregator, update_slave_arr);
|
ad_agg_selection_logic(aggregator, update_slave_arr);
|
||||||
|
|
||||||
if (!port->aggregator->is_active)
|
if (!port->aggregator->is_active)
|
||||||
port->actor_oper_port_state &= ~AD_STATE_SYNCHRONIZATION;
|
port->actor_oper_port_state &= ~LACP_STATE_SYNCHRONIZATION;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Decide if "agg" is a better choice for the new active aggregator that
|
/* Decide if "agg" is a better choice for the new active aggregator that
|
||||||
@@ -1838,13 +1838,13 @@ static void ad_initialize_port(struct port *port, int lacp_fast)
|
|||||||
port->actor_port_priority = 0xff;
|
port->actor_port_priority = 0xff;
|
||||||
port->actor_port_aggregator_identifier = 0;
|
port->actor_port_aggregator_identifier = 0;
|
||||||
port->ntt = false;
|
port->ntt = false;
|
||||||
port->actor_admin_port_state = AD_STATE_AGGREGATION |
|
port->actor_admin_port_state = LACP_STATE_AGGREGATION |
|
||||||
AD_STATE_LACP_ACTIVITY;
|
LACP_STATE_LACP_ACTIVITY;
|
||||||
port->actor_oper_port_state = AD_STATE_AGGREGATION |
|
port->actor_oper_port_state = LACP_STATE_AGGREGATION |
|
||||||
AD_STATE_LACP_ACTIVITY;
|
LACP_STATE_LACP_ACTIVITY;
|
||||||
|
|
||||||
if (lacp_fast)
|
if (lacp_fast)
|
||||||
port->actor_oper_port_state |= AD_STATE_LACP_TIMEOUT;
|
port->actor_oper_port_state |= LACP_STATE_LACP_TIMEOUT;
|
||||||
|
|
||||||
memcpy(&port->partner_admin, &tmpl, sizeof(tmpl));
|
memcpy(&port->partner_admin, &tmpl, sizeof(tmpl));
|
||||||
memcpy(&port->partner_oper, &tmpl, sizeof(tmpl));
|
memcpy(&port->partner_oper, &tmpl, sizeof(tmpl));
|
||||||
@@ -2095,10 +2095,10 @@ void bond_3ad_unbind_slave(struct slave *slave)
|
|||||||
aggregator->aggregator_identifier);
|
aggregator->aggregator_identifier);
|
||||||
|
|
||||||
/* Tell the partner that this port is not suitable for aggregation */
|
/* Tell the partner that this port is not suitable for aggregation */
|
||||||
port->actor_oper_port_state &= ~AD_STATE_SYNCHRONIZATION;
|
port->actor_oper_port_state &= ~LACP_STATE_SYNCHRONIZATION;
|
||||||
port->actor_oper_port_state &= ~AD_STATE_COLLECTING;
|
port->actor_oper_port_state &= ~LACP_STATE_COLLECTING;
|
||||||
port->actor_oper_port_state &= ~AD_STATE_DISTRIBUTING;
|
port->actor_oper_port_state &= ~LACP_STATE_DISTRIBUTING;
|
||||||
port->actor_oper_port_state &= ~AD_STATE_AGGREGATION;
|
port->actor_oper_port_state &= ~LACP_STATE_AGGREGATION;
|
||||||
__update_lacpdu_from_port(port);
|
__update_lacpdu_from_port(port);
|
||||||
ad_lacpdu_send(port);
|
ad_lacpdu_send(port);
|
||||||
|
|
||||||
@@ -2685,9 +2685,9 @@ void bond_3ad_update_lacp_rate(struct bonding *bond)
|
|||||||
bond_for_each_slave(bond, slave, iter) {
|
bond_for_each_slave(bond, slave, iter) {
|
||||||
port = &(SLAVE_AD_INFO(slave)->port);
|
port = &(SLAVE_AD_INFO(slave)->port);
|
||||||
if (lacp_fast)
|
if (lacp_fast)
|
||||||
port->actor_oper_port_state |= AD_STATE_LACP_TIMEOUT;
|
port->actor_oper_port_state |= LACP_STATE_LACP_TIMEOUT;
|
||||||
else
|
else
|
||||||
port->actor_oper_port_state &= ~AD_STATE_LACP_TIMEOUT;
|
port->actor_oper_port_state &= ~LACP_STATE_LACP_TIMEOUT;
|
||||||
}
|
}
|
||||||
spin_unlock_bh(&bond->mode_lock);
|
spin_unlock_bh(&bond->mode_lock);
|
||||||
}
|
}
|
||||||
|
@@ -96,14 +96,14 @@
|
|||||||
#define BOND_XMIT_POLICY_ENCAP34 4 /* encapsulated layer 3+4 */
|
#define BOND_XMIT_POLICY_ENCAP34 4 /* encapsulated layer 3+4 */
|
||||||
|
|
||||||
/* 802.3ad port state definitions (43.4.2.2 in the 802.3ad standard) */
|
/* 802.3ad port state definitions (43.4.2.2 in the 802.3ad standard) */
|
||||||
#define AD_STATE_LACP_ACTIVITY 0x1
|
#define LACP_STATE_LACP_ACTIVITY 0x1
|
||||||
#define AD_STATE_LACP_TIMEOUT 0x2
|
#define LACP_STATE_LACP_TIMEOUT 0x2
|
||||||
#define AD_STATE_AGGREGATION 0x4
|
#define LACP_STATE_AGGREGATION 0x4
|
||||||
#define AD_STATE_SYNCHRONIZATION 0x8
|
#define LACP_STATE_SYNCHRONIZATION 0x8
|
||||||
#define AD_STATE_COLLECTING 0x10
|
#define LACP_STATE_COLLECTING 0x10
|
||||||
#define AD_STATE_DISTRIBUTING 0x20
|
#define LACP_STATE_DISTRIBUTING 0x20
|
||||||
#define AD_STATE_DEFAULTED 0x40
|
#define LACP_STATE_DEFAULTED 0x40
|
||||||
#define AD_STATE_EXPIRED 0x80
|
#define LACP_STATE_EXPIRED 0x80
|
||||||
|
|
||||||
typedef struct ifbond {
|
typedef struct ifbond {
|
||||||
__s32 bond_mode;
|
__s32 bond_mode;
|
||||||
|
Reference in New Issue
Block a user