Linux v6.6.1 - vcap

# SPDX-License-Identifier: GPL-2.0-only
#
# Microchip VCAP API configuration
#

if NET_VENDOR_MICROCHIP

config VCAP
	bool "VCAP (Versatile Content-Aware Processor) library"
	help
	  Provides the basic VCAP functionality for multiple Microchip switchcores

	  A VCAP is essentially a TCAM with rules consisting of

	    - Programmable key fields
	    - Programmable action fields
	    - A counter (which may be only one bit wide)

	  Besides this each VCAP has:

	    - A number of lookups
	    - A keyset configuration per port per lookup

	  The VCAP implementation provides switchcore independent handling of rules
	  and supports:

	    - Creating and deleting rules
	    - Updating and getting rules

	  The platform specific configuration as well as the platform specific model
	  of the VCAP instances are attached to the VCAP API and a client can then
	  access rules via the API in a platform independent way, with the
	  limitations that each VCAP has in terms of its supported keys and actions.

	  Different switchcores will have different VCAP instances with different
	  characteristics. Look in the datasheet for the VCAP specifications for the
	  specific switchcore.

config VCAP_KUNIT_TEST
	bool "KUnit test for VCAP library" if !KUNIT_ALL_TESTS
	depends on KUNIT
	depends on KUNIT=y && VCAP=y && y
	select DEBUG_FS
	default KUNIT_ALL_TESTS
	help
	  This builds unit tests for the VCAP library.

	  For more information on KUnit and unit tests in general, please refer
	  to the KUnit documentation in Documentation/dev-tools/kunit/.

	  If unsure, say N.

endif # NET_VENDOR_MICROCHIP