linux_dsm_epyc7002/drivers/net/ethernet
Brenden Blanco 9ecc2d8617 net/mlx4_en: add xdp forwarding and data write support
A user will now be able to loop packets back out of the same port using
a bpf program attached to xdp hook. Updates to the packet contents from
the bpf program is also supported.

For the packet write feature to work, the rx buffers are now mapped as
bidirectional when the page is allocated. This occurs only when the xdp
hook is active.

When the program returns a TX action, enqueue the packet directly to a
dedicated tx ring, so as to avoid completely any locking. This requires
the tx ring to be allocated 1:1 for each rx ring, as well as the tx
completion running in the same softirq.

Upon tx completion, this dedicated tx ring recycles pages without
unmapping directly back to the original rx ring. In steady state tx/drop
workload, effectively 0 page allocs/frees will occur.

In order to separate out the paths between free and recycle, a
free_tx_desc func pointer is introduced that is optionally updated
whenever recycle_ring is activated. By default the original free
function is always initialized.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-19 21:46:33 -07:00
..
3com treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
8390 net: ethernet: ax88796: use phy_ethtool_{get|set}_link_ksettings 2016-06-16 17:07:05 -07:00
adaptec treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
adi net: ethernet: adi: bfin_mac: use phy_ethtool_{get|set}_link_ksettings 2016-07-17 23:22:02 -07:00
aeroflex aeroflex/greth: fix warning about unused variable 2016-05-20 18:33:37 -07:00
agere net: ethernet: et131x: use phy_ethtool_{get|set}_link_ksettings 2016-06-17 22:30:59 -07:00
allwinner net: ethernet: sun4i-emac: use phy_ethtool_{get|set}_link_ksettings 2016-06-22 16:22:41 -04:00
alteon
altera net: ethernet: altera_tse: use phy_ethtool_{get|set}_link_ksettings 2016-06-22 16:22:41 -04:00
amd net: ethernet: amd: au1000_eth: use phy_ethtool_{get|set}_link_ksettings 2016-07-15 16:41:35 -07:00
apm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-15 13:32:48 -04:00
apple
arc net: ethernet: arc: emac: use phy_ethtool_{get|set}_link_ksettings 2016-07-04 15:59:52 -07:00
atheros net: alx: Work around the DMA RX overflow issue 2016-06-14 15:30:50 -04:00
aurora net: ethernet: nb8800: use phy_ethtool_{get|set}_link_ksettings 2016-06-19 10:55:16 -07:00
broadcom bnxt_en: Remove locking around txr->dev_state 2016-07-19 19:22:38 -07:00
brocade
cadence net: ethernet: macb: use phy_ethtool_{get|set}_link_ksettings 2016-06-25 11:57:33 -04:00
calxeda
cavium liquidio: Response header changes 2016-07-04 16:15:32 -07:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-07-06 10:35:22 -07:00
cirrus net: cx89x0: Add DT support 2016-06-15 12:17:57 -07:00
cisco net: ethernet: enic: move to new ethtool api {get|set}_link_ksettings 2016-06-14 17:16:14 -04:00
davicom drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00
dec treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
dlink treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
emulex be2net: signedness bug in be_msix_enable() 2016-06-30 08:54:18 -04:00
ezchip net: nps_enet: code reuse 2016-07-13 20:59:06 -07:00
faraday net/faraday: Mask PHY interrupt with NCSI mode 2016-07-19 20:49:18 -07:00
freescale Revert "fsl/fman: fix error handling" 2016-07-04 17:16:41 -07:00
fujitsu treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
hisilicon net: hisilicon: Add Fast Ethernet MAC driver 2016-07-16 21:32:58 -07:00
hp treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
i825xx treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
ibm ibmvnic: fix to use list_for_each_safe() when delete items 2016-06-29 05:23:42 -04:00
intel drivers/net: fixup comments after "Future-proof tunnel offload handlers" 2016-07-11 13:42:11 -07:00
marvell net: ethernet: marvell: pxa168_eth: use phy_ethtool_{get|set}_link_ksettings 2016-07-17 23:22:02 -07:00
mediatek net: mediatek: fix non static symbol warnings 2016-07-12 11:07:38 -07:00
mellanox net/mlx4_en: add xdp forwarding and data write support 2016-07-19 21:46:33 -07:00
micrel drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00
microchip enc28j60: Fix race condition in enc28j60 driver 2016-07-02 14:48:14 -04:00
moxa treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
myricom
natsemi treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
neterion
netronome nfp: check idx is -ENOSPC before using it is an index 2016-07-11 13:52:00 -07:00
nuvoton treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
nvidia
nxp net: lpc_eth: Remove unused 'pldat' variable 2016-07-04 23:55:29 -07:00
oki-semi
packetengines treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
pasemi net: ethernet: pasemi_mac: use phy_ethtool_{get|set}_link_ksettings 2016-07-15 16:41:34 -07:00
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-07-06 10:35:22 -07:00
qualcomm treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
rdc net: r6040: Bump version and date 2016-07-05 00:10:30 -07:00
realtek r8169: default to 64-bit DMA on recent PCIe chips 2016-05-17 14:31:09 -04:00
renesas sh_eth: fix DMA channel misreporting 2016-07-19 16:01:33 -07:00
rocker net: add dev arg to ndo_neigh_construct/destroy 2016-07-05 09:06:28 -07:00
samsung net: ethernet: sxgbe: use phy_ethtool_{get|set}_link_ksettings 2016-06-28 09:12:35 -04:00
seeq treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-06-30 05:03:36 -04:00
sgi treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
silan
sis treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
smsc net: ethernet: smsc9420: use phy_ethtool_{get|set}_link_ksettings 2016-07-15 16:41:35 -07:00
stmicro stmmac: dwmac-socfpga: remove redundant dev_err call in socfpga_dwmac_parse_data() 2016-07-13 18:07:56 -07:00
sun treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
synopsys dwc_eth_qos: Remove deprecated create_singlethread_workqueue 2016-07-17 22:27:39 -07:00
tehuti treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
ti net: ti: cpmac: Use the correct function to free some resources. 2016-07-19 11:30:26 -07:00
tile net: tilegx: use correct timespec64 type 2016-06-17 22:27:38 -07:00
toshiba net: ethernet: tc35815: use phy_ethtool_{get|set}_link_ksettings 2016-07-15 16:41:33 -07:00
tundra
via treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
wiznet net: ethernet: wiznet: Remove create_workqueue 2016-06-02 12:15:17 -07:00
xilinx net: ethernet: xilinx: axienet: use phy_ethtool_{get|set}_link_ksettings 2016-07-15 16:41:34 -07:00
xircom ethernet: xircom: fix spelling mistakes on "excessive collisions" 2016-06-27 04:19:14 -04:00
xscale net: ethernet: ixp4xx_eth: use phy_ethtool_{get|set}_link_ksettings 2016-07-04 15:59:52 -07:00
dnet.c net: ethernet: dnet: use phy_ethtool_{get|set}_link_ksettings 2016-06-28 05:10:26 -04:00
dnet.h net: ethernet: dnet: use phydev from struct net_device 2016-06-28 05:10:26 -04:00
ec_bhf.c
ethoc.c net: ethernet: ethoc: use phy_ethtool_{get|set}_link_ksettings 2016-07-15 16:41:35 -07:00
fealnx.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
jme.c
jme.h
Kconfig
korina.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
lantiq_etop.c net: ethernet: lantiq_etop: use phy_ethtool_{get|set}_link_ksettings 2016-07-04 15:59:51 -07:00
Makefile
netx-eth.c drivers: net: Don't print unpopulated net_device name 2016-05-17 12:30:19 -04:00