From: Florian Fainelli <f.fainelli@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>, Jiri Pirko <jiri@resnulli.us>
Cc: netdev@vger.kernel.org, davem@davemloft.net, idosch@mellanox.com,
jakub.kicinski@netronome.com, mlxsw@mellanox.com,
vivien.didelot@savoirfairelinux.com, michael.chan@broadcom.com,
ganeshgr@chelsio.com, saeedm@mellanox.com,
simon.horman@netronome.com, pieter.jansenvanvuuren@netronome.com,
john.hurley@netronome.com, dirk.vandermerwe@netronome.com,
alexander.h.duyck@intel.com, ogerlitz@mellanox.com,
dsahern@gmail.com, vijaya.guvva@cavium.com,
satananda.burla@cavium.com, raghu.vatsavayi@cavium.com,
felix.manlunas@cavium.com, gospo@broadcom.com,
sathya.perla@broadcom.com, vasundhara-v.volam@broadcom.com,
tariqt@mellanox.com, eranbe@mellanox.com,
jeffrey.t.kirsher@intel.com
Subject: Re: [patch net-next RFC 04/12] dsa: set devlink port attrs for dsa ports
Date: Thu, 17 May 2018 15:06:36 -0700 [thread overview]
Message-ID: <862a5fb4-7a3c-9c3f-bd50-f25bbcb2ca59@gmail.com> (raw)
In-Reply-To: <20180517210856.GJ23601@lunn.ch>
On 05/17/2018 02:08 PM, Andrew Lunn wrote:
> On Thu, May 17, 2018 at 10:48:55PM +0200, Jiri Pirko wrote:
>> Thu, May 17, 2018 at 09:14:32PM CEST, f.fainelli@gmail.com wrote:
>>> On 05/17/2018 10:39 AM, Jiri Pirko wrote:
>>>>>> That is compiled inside "fixed_phy", isn't it?
>>>>>
>>>>> It matches what CONFIG_FIXED_PHY is, so if it's built-in it also becomes
>>>>> built-in, if is modular, it is also modular, this was fixed with
>>>>> 40013ff20b1beed31184935fc0aea6a859d4d4ef ("net: dsa: Fix functional
>>>>> dsa-loop dependency on FIXED_PHY")
>>>>
>>>> Now I have it compiled as module, and after modprobe dsa_loop I see:
>>>> [ 1168.129202] libphy: Fixed MDIO Bus: probed
>>>> [ 1168.222716] dsa-loop fixed-0:1f: DSA mockup driver: 0x1f
>>>>
>>>> This messages I did not see when I had fixed_phy compiled as buildin.
>>>>
>>>> But I still see no netdevs :/
>>>
>>> The platform data assumes there is a network device named "eth0" as the
>>
>> Oups, I missed, I created dummy device and modprobed again. Now I see:
>>
>> $ sudo devlink port
>> mdio_bus/fixed-0:1f/0: type eth netdev lan1
>> mdio_bus/fixed-0:1f/1: type eth netdev lan2
>> mdio_bus/fixed-0:1f/2: type eth netdev lan3
>> mdio_bus/fixed-0:1f/3: type eth netdev lan4
>> mdio_bus/fixed-0:1f/4: type notset
>> mdio_bus/fixed-0:1f/5: type notset
>> mdio_bus/fixed-0:1f/6: type notset
>> mdio_bus/fixed-0:1f/7: type notset
>> mdio_bus/fixed-0:1f/8: type notset
>> mdio_bus/fixed-0:1f/9: type notset
>> mdio_bus/fixed-0:1f/10: type notset
>> mdio_bus/fixed-0:1f/11: type notset
>>
>> I wonder why there are ports 4-11
>
> Hi Jiri
>
> ds = dsa_switch_alloc(&mdiodev->dev, DSA_MAX_PORTS);
>
> It is allocating a switch with 12 ports. However only 4 of them have
> names. So the core only creates slave devices for those 4.
>
> This is a useful test. Real hardware often has unused ports. A WiFi AP
> with a 7 port switch which only uses 6 ports is often seen.
The following patch should fix this:
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
index adf50fbc4c13..a06c29ec91f0 100644
--- a/net/dsa/dsa2.c
+++ b/net/dsa/dsa2.c
@@ -262,13 +262,14 @@ static int dsa_port_setup(struct dsa_port *dp)
memset(&dp->devlink_port, 0, sizeof(dp->devlink_port));
+ if (dp->type == DSA_PORT_TYPE_UNUSED)
+ return 0;
+
err = devlink_port_register(ds->devlink, &dp->devlink_port,
dp->index);
if (err)
return err;
switch (dp->type) {
- case DSA_PORT_TYPE_UNUSED:
- break;
case DSA_PORT_TYPE_CPU:
case DSA_PORT_TYPE_DSA:
err = dsa_port_link_register_of(dp);
@@ -286,6 +287,8 @@ static int dsa_port_setup(struct dsa_port *dp)
else
devlink_port_type_eth_set(&dp->devlink_port,
dp->slave);
break;
+ default:
+ break;
}
return 0;
@@ -293,11 +296,12 @@ static int dsa_port_setup(struct dsa_port *dp)
static void dsa_port_teardown(struct dsa_port *dp)
{
+ if (dp->type == DSA_PORT_TYPE_UNUSED)
+ return;
+
devlink_port_unregister(&dp->devlink_port);
switch (dp->type) {
- case DSA_PORT_TYPE_UNUSED:
- break;
case DSA_PORT_TYPE_CPU:
case DSA_PORT_TYPE_DSA:
dsa_port_link_unregister_of(dp);
@@ -308,6 +312,8 @@ static void dsa_port_teardown(struct dsa_port *dp)
dp->slave = NULL;
}
break;
+ default:
+ break;
}
}
--
Florian
next prev parent reply other threads:[~2018-05-17 22:06 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-22 10:55 [patch net-next RFC 00/12] devlink: introduce port flavours and common phys_port_name generation Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 01/12] devlink: introduce devlink_port_attrs_set Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 02/12] devlink: extend attrs_set for setting port flavours Jiri Pirko
2018-03-23 3:36 ` Jakub Kicinski
2018-03-23 6:30 ` Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 03/12] devlink: introduce a helper to generate physical port names Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 04/12] dsa: set devlink port attrs for dsa ports Jiri Pirko
2018-03-23 13:19 ` Andrew Lunn
2018-03-23 13:30 ` Andrew Lunn
2018-03-23 14:49 ` Jiri Pirko
2018-03-23 17:09 ` Florian Fainelli
2018-03-24 7:28 ` Jiri Pirko
2018-05-17 14:02 ` Jiri Pirko
2018-05-17 14:08 ` Florian Fainelli
2018-05-17 14:30 ` Jiri Pirko
2018-05-17 14:48 ` Andrew Lunn
2018-05-17 16:37 ` Jiri Pirko
2018-05-17 14:51 ` Florian Fainelli
2018-05-17 17:39 ` Jiri Pirko
2018-05-17 19:14 ` Florian Fainelli
2018-05-17 20:28 ` Andrew Lunn
2018-05-17 20:48 ` Jiri Pirko
2018-05-17 21:08 ` Andrew Lunn
2018-05-17 22:06 ` Florian Fainelli [this message]
2018-05-17 22:40 ` Andrew Lunn
2018-05-17 22:45 ` Florian Fainelli
2018-05-18 1:41 ` Andrew Lunn
2018-05-18 6:37 ` Jiri Pirko
2018-05-18 13:45 ` Andrew Lunn
2018-05-19 3:11 ` Florian Fainelli
2018-05-18 6:55 ` Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 05/12] dsa: use devlink helper to generate physical port name Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 06/12] mlxsw: " Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 07/12] nfp: flower: fix error path during representor creation Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 08/12] nfp: set eth_id for representors to avoid port index conflict Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 09/12] nfp: register devlink port for VF/PF representors Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 10/12] nfp: flower: create port for flower vnic Jiri Pirko
2018-03-23 3:38 ` Jakub Kicinski
2018-03-23 6:29 ` Jiri Pirko
2018-03-24 3:32 ` Jakub Kicinski
2018-03-24 7:41 ` Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 11/12] nfp: use devlink helper to generate physical port name Jiri Pirko
2018-03-22 10:55 ` [patch net-next RFC 12/12] nfp: flower: set sysfs link to device for representors Jiri Pirko
2018-03-22 14:40 ` [patch net-next RFC 00/12] devlink: introduce port flavours and common phys_port_name generation Roopa Prabhu
2018-03-22 14:58 ` Jiri Pirko
2018-03-22 15:34 ` David Ahern
2018-03-22 15:51 ` Roopa Prabhu
2018-03-22 17:49 ` Jiri Pirko
2018-03-22 19:10 ` David Ahern
2018-03-22 19:25 ` Andy Gospodarek
2018-05-17 8:47 ` Jiri Pirko
2018-03-23 6:34 ` Jiri Pirko
2018-03-22 23:35 ` Andrew Lunn
2018-03-23 6:35 ` [patch iproute2 rfc 1/2] devlink: introduce support for showing port flavours Jiri Pirko
2018-03-27 15:28 ` Stephen Hemminger
2018-03-23 6:35 ` [patch iproute2 rfc 2/2] devlink: introduce support for showing port number and split subport number Jiri Pirko
2018-03-23 3:34 ` [patch net-next RFC 00/12] devlink: introduce port flavours and common phys_port_name generation Jakub Kicinski
2018-03-23 6:37 ` Jiri Pirko
2018-03-23 13:43 ` Andrew Lunn
2018-03-23 14:59 ` Jiri Pirko
2018-03-23 15:24 ` Andrew Lunn
2018-03-24 7:45 ` Jiri Pirko
2018-03-24 14:35 ` Florian Fainelli
2018-03-24 16:07 ` Jiri Pirko
2018-03-24 17:07 ` Florian Fainelli
2018-03-24 17:42 ` Jiri Pirko
2018-03-24 19:00 ` Andrew Lunn
2018-03-24 20:05 ` Florian Fainelli
2018-03-24 14:40 ` Andrew Lunn
2018-03-24 16:04 ` Jiri Pirko
2018-03-28 5:02 ` Stephen Hemminger
2018-03-28 6:17 ` Jiri Pirko
2018-04-17 13:23 ` Or Gerlitz
2018-04-17 23:42 ` Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=862a5fb4-7a3c-9c3f-bd50-f25bbcb2ca59@gmail.com \
--to=f.fainelli@gmail.com \
--cc=alexander.h.duyck@intel.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=dirk.vandermerwe@netronome.com \
--cc=dsahern@gmail.com \
--cc=eranbe@mellanox.com \
--cc=felix.manlunas@cavium.com \
--cc=ganeshgr@chelsio.com \
--cc=gospo@broadcom.com \
--cc=idosch@mellanox.com \
--cc=jakub.kicinski@netronome.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jiri@resnulli.us \
--cc=john.hurley@netronome.com \
--cc=michael.chan@broadcom.com \
--cc=mlxsw@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=pieter.jansenvanvuuren@netronome.com \
--cc=raghu.vatsavayi@cavium.com \
--cc=saeedm@mellanox.com \
--cc=satananda.burla@cavium.com \
--cc=sathya.perla@broadcom.com \
--cc=simon.horman@netronome.com \
--cc=tariqt@mellanox.com \
--cc=vasundhara-v.volam@broadcom.com \
--cc=vijaya.guvva@cavium.com \
--cc=vivien.didelot@savoirfairelinux.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).