Subject: Re: [PATCHv2 net-next 0/3] bonding: fix 802.3ad churn machine and port state issues

From: Hangbin Liu <[email-masked]>
Date: Mon, 2 Feb 2026 01:14:55 +0000

Hi Jakub, Paolo,

Is there anything I should do for this patchset ?

Thanks
Hangbin
On Wed, Jan 14, 2026 at 06:49:18AM +0000, Hangbin Liu wrote:
> This series fixes two issues in the bonding 802.3ad implementation
> related to port state management and churn detection:
> 
> 1. When disabling a port, we need to set AD_RX_PORT_DISABLED to ensure
>    proper state machine transitions, preventing ports from getting stuck
>    in AD_RX_CURRENT state.
> 
> 2. The ad_churn_machine implementation is restructured to follow IEEE
>    802.1AX-2014 specifications correctly. The current implementation has
>    several issues: it doesn't transition to "none" state immediately when
>    synchronization is achieved, and can get stuck in churned state in
>    multi-aggregator scenarios.
> 
> 3. Selftests are enhanced to validate both mux state machine and churn
>    state logic under aggregator selection and failover scenarios.
> 
> These changes ensure proper LACP state machine behavior and fix issues
> where ports could remain in incorrect states during aggregator failover.
> 
> 
> v2:
>   * The changes are large and not urgent. Post to net-next as Paolo suggested
>   * set AD_RX_PORT_DISABLED only in ad_agg_selection_logic to avoid side effect. (Paolo Abeni)
>   * remove actor_churn as it can only be true when the state is ACTOR_CHURN (Paolo Abeni)
>   * remove AD_PORT_CHURNED since we don't need it anywhere (Paolo Abeni)
>   * I didn't add new helper for ad_churn_machine() as it looks not help much.
> 
> v1: https://lore.kernel.org/netdev/[email-masked]
> 
> Hangbin Liu (3):
>   bonding: set AD_RX_PORT_DISABLED when disabling a port
>   bonding: restructure ad_churn_machine
>   selftests: bonding: add mux and churn state testing
> 
>  drivers/net/bonding/bond_3ad.c                | 97 ++++++++++++++-----
>  .../selftests/drivers/net/bonding/Makefile    |  2 +-
>  ...nd_lacp_prio.sh => bond_lacp_ad_select.sh} | 73 ++++++++++++++
>  3 files changed, 146 insertions(+), 26 deletions(-)
>  rename tools/testing/selftests/drivers/net/bonding/{bond_lacp_prio.sh => bond_lacp_ad_select.sh} (64%)
> 
> -- 
> 2.50.1
>