IB/mlx5: Add tunneling offloads support
authorMaor Gottlieb <maorg@mellanox.com>
Thu, 19 Oct 2017 05:25:55 +0000 (08:25 +0300)
committerDoug Ledford <dledford@redhat.com>
Wed, 25 Oct 2017 18:19:31 +0000 (14:19 -0400)
commitf95ef6cbae61fa1dd563f5c0f6a0e5b512fda5ba
tree1f7b66138e9899090f00f5bada5a555e4f9db51b
parent4d350f1f89ee8ea84be1ef09717bf392fa5a3b45
IB/mlx5: Add tunneling offloads support

The device can support receive Stateless Offloads for the inner
packet's fields only when the packet is processed by TIR which is
enabled to support tunneling. Otherwise, the device treats the
packet as an ordinary non-tunneling packet and receive offloads
can be done only for the outer packet's field.
In order to enable receive Stateless Offloading support for incoming
tunneling traffic the TIR should be created with tunneled_offload_en.
Tunneling offloads is supported only be raw ethernet QP.

This patch includes:
* New QP creation flag for tunneling offloads.
* Reports device capabilities.

Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Reviewed-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/mlx5_ib.h
drivers/infiniband/hw/mlx5/qp.c
include/uapi/rdma/mlx5-abi.h