1*8beef08fSSteen Hegelund# SPDX-License-Identifier: GPL-2.0-only 2*8beef08fSSteen Hegelund# 3*8beef08fSSteen Hegelund# Microchip VCAP API configuration 4*8beef08fSSteen Hegelund# 5*8beef08fSSteen Hegelund 6*8beef08fSSteen Hegelundif NET_VENDOR_MICROCHIP 7*8beef08fSSteen Hegelund 8*8beef08fSSteen Hegelundconfig VCAP 9*8beef08fSSteen Hegelund bool "VCAP (Versatile Content-Aware Processor) library" 10*8beef08fSSteen Hegelund help 11*8beef08fSSteen Hegelund Provides the basic VCAP functionality for multiple Microchip switchcores 12*8beef08fSSteen Hegelund 13*8beef08fSSteen Hegelund A VCAP is essentially a TCAM with rules consisting of 14*8beef08fSSteen Hegelund 15*8beef08fSSteen Hegelund - Programmable key fields 16*8beef08fSSteen Hegelund - Programmable action fields 17*8beef08fSSteen Hegelund - A counter (which may be only one bit wide) 18*8beef08fSSteen Hegelund 19*8beef08fSSteen Hegelund Besides this each VCAP has: 20*8beef08fSSteen Hegelund 21*8beef08fSSteen Hegelund - A number of lookups 22*8beef08fSSteen Hegelund - A keyset configuration per port per lookup 23*8beef08fSSteen Hegelund 24*8beef08fSSteen Hegelund The VCAP implementation provides switchcore independent handling of rules 25*8beef08fSSteen Hegelund and supports: 26*8beef08fSSteen Hegelund 27*8beef08fSSteen Hegelund - Creating and deleting rules 28*8beef08fSSteen Hegelund - Updating and getting rules 29*8beef08fSSteen Hegelund 30*8beef08fSSteen Hegelund The platform specific configuration as well as the platform specific model 31*8beef08fSSteen Hegelund of the VCAP instances are attached to the VCAP API and a client can then 32*8beef08fSSteen Hegelund access rules via the API in a platform independent way, with the 33*8beef08fSSteen Hegelund limitations that each VCAP has in terms of its supported keys and actions. 34*8beef08fSSteen Hegelund 35*8beef08fSSteen Hegelund Different switchcores will have different VCAP instances with different 36*8beef08fSSteen Hegelund characteristics. Look in the datasheet for the VCAP specifications for the 37*8beef08fSSteen Hegelund specific switchcore. 38*8beef08fSSteen Hegelund 39*8beef08fSSteen Hegelundendif # NET_VENDOR_MICROCHIP 40