RE: [PATCH net] net: renesas: rswitch: fix forwarding offload statemachine
From: Michael Dege <hidden>
Date: 2026-02-05 13:46:42
Also in:
linux-renesas-soc, lkml
Hello Nikita,
-----Original Message----- From: Nikita Yushchenko <nikita.yoush@cogentembedded.com> Sent: Thursday, February 5, 2026 2:39 PM To: Michael Dege <redacted>; Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>; Andrew Lunn [off-list ref]; David S. Miller [off-list ref]; Eric Dumazet [off-list ref]; Jakub Kicinski [off-list ref]; Paolo Abeni [off-list ref] Cc: netdev@vger.kernel.org; linux-renesas-soc@vger.kernel.org; linux-kernel@vger.kernel.org Subject: Re: [PATCH net] net: renesas: rswitch: fix forwarding offload statemachinequoted
quoted
quoted
if (rdev_for_l2_offload() && rdev->forwarding_requested) rswitch_change_l2_hw_offloading(rdev, true, false); else rswitch_change_l2_hw_offloading(rdev, false, false); since rswitch_change_l2_hw_offloading() has internal check for the current state and returns early if the requested change is already applied.Unfortunately, this has a side effect, e.g., if you pull the cable on tsn0 and the link goes down, you will see that the offloading is disabled on all ports connected to the bridge and not just on tsn0.Quite strange, is anything else logged? E.g. some messages from linux bridge layer? Nikita
Here is the log from the version without "if else" [ 83.107759] renesas_eth_sw e6880000.ethernet tsn0: Link is Down [ 83.108734] br0: port 1(tsn0) entered disabled state [ 83.109669] renesas_eth_sw e6880000.ethernet tsn0: stopping hw learning [ 83.110519] renesas_eth_sw e6880000.ethernet tsn0: stopping hw forwarding [ 83.111405] renesas_eth_sw e6880000.ethernet tsn1: stopping hw forwarding [ 91.299976] renesas_eth_sw e6880000.ethernet tsn0: Link is Up - 1Gbps/Full - flow control off [ 91.357634] br0: port 1(tsn0) entered blocking state [ 91.358309] br0: port 1(tsn0) entered forwarding state [ 91.359185] renesas_eth_sw e6880000.ethernet tsn1: starting hw forwarding [ 91.360104] renesas_eth_sw e6880000.ethernet tsn0: starting hw learning [ 91.360943] renesas_eth_sw e6880000.ethernet tsn0: starting hw forwarding [ 91.361802] renesas_eth_sw e6880000.ethernet tsn1: stopping hw forwarding And this is what it should look like: [ 81.027632] renesas_eth_sw e6880000.ethernet tsn0: Link is Down [ 81.028662] br0: port 1(tsn0) entered disabled state [ 81.029582] renesas_eth_sw e6880000.ethernet tsn0: stopping hw learning [ 81.030431] renesas_eth_sw e6880000.ethernet tsn0: stopping hw forwarding [ 90.243832] renesas_eth_sw e6880000.ethernet tsn0: Link is Up - 1Gbps/Full - flow control off [ 90.305291] br0: port 1(tsn0) entered blocking state [ 90.305956] br0: port 1(tsn0) entered forwarding state [ 90.306838] renesas_eth_sw e6880000.ethernet tsn0: starting hw learning [ 90.307725] renesas_eth_sw e6880000.ethernet tsn0: starting hw forwarding Best regards Michael