used to control the ACL plugin
*/
-option version = "2.0.0";
+option version = "2.0.1";
import "plugins/acl/acl_types.api";
import "vnet/interface_types.api";
@r - Rules for this access-list
*/
-manual_print manual_endian define acl_add_replace
+ define acl_add_replace
{
u32 client_index;
u32 context;
@param acl_index - ACL index to delete
*/
-autoreply manual_print define acl_del
+autoreply define acl_del
{
u32 client_index;
u32 context;
@param acl_index - index of ACL for the operation
*/
-autoreply manual_print define acl_interface_add_del
+autoreply define acl_interface_add_del
{
u32 client_index;
u32 context;
@param acls - vector of ACL indices
*/
-autoreply manual_print define acl_interface_set_acl_list
+autoreply define acl_interface_set_acl_list
{
u32 client_index;
u32 context;
@param r - Array of rules within this ACL
*/
-manual_endian manual_print define acl_details
+define acl_details
{
u32 context;
u32 acl_index;
@param r - vector of MACIP ACL rules
*/
-manual_endian manual_print define macip_acl_add
+define macip_acl_add
{
u32 client_index;
u32 context;
@param r - vector of MACIP ACL rules
*/
-manual_endian manual_print define macip_acl_add_replace
+define macip_acl_add_replace
{
u32 client_index;
u32 context;
@param acl_index - MACIP ACL index to delete
*/
-autoreply manual_print define macip_acl_del
+autoreply define macip_acl_del
{
u32 client_index;
u32 context;
@param acl_index - MACIP ACL index
*/
-autoreply manual_print define macip_acl_interface_add_del
+autoreply define macip_acl_interface_add_del
{
u32 client_index;
u32 context;
@param r - rules comprising this MACIP ACL
*/
-manual_endian manual_print define macip_acl_details
+ define macip_acl_details
{
u32 context;
u32 acl_index;
@param whitelist - vector of whitelisted ethertypes
*/
-autoreply manual_print define acl_interface_set_etype_whitelist
+autoreply define acl_interface_set_etype_whitelist
{
u32 client_index;
u32 context;
bool enable;
option vat_help = "[disable]";
};
+
+/** \brief Enable hash-based ACL lookups (default) or disable them (use linear search)
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param enable - whether to enable or disable the usage of hash lookup algorithm
+*/
+
+autoreply define acl_plugin_use_hash_lookup_set
+{
+ option status="in_progress";
+ u32 client_index;
+ u32 context;
+ bool enable;
+};
+
+/** \brief Get if the hash-based ACL lookups are enabled (default) or not (use linear search)
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+
+
+define acl_plugin_use_hash_lookup_get
+{
+ option status="in_progress";
+ u32 client_index;
+ u32 context;
+};
+
+
+/** \brief Reply with the previous state of the hash lookup
+ @param context - returned sender context, to match reply w/ request
+ @param prev_enable - previous state of the hash lookup use
+*/
+
+define acl_plugin_use_hash_lookup_get_reply
+{
+ option status="in_progress";
+ u32 context;
+ bool enable;
+};