Thread (17 messages) flat view 17 messages, 5 authors, 2021-09-17

Re: [PATCH net-next 0/4] net: dsa: b53: Clean up CPU/IMP ports

From: Vladimir Oltean <olteanv@gmail.com>
Date: 2021-09-17 10:00:59

On Fri, Sep 17, 2021 at 12:19:02AM +0200, Rafał Miłecki wrote:
On 16.09.2021 23:46, Florian Fainelli wrote:
quoted
On 9/16/21 9:23 AM, Florian Fainelli wrote:
quoted
On 9/16/21 5:03 AM, Rafał Miłecki wrote:
quoted
From: Rafał Miłecki <rafal@milecki.pl>

This has been tested on:

1. Luxul XBR-4500 with used CPU port 5
[    8.361438] b53-srab-switch 18007000.ethernet-switch: found switch: BCM53012, rev 0

2. Netgear R8000 with used CPU port 8
[    4.453858] b53-srab-switch 18007000.ethernet-switch: found switch: BCM53012, rev 5
These look good at first glance, let me give them a try on 7445 and 7278
at least before responding with Reviewed-by/Tested-by tags, thanks!
Found some issues on 7445 and 7278 while moving to the latest net-next
which I will be addressing but this worked nicely.

What do you think about removing dev->enabled_ports and
b53_for_each_port entirely and using a DSA helper that iterates over the
switch's port list? Now that we have dev->num_ports accurately reflect
the number of ports it should be equivalent.
The limitation I see in DSA is skipping unavailable ports. E.g. BCM5301x
switches that don't have port 6. The closest match for such case I found
is DSA_PORT_TYPE_UNUSED but I'm not sure if it's enough to handle those
cases.

That DSA_PORT_TYPE_UNUSED would probably require investigating DSA & b53
behaviour *and* discussing it with DSA maintainer to make sure we don't
abuse that.
How absent are these ports in hardware? For DSA_PORT_TYPE_UNUSED we do
register a devlink port, but if those ports are really not present in
hardware, I'm thinking maybe the easiest way would be to supply a
ds->disabled_port_mask before dsa_register_switch(), and DSA will simply
skip those ports when allocating the dp, the devlink_port etc. So you
will literally have nothing for them.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help