2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-07 13:13:57 +08:00
linux-next/drivers/net/ethernet/mellanox/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
..
alloc.c net/mlx4: Avoid wrong virtual mappings 2016-05-05 23:23:05 -04:00
catas.c net/mlx4_core: Do not BUG_ON during reset when PCI is offline 2016-02-17 10:29:26 -05:00
cmd.c ethernet :mellanox :mlx4: Replace pci_pool_alloc by pci_pool_zalloc 2016-11-30 14:56:36 -05:00
cq.c net/mlx4_core: Set UAR page size to 4KB regardless of system page size 2016-02-17 10:29:27 -05:00
en_clock.c net/mlx4_en: Fix type mismatch for 32-bit systems 2016-12-29 14:17:40 -05:00
en_cq.c net/mlx4_en: remove napi_hash_del() call 2016-11-17 11:17:05 -05:00
en_dcb_nl.c net/mlx4_en: Fixes for DCBX 2016-09-11 19:40:26 -07:00
en_ethtool.c mlx4: give precise rx/tx bytes/packets counters 2016-11-29 13:36:34 -05:00
en_main.c net/mlx4_en: Refactor the XDP forwarding rings scheme 2016-11-02 15:07:11 -04:00
en_netdev.c net/mlx4_en: Fix user prio field in XDP forward 2016-12-23 17:53:47 -05:00
en_port.c mlx4: fix use-after-free in mlx4_en_fold_software_stats() 2016-12-02 13:33:32 -05:00
en_port.h
en_resources.c net/mlx4: Avoid wrong virtual mappings 2016-05-05 23:23:05 -04:00
en_rx.c net/mlx4_en: Fix bad WQE issue 2016-12-29 14:17:40 -05:00
en_selftest.c mlx4: use reset to set mac header 2016-12-03 15:49:16 -05:00
en_tx.c mlx4: xdp: Reserve headroom for receiving packet when XDP prog is active 2016-12-08 14:25:13 -05:00
eq.c net/mlx4: Fix firmware command timeout during interrupt test 2016-10-29 16:23:48 -04:00
fw_qos.c net/mlx4: Add mlx4_SET_VPORT_QOS implementation 2015-04-02 16:25:02 -04:00
fw_qos.h net/mlx4: Added qos_vport QP configuration in VST mode 2015-04-02 16:25:03 -04:00
fw.c net/mlx4_core: Change the default value of enable_qos 2016-10-29 16:23:48 -04:00
fw.h mlx4: remove unused fields 2016-09-30 01:56:41 -04:00
icm.c net/mlx4: Remove BUG_ON from ICM allocation routine 2016-12-29 14:17:40 -05:00
icm.h
intf.c net/mlx4_core: Check device state before unregistering it 2016-07-25 18:00:25 -07:00
Kconfig ptp_clock: Allow for it to be optional 2016-11-16 09:26:34 +01:00
main.c net/mlx4_core: Fix raw qp flow steering rules under SRIOV 2016-12-29 14:17:40 -05:00
Makefile net/mlx4: New file for QoS related firmware commands 2015-04-02 16:25:02 -04:00
mcg.c net/mlx4: Fix uninitialized fields in rule when adding promiscuous mode to device managed flow steering 2016-11-28 15:33:46 -05:00
mlx4_en.h mlx4: xdp: Reserve headroom for receiving packet when XDP prog is active 2016-12-08 14:25:13 -05:00
mlx4_stats.h net/mlx4_en: Add ethtool statistics for XDP cases 2016-11-02 15:07:11 -04:00
mlx4.h net/mlx4_en: Fix potential deadlock in port statistics flow 2016-10-29 16:23:48 -04:00
mr.c net/mlx4: Fix some indent inconsistancy 2016-07-04 15:22:33 -07:00
pd.c io-mapping: Specify mapping size for io_mapping_map_wc() 2016-04-28 12:17:32 +01:00
port.c net/mlx4_en: Fix potential deadlock in port statistics flow 2016-10-29 16:23:48 -04:00
profile.c net/mlx4_core: use swap() in mlx4_make_profile() 2015-06-11 15:19:41 -07:00
qp.c net/mlx4_core: Add support for RoCE v2 entropy 2016-01-19 15:35:00 -05:00
reset.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
resource_tracker.c net/mlx4_core: Fix raw qp flow steering rules under SRIOV 2016-12-29 14:17:40 -05:00
sense.c
srq.c net/mlx4_core: Use RCU to perform radix tree lookup for SRQ 2016-09-21 21:52:43 -04:00