diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2017-03-08 08:57:02 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-09 16:39:58 -0800 |
commit | 47465aed3220c3b95646bd53d3a6fd11cbf1ebfe (patch) | |
tree | 450b183f0b8e4c28f199ef6b500551ec1b48969f /drivers/net/ethernet/netronome/nfp/nfp_net_main.c | |
parent | 9ff304bfaf58c119ef8ba3e20326edeed9983aef (diff) | |
download | lwn-47465aed3220c3b95646bd53d3a6fd11cbf1ebfe.tar.gz lwn-47465aed3220c3b95646bd53d3a6fd11cbf1ebfe.zip |
nfp: implement .ndo_get_phys_port_name()
NSP reports to us port labels. First id is the id of the physical
port, the other one tells us which logical interface is it within a
split port. Instead of printing them as string keep them in integer
format. Compute which interfaces are part of port split.
On netdev side use port labels and split information to provide a
.ndo_get_phys_port_name() implementation. We follow the name format
of mlxsw which is also suggested in "Port Netdev Naming" section
of Documentation/networking/switchdev.txt.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_main.c')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c index 3afcdc11480c..f04d0b8e84ad 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c @@ -178,6 +178,8 @@ nfp_net_get_mac_addr(struct nfp_net *nn, struct nfp_pf *pf, unsigned int id) if (pf->eth_tbl->ports[i].eth_index == id) { const u8 *mac_addr = pf->eth_tbl->ports[i].mac_addr; + nn->eth_port = &pf->eth_tbl->ports[i]; + ether_addr_copy(nn->netdev->dev_addr, mac_addr); ether_addr_copy(nn->netdev->perm_addr, mac_addr); return; |