net/devlink: Support querying hardware address of port function
authorParav Pandit <parav@mellanox.com>
Fri, 19 Jun 2020 03:32:48 +0000 (03:32 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Jun 2020 22:29:19 +0000 (15:29 -0700)
commit2a916ecc405686c1d86f632281bc06aa75ebae4e
treeda6cc6f5468c02114321d145fd17099cca4ff426
parenta829eb0d5dc5415bef380cf53e09a0123e716951
net/devlink: Support querying hardware address of port function

PCI PF and VF devlink port can manage the function represented by
a devlink port.

Enable users to query port function's hardware address.

Example of a PCI VF port which supports a port function:
$ devlink port show pci/0000:06:00.0/2
pci/0000:06:00.0/2: type eth netdev enp6s0pf0vf1 flavour pcivf pfnum 0 vfnum 1
  function:
    hw_addr 00:11:22:33:44:66

$ devlink port show pci/0000:06:00.0/2 -jp
{
    "port": {
        "pci/0000:06:00.0/2": {
            "type": "eth",
            "netdev": "enp6s0pf0vf1",
            "flavour": "pcivf",
            "pfnum": 0,
            "vfnum": 1,
            "function": {
                "hw_addr": "00:11:22:33:44:66"
            }
        }
    }
}

Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/devlink.h
include/uapi/linux/devlink.h
net/core/devlink.c