Thread (4 messages) 4 messages, 2 authors, 2024-11-28

RE: DSA to switchdev (TI CPSW) ethernet ports

From: Jesse Van Gavere <hidden>
Date: 2024-11-28 15:42:29

Hello Vladimir,
Caution! This message was sent from outside your organization.

On Thu, Nov 28, 2024 at 02:01:23PM +0000, Jesse Van Gavere wrote:
quoted
Hello,

I have a question in regards to connecting switchdev ports (TI AM62 CPSW in my case) to a switch configured in the DSA framework.
My setup is two KSZ9896Cs connected, one to each port of the AM62x.
Using something like cpsw_port1/2 as the ethernet for the conduit port fails I presume in of_find_net_device_by_node(ethernet) as both eth seem to be under cpsw3g which is the actual ethernet.

So when changing the ethernet for the conduit port to cpsw3g I can actually get switch working, and I see it registers under eth0 of the ethernet, however when the second switch tries to come up it fails because it tries to register a dsa folder under eth0 again.

I'm kind of at a loss what the correct solution here would be, or if this is currently even supported to connect e.g. a cpsw port to a conduit port, if that would not be the case, what is the suggested work I'd best be doing to actually get this working?

Kind regards,
Jesse Van Gavere
Having ethernet = <&cpsw_port1> or ethernet = <&cpsw_port2> is what should have worked. What is the actual failure?

What do you mean "cpsw3g (...) is the actual ethernet"? How many netdevs does cpsw3g register? 2 (for the ports) or 3?

Your setup should not be a problem in general, the switchdev model is compatible with usage as a DSA conduit. Could you print with %pOF what is the ndev->dev.of_node of the 2 cpsw ports?
Thank you very much for this information.
It immediately pointed me in the right direction and I could see this was Addressed by Jacub Kicinski in commit 29c71bf2a05a11f0d139590d37d92547477d5eb2
The netdev of_node simply wasn't being populated yet in the branch I'm working on, everything is working as expected now!

Thanks a lot!

Best regards,
Jesse
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help