xref: /linux/drivers/net/ethernet/microchip/vcap/Kconfig (revision 9f2c9170934eace462499ba0bfe042cc72900173)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Microchip VCAP API configuration
4#
5
6if NET_VENDOR_MICROCHIP
7
8config VCAP
9	bool "VCAP (Versatile Content-Aware Processor) library"
10	help
11	  Provides the basic VCAP functionality for multiple Microchip switchcores
12
13	  A VCAP is essentially a TCAM with rules consisting of
14
15	    - Programmable key fields
16	    - Programmable action fields
17	    - A counter (which may be only one bit wide)
18
19	  Besides this each VCAP has:
20
21	    - A number of lookups
22	    - A keyset configuration per port per lookup
23
24	  The VCAP implementation provides switchcore independent handling of rules
25	  and supports:
26
27	    - Creating and deleting rules
28	    - Updating and getting rules
29
30	  The platform specific configuration as well as the platform specific model
31	  of the VCAP instances are attached to the VCAP API and a client can then
32	  access rules via the API in a platform independent way, with the
33	  limitations that each VCAP has in terms of its supported keys and actions.
34
35	  Different switchcores will have different VCAP instances with different
36	  characteristics. Look in the datasheet for the VCAP specifications for the
37	  specific switchcore.
38
39config VCAP_KUNIT_TEST
40	bool "KUnit test for VCAP library" if !KUNIT_ALL_TESTS
41	depends on KUNIT
42	depends on KUNIT=y && VCAP=y && y
43	select DEBUG_FS
44	default KUNIT_ALL_TESTS
45	help
46	  This builds unit tests for the VCAP library.
47
48	  For more information on KUnit and unit tests in general, please refer
49	  to the KUnit documentation in Documentation/dev-tools/kunit/.
50
51	  If unsure, say N.
52
53endif # NET_VENDOR_MICROCHIP
54