By a strange coincidence, we ran into this exact issue last week while
experimenting with the "standby" state, where we discovered that the
current implementation in bond_3ad does not pay attention to the Mux
SM state when deciding to enable a slave port for transmission, which
causes misbehavior in forwarding on the partner side.
Since the question was raised on the thread about what the 802.3ad
spec says in this respect, we can confidently answer that the spec
clearly mandates that the aggregator should include a port for
transmission only when it goes to DISTRIBUTING ( in independent
control mode) and COLLECTING+DISTRIBUTING (in coupled mode).
We are testing this extensively right now, so I'm happy to try out
this patch and report back with findings.
-Kartik