linux/drivers/net/ethernet
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
..
3com net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
8390 net: 8390: use time_after() for time comparison 2014-05-18 21:24:52 -04:00
adaptec net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
adi bfin_mac: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
aeroflex net: greth: remove empty MDIO bus reset function 2014-03-28 01:38:01 -04:00
allwinner net: allwinner: emac: Add missing free_irq 2014-06-25 16:31:17 -07:00
alteon net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
altera Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-05-24 00:32:30 -04:00
amd amd-xgbe: unwind on error in xgbe_mdio_register() 2014-06-11 15:39:19 -07:00
apple
arc arc_emac: add netpoll support 2014-05-13 18:02:24 -04:00
atheros net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
broadcom net: bcmgenet: fix RGMII_MODE_EN bit 2014-07-13 22:55:37 -07:00
brocade Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
cadence net: macb: Fix race between HW and driver 2014-05-05 17:11:18 -04:00
calxeda net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
chelsio cxgb4: use dev_port to identify ports 2014-06-25 16:01:54 -07:00
cirrus cs89x0: Call dev_consume_skb_any instead of dev_kfree_skb. 2014-03-24 21:18:58 -07:00
cisco net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
davicom dm9000: avoid sleeping in dm9000_timeout callback 2014-06-05 15:12:11 -07:00
dec tulip: Poll link status more frequently for Comet chips 2014-06-22 17:12:36 -07:00
dlink net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
emulex be2net: set EQ DB clear-intr bit in be_open() 2014-07-11 14:34:33 -07:00
faraday net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
freescale powerpc/ucc_geth: deal with a compile warning 2014-07-07 19:48:19 -07:00
fujitsu net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
hisilicon net: hisilicon: add hix5hd2 mac driver 2014-06-02 23:39:05 -07:00
hp
i825xx i825xx: Call dev_kfree_skb_any instead of dev_kfree_skb. 2014-03-24 21:19:02 -07:00
ibm net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
icplus net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
intel igb: do a reset on SR-IOV re-init if device is down 2014-07-10 12:45:24 -07:00
marvell net: mvneta: Fix big endian issue in mvneta_txq_desc_csum() 2014-07-08 20:51:36 -07:00
mellanox mlx4_core: Add support for secure-host and SMP firewall 2014-08-05 07:40:22 -07:00
micrel net: ks8851: Don't use regulator_get_optional() 2014-06-02 00:13:51 -07:00
microchip net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
moxa
myricom net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
natsemi net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
neterion net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
nuvoton
nvidia net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
nxp lpc_eth: Use resource_size instead of computation 2014-06-03 16:08:52 -07:00
octeon
oki-semi net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
packetengines net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
pasemi
qlogic qlcnic: Update version to 5.3.60 2014-06-11 15:44:29 -07:00
rdc r6040: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
realtek r8169: Enable RX_MULTI_EN for RTL_GIGA_MAC_VER_40 2014-07-16 22:23:55 -07:00
renesas net: sh_eth: Fix timing of RACT setting in sh_eth_rx() 2014-06-11 15:15:31 -07:00
samsung net: sxgbe: remove duplicate SXGBE_CORE_L34_ADDCTL_REG define 2014-06-11 15:01:30 -07:00
seeq
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-11 16:02:55 -07:00
sgi
silan sc92031: Call dev_consume_skb_any instead of dev_kfree_skb. 2014-03-24 21:19:08 -07:00
sis net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
stmicro Revert "net: stmmac: add platform init/exit for Altera's ARM socfpga" 2014-07-07 19:53:45 -07:00
sun sunvnet: clean up objects created in vnet_new() on vnet_exit() 2014-07-16 22:44:07 -07:00
tehuti net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
ti drivers: net: cpsw: fix dual EMAC stall when connected to same switch 2014-06-21 17:17:39 -07:00
tile net: tile: fix unused variable warning 2014-06-16 21:33:50 -07:00
toshiba net: ethernet: toshiba: ps3_gelic_net.c: Cleaning up a check on a memory allocation 2014-06-11 00:13:16 -07:00
tundra
via via-rhine: fix full-duplex with autoneg disable 2014-06-12 10:31:10 -07:00
wiznet net: w5100: Use devm_ioremap_resource() 2014-02-28 16:57:24 -05:00
xilinx xilinx: Use time_before_eq() 2014-05-22 15:50:13 -04:00
xircom
xscale net: ptp: move PTP classifier in its own file 2014-04-01 16:43:18 -04:00
dnet.c dnet: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
dnet.h
ec_bhf.c driver/net/ethernet/ec_bhf.c: fix sparse warnings 2014-05-14 16:09:33 -04:00
ethoc.c net: ethoc: remove ethoc_config 2014-04-21 14:58:48 -04:00
fealnx.c
jme.c jme: Fix unmap loop counting error: 2014-05-14 15:11:22 -04:00
jme.h
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
korina.c
lantiq_etop.c netdevice: add queue selection fallback handler for ndo_select_queue 2014-02-17 00:36:34 -05:00
Makefile net: hisilicon: add hix5hd2 mac driver 2014-06-02 23:39:05 -07:00
netx-eth.c
s6gmac.c