1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2014 Intel Corporation
5 #ifndef __INCLUDE_RTE_TABLE_ACL_H__
6 #define __INCLUDE_RTE_TABLE_ACL_H__
16 * This table uses the Access Control List (ACL) algorithm to uniquely
17 * associate data to lookup keys.
19 * Use-cases: Firewall rule database, etc.
27 #include "rte_table.h"
29 /** ACL table parameters */
30 struct rte_table_acl_params {
34 /** Maximum number of ACL rules in the table */
37 /** Number of fields in the ACL rule specification */
38 uint32_t n_rule_fields;
40 /** Format specification of the fields of the ACL rule */
41 struct rte_acl_field_def field_format[RTE_ACL_MAX_FIELDS];
44 /** ACL rule specification for entry add operation */
45 struct rte_table_acl_rule_add_params {
46 /** ACL rule priority, with 0 as the highest priority */
49 /** Values for the fields of the ACL rule to be added to the table */
50 struct rte_acl_field field_value[RTE_ACL_MAX_FIELDS];
53 /** ACL rule specification for entry delete operation */
54 struct rte_table_acl_rule_delete_params {
55 /** Values for the fields of the ACL rule to be deleted from table */
56 struct rte_acl_field field_value[RTE_ACL_MAX_FIELDS];
59 /** ACL table operations */
60 extern struct rte_table_ops rte_table_acl_ops;