linux_dsm_epyc7002/drivers/net/ethernet
Saeed Mahameed b5503b994e net/mlx5e: XDP TX forwarding support
Adding support for XDP_TX forwarding from xdp program.
Using XDP, now user can loop packets out of the same port.

We create a dedicated TX SQ for each channel that will serve
XDP programs that return XDP_TX action to loop packets back to
the wire directly from the channel RQ RX path.

For that RX pages will now need to be mapped bi-directionally,
and on XDP_TX action we will sync the page back to device then
queue it into SQ for transmission.  The XDP xmit frame function will
report back to the RX path if the page was consumed (transmitted), if so,
RX path will forget about that page as if it were released to the stack.
Later on, on XDP TX completion, the page will be released back to the
page cache.

For simplicity this patch will hit a doorbell on every XDP TX packet.

Next patch will introduce a xmit more like mechanism that will
queue up more than one packet into SQ w/o notifying the hardware,
once RX napi loop is done we will hit doorbell once for all XDP TX
packets form the previous loop.  This should drastically improve
XDP TX performance.

Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-22 02:51:41 -04:00
..
3com 3c59x: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:57 -07:00
8390 net: ethernet: ax88796: avoid null pointer dereference 2016-08-01 13:32:51 -07:00
adaptec starfire: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:57 -07:00
adi net: bfin_mac: Fix a few spelling fixes 2016-08-13 15:14:56 -07:00
aeroflex net: ethernet: greth: use phy_ethtool_{get|set}_link_ksettings 2016-08-08 15:42:21 -07:00
agere net: ethernet: et131x: constify ethtool_ops structures 2016-08-31 09:22:30 -07:00
allwinner
alteon
altera ethernet: altera: add missing of_node_put 2016-08-01 21:42:57 -07:00
amazon net: ena: change the return type of ena_set_push_mode() to be void. 2016-08-23 17:42:33 -07:00
amd ethernet: amd: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
apm net: ethernet: apm: xgene: use new api ethtool_{get|set}_link_ksettings 2016-09-13 11:45:19 -04:00
apple
arc net: arc_emac: mark arc_mdio_reset() static 2016-09-06 15:58:59 -07:00
atheros alx: fix error handling in __alx_open 2016-09-15 20:15:26 -04:00
aurora ethernet: aurora: nb8800: add missing of_node_put after calling of_parse_phandle 2016-08-01 21:43:47 -07:00
broadcom bnxt_en: Fix build error for kernesl without RTC-LIB 2016-09-20 03:53:49 -04:00
brocade bna: remove global bnad_list_mutex 2016-08-08 15:41:27 -07:00
cadence net: macb: fix missing unlock on error in macb_start_xmit() 2016-09-13 11:42:27 -04:00
calxeda
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-09-12 15:52:44 -07:00
chelsio cxgb4: add support for drop and redirect actions 2016-09-22 01:40:01 -04:00
cirrus
cisco net: enic: use correct type specifier 2016-08-01 13:32:52 -07:00
davicom dm9000: Fix irq trigger type setup on non-dt platforms 2016-08-09 15:08:22 -07:00
dec net: fix up a few missing hashtable.h conflict resolutions 2016-08-13 14:51:02 -07:00
dlink sundance: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
emulex be2net: mark symbols static where possible 2016-09-19 21:52:10 -04:00
ezchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-07-24 00:53:32 -04:00
faraday net/faraday: Disallow using reversed MAC address from hardware 2016-07-20 21:05:18 -07:00
freescale net: Remove NO_IRQ from powerpc-only network drivers 2016-09-13 11:40:51 -04:00
fujitsu
hisilicon net: ethernet: hisilicon: hns: use new api ethtool_{get|set}_link_ksettings 2016-09-22 02:11:40 -04:00
hp
i825xx i825xx: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
ibm net: Remove NO_IRQ from powerpc-only network drivers 2016-09-13 11:40:51 -04:00
intel ptp_clock: future-proofing drivers against PTP subsystem becoming optional 2016-09-22 02:18:33 -04:00
marvell net: mvneta: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
mediatek net: ethernet: mediatek: fix missing changes merged for conflicts overlapping commits 2016-09-22 02:05:03 -04:00
mellanox net/mlx5e: XDP TX forwarding support 2016-09-22 02:51:41 -04:00
micrel
microchip
moxa
myricom
natsemi natsemi: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
neterion net: s2io: simplify logical constraint 2016-08-01 13:32:52 -07:00
netronome nfp: bpf: add offload of TC direct action mode 2016-09-21 19:50:03 -04:00
nuvoton net: ethernet: nuvoton: fix spelling mistake: "aligment" -> "alignment" 2016-08-18 23:29:43 -07:00
nvidia
nxp net: lpc_eth: Check clk_prepare_enable() error 2016-08-23 17:10:16 -07:00
oki-semi
packetengines
pasemi
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-09-12 15:52:44 -07:00
qualcomm net: emac: remove .owner field for driver 2016-09-16 04:25:50 -04:00
rdc net: r6040: add in missing white space in error message text 2016-09-18 22:22:16 -04:00
realtek 8139cp: Fix one possible deadloop in cp_rx_poll 2016-08-25 17:02:48 -07:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-09-12 15:52:44 -07:00
rocker bridge: switchdev: Add forward mark support for stacked devices 2016-08-26 13:13:36 -07:00
samsung
seeq
sfc ptp_clock: future-proofing drivers against PTP subsystem becoming optional 2016-09-22 02:18:33 -04:00
sgi
silan
sis sis900: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-09-12 15:52:44 -07:00
stmicro ptp_clock: future-proofing drivers against PTP subsystem becoming optional 2016-09-22 02:18:33 -04:00
sun
synopsys dwc_eth_qos: constify net_device_ops structures 2016-09-17 10:07:23 -04:00
tehuti net: tehuti: fix typo: "eneble" -> "enable" 2016-08-21 15:21:36 -07:00
ti net: ti: cpmac: Fix compiler warning due to type confusion 2016-09-04 11:47:20 -07:00
tile
toshiba net: Remove NO_IRQ from powerpc-only network drivers 2016-09-13 11:40:51 -04:00
tundra net/ethernet: tundra: fix dump_eth_one warning in tsi108_eth 2016-08-08 13:08:21 -07:00
via via-velocity: remove null pointer check on array tdinfo->skb_dma 2016-09-09 18:17:33 -07:00
wiznet
xilinx net: ethernet: xilinx: Enable emaclite for MIPS 2016-09-08 16:06:37 -07:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-07-24 00:53:32 -04:00
fealnx.c
jme.c
jme.h
Kconfig net: ena: Add a driver for Amazon Elastic Network Adapters (ENA) 2016-08-12 17:12:08 -07:00
korina.c
lantiq_etop.c
Makefile net: ena: Add a driver for Amazon Elastic Network Adapters (ENA) 2016-08-12 17:12:08 -07:00
netx-eth.c