net/mlx5: Introduce VHCA tunnel device capability
authorMax Gurtovoy <maxg@mellanox.com>
Mon, 1 Jul 2019 18:14:01 +0000 (21:14 +0300)
committerLeon Romanovsky <leonro@mellanox.com>
Sun, 7 Jul 2019 07:25:17 +0000 (10:25 +0300)
commit1dd7382b1bb608e7ccae3672621eaceca355ae8b
treec5a7f8071e60c9fc810b79368445f88980451812
parentf8efee08dd9d41ab71010e9b16c9ead51753b7d6
net/mlx5: Introduce VHCA tunnel device capability

When using the device emulation feature (introduced in Bluefield-1 SOC),
a privileged function (the device emulation manager) will be able to
create a channel to execute commands on behalf of the emulated function.

This channel will be a general object of type VHCA_TUNNEL that will have
a unique ID for each emulated function. This ID will be passed in each
cmd that will be issued by the emulation SW in a well known offset in
the command header.

This channel is needed since the emulated function doesn't have a normal
command interface to the HCA HW, but some basic configuration for that
function is needed (e.g. initialize and enable the HCA). For that matter,
a specific command-set was defined and only those commands will be issued
by the HCA.

Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
include/linux/mlx5/mlx5_ifc.h