IB/mlx4: Add receive flow steering support
authorHadar Hen Zion <hadarh@mellanox.com>
Wed, 14 Aug 2013 10:58:31 +0000 (13:58 +0300)
committerRoland Dreier <roland@purestorage.com>
Wed, 28 Aug 2013 16:53:56 +0000 (09:53 -0700)
commitf77c0162a339400ad16f657603fdc3bf11654fd3
treecf7bd72a5ac499549a697e305fc0cec46be79a6f
parent436f2ad05a0b65b1467ddf51bc68171c381bf844
IB/mlx4: Add receive flow steering support

Implement ib_create_flow() and ib_destroy_flow().

Translate the verbs structures provided by the user to HW structures
and call the MLX4_QP_FLOW_STEERING_ATTACH/DETACH firmware commands.

On the ATTACH command completion, the firmware provides a 64-bit
registration ID, which is placed into struct mlx4_ib_flow that wraps
the instance of struct ib_flow which is retuned to caller.  Later,
this reg ID is used for detaching that flow from the firmware.

Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mlx4/main.c
drivers/infiniband/hw/mlx4/mlx4_ib.h
include/linux/mlx4/device.h