linux/drivers/net/ethernet/mellanox/mlx4
Jack Morgenstein 99ec41d0a4 mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs
This commit adds the infrastructure for enabling selected VFs to
operate SMI (QP0) MADs without restriction.

Additionally, for these enabled VFs, their QP0 proxy and tunnel QPs
are MLX QPs.  As such, they operate over VL15.  Therefore, they are
not affected by "credit" problems or changes in the VLArb table (which
may shut down VL0).

Non-enabled VFs may only create UD proxy QP0 qps (which are forced by
the hypervisor to send packets using the q-key it assigns and places
in the qp-context).  Thus, non-enabled VFs will not pose a security
risk.  The hypervisor discards any privileged MADs it receives from
these non-enabled VFs.

By default, all VFs are NOT enabled, and must explicitly be enabled
by the administrator.

The sysfs interface which operates the VF enablement infrastructure
is provided in the next commit.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2014-05-29 21:13:09 -07:00
..
alloc.c mlx4_core: Roll back round robin bitmap allocation commit for CQs, SRQs, and MPTs 2013-12-09 21:12:13 -05:00
catas.c mlx4: Add support for EEH error recovery 2012-07-25 15:24:13 -07:00
cmd.c mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs 2014-05-29 21:13:09 -07:00
cq.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
en_clock.c ptp: drivers: set the number of programmable pins. 2014-03-21 14:21:14 -04:00
en_cq.c mlx4_en: don't use napi_synchronize inside mlx4_en_netpoll 2014-04-16 15:02:42 -04:00
en_dcb_nl.c net/mlx4_en: Fix UP limit in ieee_ets->prio_tc 2014-03-02 20:04:00 -05:00
en_ethtool.c mlx4_en: Add PTP hardware clock 2014-01-02 03:30:36 -05:00
en_main.c net/mlx4_en: mlx4_en_verify_params() can be static 2014-03-06 16:53:36 -05:00
en_netdev.c mlx4_en: don't use napi_synchronize inside mlx4_en_netpoll 2014-04-16 15:02:42 -04:00
en_port.c net/mlx4_en: Move queue stopped/waked counters to be per ring 2014-03-02 20:04:01 -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: Add netdev support for TCP/IP offloads of vxlan tunneling 2013-12-31 14:31:43 -05:00
en_rx.c mlx4: Don't receive packets when the napi budget == 0 2014-03-14 22:52:48 -04:00
en_selftest.c net/mlx4_en: Fix selftest failing on non 10G link speed 2014-03-02 20:04:01 -05:00
en_tx.c mlx4: Call dev_kfree_skby_any instead of dev_kfree_skb. 2014-03-12 16:22:13 -04:00
eq.c net/mlx4: Adapt code for N-Port VF 2014-03-20 16:18:30 -04:00
fw.c mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs 2014-05-29 21:13:09 -07:00
fw.h mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs 2014-05-29 21:13:09 -07:00
icm.c net/mlx4_core: ICM pages are allocated on device NUMA node 2013-11-07 19:22:48 -05: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 net/mlx4: Set proper build dependancy with vxlan 2014-04-01 16:25:51 -04:00
main.c mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs 2014-05-29 21:13:09 -07:00
Makefile net/mlx4_en: Add HW timestamping (TS) support 2013-04-24 16:30:14 -04:00
mcg.c net/mlx4: Adapt code for N-Port VF 2014-03-20 16:18:30 -04:00
mlx4_en.h mlx4_en: don't use napi_synchronize inside mlx4_en_netpoll 2014-04-16 15:02:42 -04:00
mlx4.h mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs 2014-05-29 21:13:09 -07:00
mr.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
pd.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
port.c net/mlx4_core: Fix slave id computation for single port VF 2014-05-05 15:48:21 -04:00
profile.c mlx4_core: Fix integer overflow issues around MTT table 2012-08-15 21:05:26 -07:00
qp.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
reset.c mlx4: Use PCI Express Capability accessors 2012-08-23 10:11:13 -06:00
resource_tracker.c mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs 2014-05-29 21:13:09 -07: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 drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00