OpenCloudOS-Kernel/drivers/infiniband/hw/mlx4
Jack Morgenstein 10b1c04e92 net/mlx4_core: Fix raw qp flow steering rules under SRIOV
Demoting simple flow steering rule priority (for DPDK) was achieved by
wrapping FW commands MLX4_QP_FLOW_STEERING_ATTACH/DETACH for the PF
as well, and forcing the priority to MLX4_DOMAIN_NIC in the wrapper
function for the PF and all VFs.

In function mlx4_ib_create_flow(), this change caused the main rule
creation for the PF to be wrapped, while it left the associated
tunnel steering rule creation unwrapped for the PF.

This mismatch caused rule deletion failures in mlx4_ib_destroy_flow()
for the PF when the detach wrapper function did not find the associated
tunnel-steering rule (since creation of that rule for the PF did not
go through the wrapper function).

Fix this by setting MLX4_QP_FLOW_STEERING_ATTACH/DETACH to be "native"
(so that the PF invocation does not go through the wrapper), and perform
the required priority demotion for the PF in the mlx4_ib_create_flow()
code path.

Fixes: 48564135cb ("net/mlx4_core: Demote simple multicast and broadcast flow steering rules")
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-12-29 14:17:40 -05:00
..
Kconfig net: mellanox: add DEVLINK dependencies 2016-03-03 17:08:59 -05:00
Makefile IB/mlx4: Add iov directory in sysfs under the ib device 2012-09-30 20:33:39 -07:00
ah.c Updates for 4.10 kernel merge window 2016-12-15 12:03:32 -08:00
alias_GUID.c IB/mlx4: Remove debug prints after allocation failure 2016-12-03 13:12:52 -05:00
cm.c IB/mlx4: Remove debug prints after allocation failure 2016-12-03 13:12:52 -05:00
cq.c IB/mlx4: Fix create CQ error flow 2016-11-16 20:03:44 -05:00
doorbell.c IB: Refactor umem to use linear SG table 2014-03-04 10:34:28 -08:00
mad.c Merge branch 'mlx' into merge-test 2016-12-14 14:44:25 -05:00
main.c net/mlx4_core: Fix raw qp flow steering rules under SRIOV 2016-12-29 14:17:40 -05:00
mcg.c IB/mlx4: Remove debug prints after allocation failure 2016-12-03 13:12:52 -05:00
mlx4_ib.h IB/core: Let create_ah return extended response to user 2016-12-13 13:38:27 -05:00
mr.c IB/mlx4: Prevent cross page boundary allocation 2016-06-23 10:08:25 -04:00
qp.c IB/mlx4: Rework special QP creation error path 2016-12-14 13:01:11 -05:00
srq.c IB/mlx4: Move user vendor structures 2016-10-07 16:54:36 -04:00
sysfs.c IB/mlx4: Forbid using sysfs to change RoCE pkeys 2015-08-30 18:12:22 -04:00