OpenCloudOS-Kernel/drivers/net/ethernet
Vladimir Oltean 1397a2eb52 net: mscc: ocelot: create TCAM skeleton from tc filter chains
For Ocelot switches, there are 2 ingress pipelines for flow offload
rules: VCAP IS1 (Ingress Classification) and IS2 (Security Enforcement).
IS1 and IS2 support different sets of actions. The pipeline order for a
packet on ingress is:

Basic classification -> VCAP IS1 -> VCAP IS2

Furthermore, IS1 is looked up 3 times, and IS2 is looked up twice (each
TCAM entry can be configured to match only on the first lookup, or only
on the second, or on both etc).

Because the TCAMs are completely independent in hardware, and because of
the fixed pipeline, we actually have very limited options when it comes
to offloading complex rules to them while still maintaining the same
semantics with the software data path.

This patch maps flow offload rules to ingress TCAMs according to a
predefined chain index number. There is going to be a script in
selftests that clarifies the usage model.

There is also an egress TCAM (VCAP ES0, the Egress Rewriter), which is
modeled on top of the default chain 0 of the egress qdisc, because it
doesn't have multiple lookups.

Suggested-by: Allan W. Nielsen <allan.nielsen@microchip.com>
Co-developed-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-10-02 15:40:30 -07:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
8390 lib8390: Use netif_msg_init to initialize msg_enable bits 2020-10-01 19:08:46 -07:00
adaptec starfire: switch from 'pci_' to 'dma_' API 2020-08-24 17:33:11 -07:00
aeroflex Replace HTTP links with HTTPS ones: GRETH 10/100/1G Ethernet MAC device driver 2020-07-07 15:44:27 -07:00
agere net: ethernet: et131x: Remove redundant register read 2020-07-17 18:48:15 -07:00
alacritech treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
allwinner net: allwinner: remove redundant irqsave and irqrestore in hardIRQ 2020-09-23 17:33:52 -07:00
alteon net: alteon: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
altera treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
amazon drivers/net/ethernet: remove incorrectly formatted doc 2020-09-25 16:29:00 -07:00
amd net: sun3lance: Remove redundant checks in interrupt handler 2020-09-29 14:02:54 -07:00
apm net: xgene: Move shared header file into include/linux 2020-08-27 06:55:50 -07:00
apple treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
aquantia drivers/net/ethernet: remove incorrectly formatted doc 2020-09-25 16:29:00 -07:00
arc drivers/net/ethernet: add some basic kdoc tags 2020-09-25 16:29:00 -07:00
atheros net: atheros: Remove WARN_ON(in_interrupt()) 2020-09-29 14:02:53 -07:00
aurora net: nb8800: fix nb8800_xmit()'s return type 2020-06-28 20:52:53 -07:00
broadcom bnxt_en: Improve preset max value for ethtool -l. 2020-09-27 13:35:46 -07:00
brocade drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
cadence net: macb: move pdata to private header 2020-09-30 14:18:19 -07:00
calxeda drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
cavium drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
chelsio net: cxbg4: Remove pointless in_interrupt() check 2020-09-29 14:02:54 -07:00
cirrus ethernet: cirrus: Remove unused macros 2020-08-18 12:54:47 -07:00
cisco net: enic: Cure the enic api locking trainwreck 2020-09-29 14:02:53 -07:00
cortina drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
davicom treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
dec drivers/net/ethernet: clean up unused assignments 2020-09-25 16:29:00 -07:00
dlink net: sundance: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
emulex treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ezchip treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
faraday treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
freescale net: fec_mpc52xx: Replace in_interrupt() usage 2020-09-29 14:02:54 -07:00
fujitsu treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
google gve: Enable Link Speed Reporting in the driver. 2020-09-11 14:31:54 -07:00
hisilicon net: hns3: dump tqp enable status in debugfs 2020-09-29 13:14:24 -07:00
huawei devlink: convert flash_update to use params structure 2020-09-25 17:20:57 -07:00
i825xx treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
ibm ibmvnic: create send_control_ip_offload 2020-09-28 16:06:08 -07:00
intel net: intel: Remove in_interrupt() warnings 2020-09-29 14:02:54 -07:00
marvell net: mvneta: avoid possible cache misses in mvneta_rx_swbm 2020-09-29 18:10:07 -07:00
mediatek treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mellanox net/mlx5e: Fix potential null pointer dereference 2020-09-30 21:26:31 -07:00
micrel drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
microchip drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
moxa treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
mscc net: mscc: ocelot: create TCAM skeleton from tc filter chains 2020-10-02 15:40:30 -07:00
myricom net: remove napi_hash_del() from driver-facing API 2020-09-10 13:08:46 -07:00
natsemi net: natsemi: Replace in_interrupt() usage. 2020-09-29 14:02:54 -07:00
neterion net: vxge: Remove in_interrupt() conditionals 2020-09-29 14:02:54 -07:00
netronome devlink: convert flash_update to use params structure 2020-09-25 17:20:57 -07:00
ni net: nixge: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
nvidia treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
nxp
oki-semi drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
packetengines drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
pasemi treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
pensando ionic: prevent early watchdog check 2020-09-30 15:11:09 -07:00
qlogic qed/qed_ll2: Replace one-element array with flexible-array member 2020-09-28 18:47:48 -07:00
qualcomm drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
rdc r6040: switch from 'pci_' to 'dma_' API 2020-07-20 17:49:50 -07:00
realtek net: realtek: Remove set but not used variable 2020-09-23 13:20:29 -07:00
renesas ravb: Add support for explicit internal clock delay configuration 2020-10-01 12:53:31 -07:00
rocker rocker: switch from 'pci_' to 'dma_' API 2020-09-12 18:26:28 -07:00
samsung drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
seeq treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
sfc net: sfc: Use GFP_KERNEL in efx_ef10_try_update_nic_stats() 2020-09-29 14:02:54 -07:00
sgi net: sgi: ioc3-eth: Fix the size used in some 'dma_free_coherent()' calls 2020-08-03 16:00:26 -07:00
silan net: silan: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
sis drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
smsc net: smc91x: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
socionext net: ethernet: ave: Replace alloc_etherdev() with devm_alloc_etherdev() 2020-09-28 12:37:49 -07:00
stmicro stmmac: intel: Adding ref clock 1us tic for LPI cntr 2020-09-28 18:43:57 -07:00
sun net: sunbmac: Replace in_interrupt() usage 2020-09-29 14:02:54 -07:00
synopsys drivers/net/ethernet: clean up unused assignments 2020-09-25 16:29:00 -07:00
tehuti drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
ti drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
toshiba net: tc35815: switch from 'pci_' to 'dma_' API 2020-09-08 20:16:19 -07:00
tundra treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
via drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
wiznet treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
xilinx drivers/net/ethernet: remove incorrectly formatted doc 2020-09-25 16:29:00 -07:00
xircom treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
xscale treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
dnet.c drivers/net/ethernet: clean up unused assignments 2020-09-25 16:29:00 -07:00
dnet.h
ec_bhf.c
ethoc.c drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
fealnx.c net/fealnx: switch from 'pci_' to 'dma_' API 2020-07-20 18:32:49 -07:00
jme.c net: jme: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
jme.h net: jme: Replace HTTP links with HTTPS ones 2020-07-13 17:45:04 -07:00
korina.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
lantiq_etop.c
lantiq_xrx200.c net: lantiq: Disable IRQs only if NAPI gets scheduled 2020-09-14 14:53:15 -07:00