OSDN Git Service

devlink: Introduce external controller flag
authorParav Pandit <parav@nvidia.com>
Wed, 9 Sep 2020 04:50:36 +0000 (07:50 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Sep 2020 21:19:55 +0000 (14:19 -0700)
commit05b595e9c44acaca94192c6db430a489c1b212a7
tree4ca0354d9769c33321edd4060281a313f7b87266
parentff03e63ad1673eb75cce214556013fc2e52a1b77
devlink: Introduce external controller flag

A devlink eswitch port may represent PCI PF/VF ports of a controller.

A controller either located on same system or it can be an external
controller located in host where such NIC is plugged in.

Add the ability for driver to specify if a port is for external
controller.

Use such flag in the mlx5_core driver.

An example of an external controller having VF1 of PF0 belong to
controller 1.

$ devlink port show pci/0000:06:00.0/2
pci/0000:06:00.0/2: type eth netdev ens2f0pf0vf1 flavour pcivf pfnum 0 vfnum 1 external true splittable false
  function:
    hw_addr 00:00:00:00:00:00
$ devlink port show pci/0000:06:00.0/2 -jp
{
    "port": {
        "pci/0000:06:00.0/2": {
            "type": "eth",
            "netdev": "ens2f0pf0vf1",
            "flavour": "pcivf",
            "pfnum": 0,
            "vfnum": 1,
            "external": true,
            "splittable": false,
            "function": {
                "hw_addr": "00:00:00:00:00:00"
            }
        }
    }
}

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