linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlx4
Jack Morgenstein 114840c3d2 mlx4_core: Add support for secure-host and SMP firewall
Secure-host is the general term for the capability of a device
to protect itself and the subnet from malicious host software.

This is achieved by:
1. Not allowing un-trusted entities to access device configuration
   registers, directly (through pci_cr or pci_conf) and indirectly
   (through MADs).

2. Hiding M_Key from untrusted entities.

3. Preventing the modification of GUID0 by un-trusted entities

4. Not allowing drivers on untrusted hosts to receive nor to transmit
   packets over QP0 (SMP Firewall).

The secure-host capability depends on firmware handling all QP0
packets, and not passing these packets up to the driver. Any information
required by the driver for proper operation (e.g., SM lid) is passed
via events generated by the firmware while processing QP0 MADs.

Driver support mainly requires using the MAD_DEMUX FW command at startup,
where the feature is enabled/disabled through a procedure described in
the Mellanox HCA tools package.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>

[ Fix error path in mlx4_setup_hca to go to err_mcg_table_free. - Roland ]

Signed-off-by: Roland Dreier <roland@purestorage.com>
2014-08-05 07:40:22 -07:00
..
alloc.c IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO 2014-06-02 14:58:11 -07:00
catas.c mlx4: Add support for EEH error recovery 2012-07-25 15:24:13 -07:00
cmd.c mlx4_core: Add support for secure-host and SMP firewall 2014-08-05 07:40:22 -07:00
cq.c net/mlx4_en: Don't use irq_affinity_notifier to track changes in IRQ affinity map 2014-07-02 18:29:23 -07:00
en_clock.c ptp: drivers: set the number of programmable pins. 2014-03-21 14:21:14 -04:00
en_cq.c net/mlx4_en: cq->irq_desc wasn't set in legacy EQ's 2014-07-16 23:28:32 -07: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 net/mlx4_en: Ignore budget on TX napi polling 2014-07-08 20:00:49 -07:00
en_main.c mellanox: Logging message cleanups 2014-05-08 23:42:02 -04:00
en_netdev.c net/mlx4_en: Ignore budget on TX napi polling 2014-07-08 20:00:49 -07: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: mark napi id for gro_skb 2014-07-14 16:14:16 -07: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 net/mlx4_en: Ignore budget on TX napi polling 2014-07-08 20:00:49 -07:00
eq.c net/mlx4_en: Don't use irq_affinity_notifier to track changes in IRQ affinity map 2014-07-02 18:29:23 -07:00
fw.c mlx4_core: Add support for secure-host and SMP firewall 2014-08-05 07:40:22 -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 mlx4_core: Fix GFP flags parameters to be gfp_t 2014-06-04 10:19:13 -07:00
icm.h mlx4_core: Fix GFP flags parameters to be gfp_t 2014-06-04 10:19:13 -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_core: Add support for secure-host and SMP firewall 2014-08-05 07:40:22 -07:00
Makefile net/mlx4_en: Add HW timestamping (TS) support 2013-04-24 16:30:14 -04:00
mcg.c net/mlx4_core: Fix inaccurate return value of mlx4_flow_attach() 2014-05-14 15:40:34 -04:00
mlx4_en.h net/mlx4_en: Ignore budget on TX napi polling 2014-07-08 20:00:49 -07:00
mlx4.h mlx4_core: Add support for secure-host and SMP firewall 2014-08-05 07:40:22 -07:00
mr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
pd.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
port.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
profile.c mellanox: Logging message cleanups 2014-05-08 23:42:02 -04:00
qp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
reset.c mellanox: Logging message cleanups 2014-05-08 23:42:02 -04:00
resource_tracker.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -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 IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO 2014-06-02 14:58:11 -07:00