GNU Linux-libre 6.8.9-gnu
[releases.git] / drivers / net / ethernet / microchip / vcap / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Microchip VCAP API configuration
4 #
5
6 if NET_VENDOR_MICROCHIP
7
8 config 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
39 config 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
53 endif # NET_VENDOR_MICROCHIP