linux/drivers/net/ethernet
Maxime Chevallier f9d30d5bd5 net: mvpp2: debugfs: add classifier hit counters
The classification operations that are used for RSS make use of several
lookup tables. Having hit counters for these tables is really helpful
to determine what flows were matched by ingress traffic, and see the
path of packets among all the classifier tables.

This commit adds hit counters for the 3 tables used at the moment :

 - The decoding table (also called lookup_id table), that links flows
   identified by the Header Parser to the flow table.

   There's one entry per flow, located at :
   .../mvpp2/<controller>/flows/XX/dec_hits

   Note that there are 21 flows in the decoding table, whereas there are
   52 flows in the Header Parser. That's because there are several kind
   of traffic that will match a given flow. Reading the hit counter from
   one sub-flow will clear all hit counter that have the same flow_id.

   This also applies to the flow_hits.

 - The flow table, that contains all the different lookups to be
   performed by the classifier for each packet of a given flow. The match
   is done on the first entry of the flow sequence.

 - The C2 engine entries, that are used to assign the default rx queue,
   and enable or disable RSS for a given port.

   There's one entry per flow, located at:
   .../mvpp2/<controller>/flows/XX/flow_hits

   There is one C2 entry per port, so the c2 hit counter is located at :
   .../mvpp2/<controller>/ethX/c2_hits

All hit counter values are 16-bits clear-on-read values.

Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-07-16 00:10:01 -07:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
adaptec
aeroflex
agere
alacritech
allwinner
alteon net: alteon: acenic: remove redundant pointer rxdesc 2018-07-04 22:39:10 +09:00
altera
amazon net: allow fallback function to pass netdev 2018-07-09 13:57:25 -07:00
amd net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
apm net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
apple
aquantia net: aquantia: Make some functions static 2018-07-05 19:29:51 +09:00
arc net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
atheros net: alx: remove redundant variable old_duplex 2018-07-04 22:39:10 +09:00
aurora net: ethernet: Make NET_VENDOR_AURORA default to yes 2018-07-05 20:05:54 +09:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-07-14 18:47:44 -07:00
brocade treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
cadence net: ethernet: Add missing VENDOR to Cadence and Packet Engines symbols 2018-07-05 20:05:54 +09:00
calxeda net: Remove depends on HAS_DMA in case of platform dependency 2018-06-23 10:44:30 +09:00
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-07-14 18:47:44 -07:00
chelsio Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2018-07-11 23:03:32 -07:00
cirrus
cisco enic: do not overwrite error code 2018-06-20 08:10:13 +09:00
cortina net: gemini: Indicate that we can handle jumboframes 2018-07-12 17:39:15 -07:00
davicom
dec
dlink
emulex be2net: move rss_flags field in rss_info to ensure proper alignment 2018-07-12 00:03:31 -07:00
ezchip
faraday net/ncsi: Silence debug messages 2018-06-20 07:26:58 +09:00
freescale net: ethernet: gianfar_ethtool: remove redundant variable last_rule_idx 2018-07-04 22:39:11 +09:00
fujitsu
hisilicon net: allow fallback function to pass netdev 2018-07-09 13:57:25 -07:00
hp
huawei net: hinic: remove redundant pointer pfhwdev 2018-07-04 22:39:11 +09:00
i825xx
ibm treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
intel Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-07-14 18:47:44 -07:00
marvell net: mvpp2: debugfs: add classifier hit counters 2018-07-16 00:10:01 -07:00
mediatek net: mediatek: use of_device_get_match_data() 2018-04-16 13:43:07 -04:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-07-14 18:47:44 -07:00
micrel ethernet: micrel: remove redundant pointer 'info' 2018-07-04 22:39:11 +09:00
microchip net: drivers/net: Convert random_ether_addr to eth_random_addr 2018-06-23 10:49:14 +09:00
moxa treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
mscc net: mscc: ocelot: add VLAN filtering 2018-06-28 14:18:49 +09:00
myricom
natsemi net/sonic: Use dma_mapping_error() 2018-05-31 14:17:33 -04:00
neterion treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-07-14 18:47:44 -07:00
ni treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
nuvoton
nvidia treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
nxp
oki-semi net: pch_gbe: Clean up pch_gbe_set_multi 2018-06-23 20:52:09 +09:00
packetengines net: ethernet: Add missing VENDOR to Cadence and Packet Engines symbols 2018-07-05 20:05:54 +09:00
pasemi treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
qlogic xdp: don't make drivers report attachment mode 2018-07-13 20:26:35 +02:00
qualcomm net: drivers/net: Convert random_ether_addr to eth_random_addr 2018-06-23 10:49:14 +09:00
rdc
realtek r8169: fix runtime suspend 2018-07-05 13:24:32 +09:00
renesas net: allow ndo_select_queue to pass netdev 2018-07-09 13:41:34 -07:00
rocker rocker: rocker_main: Ignore bridge VLAN events 2018-05-31 14:13:43 -04:00
samsung
seeq
sfc net: ethernet: sfc: Make subdir logic consistent with other vendors 2018-07-05 20:05:54 +09:00
sgi
silan
sis
smsc epic100: remove redundant variable 'irq' 2018-07-04 22:39:11 +09:00
socionext net: socionext: remove redundant pointer ndev 2018-07-05 19:30:26 +09:00
stmicro stmmac: fix signed 64-bit division 2018-07-07 21:16:53 +09:00
sun net: allow ndo_select_queue to pass netdev 2018-07-09 13:41:34 -07:00
synopsys
tehuti net: tehuti: remove redundant pointer skb 2018-07-05 19:33:39 +09:00
ti net: ethernet: ti: cpts: break cycle once late ts is matched 2018-07-12 00:00:07 -07:00
toshiba treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
tundra
via
wiznet
xilinx net: emaclite: Remove unnecessary spaces 2018-06-30 20:15:45 +09:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
fealnx.c
jme.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
jme.h
Kconfig net: ethernet: Sort Kconfig sourcing alphabetically 2018-05-21 12:14:47 -04:00
korina.c
lantiq_etop.c net: Add generic ndo_select_queue functions 2018-07-09 13:15:34 -07:00
Makefile net: ethernet: sfc: Make subdir logic consistent with other vendors 2018-07-05 20:05:54 +09:00
netx-eth.c