Re: [PATCH net v2 2/3] net: dsa: rzn1-a5psw: fix STP states handling

From: Alexis Lothoré
Date: Fri May 12 2023 - 02:34:05 EST


Hello Vladimir,
thanks for the fast review !
On 5/11/23 23:37, Vladimir Oltean wrote:
> On Thu, May 11, 2023 at 07:02:01PM +0200, alexis.lothore@xxxxxxxxxxx wrote:
>> From: Clément Léger <clement.leger@xxxxxxxxxxx>
>>
>> stp_set_state() should actually allow receiving BPDU while in LEARNING
>> mode which is not the case. Additionally, the BLOCKEN bit does not
>> actually forbid sending forwarded frames from that port. To fix this, add
>> a5psw_port_tx_enable() function which allows to disable TX. However, while
>> its name suggest that TX is totally disabled, it is not and can still
>> allow to send BPDUs even if disabled. This can be done by using forced
>> forwarding with the switch tagging mechanism but keeping "filtering"
>> disabled (which is already the case in the rzn1-a5sw tag driver). With
>> these fixes, STP support is now functional.
>>
>> Fixes: 888cdb892b61 ("net: dsa: rzn1-a5psw: add Renesas RZ/N1 advanced 5 port switch driver")
>> Signed-off-by: Clément Léger <clement.leger@xxxxxxxxxxx>
>> Signed-off-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx>
>> ---
>
> Reviewed-by: Vladimir Oltean <olteanv@xxxxxxxxx>
>
>> @@ -344,28 +376,35 @@ static void a5psw_port_bridge_leave(struct dsa_switch *ds, int port,
>>
>> static void a5psw_port_stp_state_set(struct dsa_switch *ds, int port, u8 state)
>> {
>> - u32 mask = A5PSW_INPUT_LEARN_DIS(port) | A5PSW_INPUT_LEARN_BLOCK(port);
>> struct a5psw *a5psw = ds->priv;
>> - u32 reg = 0;
>> + bool learning_enabled, rx_enabled, tx_enabled;
>
> Absolutely minor comment: in the networking subsystem there is a coding
> style preference to order lines with variable declarations longest to
> shortest (reverse Christmas tree). Since I don't see another less
> frivolous reason to resend the patch set, I thought I'd just mention
> for next time.

ACK. Since an error has been raised by CI bot on this series, I will send a V3
and fix this ordering too.

Regards,

--
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com