linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlx4
Hadar Hen Zion fab1e24ab8 net/mlx4_core: Translate guest B0 steering rules to DMFS
The different steering modes are global to the device, with DMFS
being introduced after SRIOV was merged. Hence, SRIOV guests running
legacy / older Linux kernels or non-Linux drivers may provide
B0 steering directives when the hypervisor is using DMFS and fail.

Under B0 only L2 steering rules are allowed, hence B0 is a subset of DMFS.
Use this fact to enable such legacy guests to run by modifying the SRIOV
B0 steering wrapper to translate guest B0 directives to DMFS ones when
the device uses DMFS. The translated B0 rule has to be kept in the
resource tracker as a B0 object to allow for lookup in case of detach.

Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-04-11 16:12:40 -04:00
..
alloc.c mlx4_core: Change bitmap allocator to work in round-robin fashion 2012-05-14 13:44:38 -07:00
catas.c mlx4: Add support for EEH error recovery 2012-07-25 15:24:13 -07:00
cmd.c drivers:net: Remove dma_alloc_coherent OOM messages 2013-03-15 08:56:58 -04:00
cq.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
en_cq.c mlx4: 64-byte CQE/EQE support 2012-11-26 10:19:17 -08:00
en_dcb_nl.c net/mlx4_en: Advertize DCB_CAP_DCBX_HOST in getdcbx 2013-04-07 16:55:47 -04:00
en_ethtool.c drivers: net: Remove remaining alloc/OOM messages 2013-02-08 17:44:39 -05:00
en_main.c Main batch of InfiniBand/RDMA changes for 3.9: 2013-02-26 11:41:08 -08:00
en_netdev.c net/mlx4_en: Enable DCB ETS ops only when supported by the firmware 2013-04-07 16:55:46 -04:00
en_port.c mlx4: Ethernet port management modifications 2011-12-13 13:56:07 -05:00
en_port.h net/mlx4_core: set port QoS attributes 2012-04-05 05:08:03 -04:00
en_resources.c net/mlx4_en: Force user priority by QP attribute 2012-04-05 05:08:03 -04:00
en_rx.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
en_selftest.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
en_tx.c mlx4_en: Fix BQL reset TX queue call point 2013-02-07 23:33:51 -05:00
eq.c net/mlx4_core: Fix wrong mask applied on EQ numbers in the wrapper 2013-03-21 12:05:07 -04:00
fw.c net/mlx4_en: Enable DCB ETS ops only when supported by the firmware 2013-04-07 16:55:46 -04:00
fw.h Main batch of InfiniBand/RDMA changes for 3.9: 2013-02-26 11:41:08 -08:00
icm.c mlx4_core: Fix integer overflows so 8TBs of memory registration works 2012-09-13 17:52:02 -07:00
icm.h mlx4_core: Fix integer overflows so 8TBs of memory registration works 2012-09-13 17:52:02 -07:00
intf.c mlx4: Use port management change event instead of smp_snoop 2012-07-10 09:47:10 -07:00
Kconfig mlx4_en: Remove remnants of LRO support 2012-11-19 19:13:59 -05:00
main.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
Makefile net/mlx4_en: DCB QoS support 2012-04-05 05:08:04 -04:00
mcg.c net/mlx4_core: Add helper function to translate B0 steering rules to DMFS 2013-04-11 16:12:40 -04:00
mlx4_en.h net/mlx4_en: Enable DCB ETS ops only when supported by the firmware 2013-04-07 16:55:46 -04:00
mlx4.h net/mlx4_core: Add helper function to translate B0 steering rules to DMFS 2013-04-11 16:12:40 -04:00
mr.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
pd.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
port.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
profile.c mlx4_core: Fix integer overflow issues around MTT table 2012-08-15 21:05:26 -07:00
qp.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
reset.c mlx4: Use PCI Express Capability accessors 2012-08-23 10:11:13 -06:00
resource_tracker.c net/mlx4_core: Translate guest B0 steering rules to DMFS 2013-04-11 16:12:40 -04:00
sense.c Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2012-10-02 09:54:49 -07:00
srq.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00