linux_dsm_epyc7002/drivers/net/ethernet
Yotam Gigi 98d0f7b9ac mlxsw: spectrum: Add packet sample offloading support
Using the MPSC register, add the functions that configure port-based
packet sampling in hardware and the necessary datatypes in the
mlxsw_sp_port struct. In addition, add the necessary trap for sampled
packets and integrate with matchall offloading to allow offloading of the
sample tc action.

The current offload support is for the tc command:

tc filter add dev <DEV> parent ffff: \
	  matchall skip_sw \
	  action sample rate <RATE> group <GROUP> [trunc <SIZE>]

Where only ingress qdiscs are supported, and only a combination of
matchall classifier and sample action will lead to activating hardware
packet sampling.

Signed-off-by: Yotam Gigi <yotamg@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-24 13:44:28 -05:00
..
3com net: 3com: typhoon: typhoon_init_one: make return values more specific 2016-12-30 15:26:22 -05:00
8390 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
adaptec Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
adi Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:56:15 -08:00
aeroflex net: phy: expose phy_aneg_done API for use by drivers 2016-11-13 00:56:26 -05:00
agere
alacritech net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
allwinner net: ethernet: sun4i-emac: Read rxhdr in CPU byte-order 2016-11-15 22:05:54 -05:00
alteon Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
altera Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
amazon net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-09 15:39:11 -05:00
apm net: remove useless memset's in drivers get_stats64 2017-01-08 17:51:44 -05:00
apple
arc net: arc_emac: add dependencies on associated arches and compile test 2016-11-29 18:57:36 -05:00
atheros alx: add feature flag for rx checksumming 2017-01-09 14:52:54 -05:00
aurora Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
broadcom bnx2x: avoid two atomic ops per page on x86 2017-01-23 11:16:27 -05:00
brocade net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
cadence macb: Common code to enable ptp support for MACB/GEM 2017-01-19 11:45:54 -05:00
calxeda net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
cavium net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
chelsio cxgb4: hide unused warnings 2017-01-20 11:16:57 -05:00
cirrus net: cirrus: ep93xx: use new api ethtool_{get|set}_link_ksettings 2016-12-17 21:31:41 -05:00
cisco net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
davicom net: davicom: dm9000: use new api ethtool_{get|set}_link_ksettings 2016-12-17 21:31:41 -05:00
dec net: dec: winbond-840: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
dlink net: dlink: sundance: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-17 15:19:37 -05:00
ezchip
faraday net: faraday: ftmac100: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
freescale net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
fujitsu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hisilicon net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
hp
i825xx
ibm net: ibm: ibmvnic: use new api ethtool_{get|set}_link_ksettings 2017-01-09 12:09:10 -05:00
intel net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
marvell net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
mediatek net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
mellanox mlxsw: spectrum: Add packet sample offloading support 2017-01-24 13:44:28 -05:00
micrel
microchip encx24j600: Fix some checkstyle warnings 2016-12-16 13:31:47 -05:00
moxa net: moxa: constify net_device_ops structures 2017-01-23 15:58:49 -05:00
myricom net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
natsemi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
neterion net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
netronome net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
nuvoton
nvidia net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
nxp
oki-semi
packetengines Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
pasemi
qlogic qed: Replace memset with eth_zero_addr 2017-01-17 15:24:47 -05:00
qualcomm net: qcom/emac: claim the irq only when the device is opened 2017-01-23 13:03:28 -05:00
rdc r6040: move spinlock in r6040_close as SOFTIRQ-unsafe lock order detected 2016-12-17 21:35:12 -05:00
realtek net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-17 15:19:37 -05:00
rocker ipv4: fib: Replay events when registering FIB notifier 2016-12-03 19:29:35 -05:00
samsung net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
seeq
sfc sfc: read back RX hash config from the NIC when querying it with ethtool -x 2017-01-17 15:49:52 -05:00
sgi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
silan
sis Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
smsc net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
stmicro net: stmmac: dwmac-meson8b: make the RGMII TX delay configurable 2017-01-24 13:35:40 -05:00
sun net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
tehuti
ti net: ethernet: ti: cpsw: clarify ethtool ops changing num of descs 2017-01-20 12:35:10 -05:00
tile tilepro: Fix non-void return from void function 2017-01-12 15:14:09 -05:00
toshiba Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
tundra
via net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
wiznet
xilinx net: xilinx: constify net_device_ops structure 2017-01-23 15:58:49 -05:00
xircom Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
xscale net: ethernet: ixp4xx_eth: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
dnet.c
dnet.h
ec_bhf.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
ethoc.c net: ethoc: Make needlessly global struct ethtool_ops static 2017-01-17 15:50:56 -05:00
fealnx.c net: fealnx: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
jme.c net: jme: use new api ethtool_{get|set}_link_ksettings 2017-01-17 11:44:27 -05:00
jme.h net: jme: use new api ethtool_{get|set}_link_ksettings 2017-01-17 11:44:27 -05:00
Kconfig synopsys: remove dwc_eth_qos driver 2017-01-15 22:00:59 -05:00
korina.c net: korina: use new api ethtool_{get|set}_link_ksettings 2017-01-17 11:44:27 -05:00
lantiq_etop.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
Makefile synopsys: remove dwc_eth_qos driver 2017-01-15 22:00:59 -05:00
netx-eth.c