diff options
author | Yinjun Zhang <yinjun.zhang@corigine.com> | 2023-04-05 14:08:29 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-04-06 15:43:36 +0200 |
commit | 0ebd4fd6b9064764a3af3d671463b1350abffb6c (patch) | |
tree | d6f86bc6f59cf1660ab9666cb5de64ae1bf2783b | |
parent | 905a9eb5f636f3312964b162362e4d6ca4e37378 (diff) | |
download | linux-stable-0ebd4fd6b9064764a3af3d671463b1350abffb6c.tar.gz linux-stable-0ebd4fd6b9064764a3af3d671463b1350abffb6c.tar.bz2 linux-stable-0ebd4fd6b9064764a3af3d671463b1350abffb6c.zip |
nfp: initialize netdev's dev_port with correct id
`dev_port` is used to differentiate devices that instantiate from
the same function, which is the case in most of NFP NICs.
In some customized scenario, `dev_port` is used to rename netdev
instead of `phys_port_name`. Example rules using `dev_port`:
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:e1:00.0", ATTR{dev_port}=="0", NAME:="ens8np0"
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:e1:00.0", ATTR{dev_port}=="1", NAME:="ens8np1"
To take port split case into account, here we initialize `dev_port`
according to the port sequence in eth_table from management firmware
instead of using port label id directly. And management firmware
makes sure that port sequence matches its label id.
Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com>
Acked-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Louis Peens <louis.peens@corigine.com>
Link: https://lore.kernel.org/r/20230405120829.28817-1-louis.peens@corigine.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_port.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_port.c b/drivers/net/ethernet/netronome/nfp/nfp_port.c index 4f2308570dcf..54640bcb70fb 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_port.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_port.c @@ -189,6 +189,7 @@ int nfp_port_init_phy_port(struct nfp_pf *pf, struct nfp_app *app, port->eth_port = &pf->eth_tbl->ports[id]; port->eth_id = pf->eth_tbl->ports[id].index; + port->netdev->dev_port = id; if (pf->mac_stats_mem) port->eth_stats = pf->mac_stats_mem + port->eth_id * NFP_MAC_STATS_SIZE; |