diff options
author | Andrew Yourtchenko <ayourtch@gmail.com> | 2021-08-13 13:59:50 +0000 |
---|---|---|
committer | Ole Tr�an <otroan@employees.org> | 2021-08-19 08:42:00 +0000 |
commit | 1d342b9c8f515eabfb20fe8856ba311769870711 (patch) | |
tree | 8ede30a7dbad94dbb060a95cb58c37fb677edc47 /src/plugins/acl/acl.api | |
parent | 38071b1331b44746679997f6e66081c4936d087c (diff) |
acl: add API call for setting the toggle to select between linear and bihash-based lookups
In some cases (ACL of a few lines long with a lot of different subnet masks), linear lookup
may be more efficient than the hash-based lookup. Expose the API to allow the control plane
to choose what lookup algorithm to use.
Type: improvement
Change-Id: I540dd1b4ce63c5106a556d550f911f3a578b33e0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Diffstat (limited to 'src/plugins/acl/acl.api')
-rw-r--r-- | src/plugins/acl/acl.api | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/src/plugins/acl/acl.api b/src/plugins/acl/acl.api index a4706c3e529..404b512abed 100644 --- a/src/plugins/acl/acl.api +++ b/src/plugins/acl/acl.api @@ -19,7 +19,7 @@ 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"; @@ -497,3 +497,43 @@ autoreply define acl_stats_intf_counters_enable 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; +}; |