| /dpdk/drivers/regex/cn9k/ |
| H A D | cn9k_regexdev_compiler.c | 15 ree_rule_db_compile(const struct rte_regexdev_rule *rules, in ree_rule_db_compile() argument 63 ruleset.rules = rte_malloc("rxp_rule_entry", in ree_rule_db_compile() 66 if (ruleset.rules == NULL) { in ree_rule_db_compile() 76 ruleset.rules[i].number_of_prefix_entries = 0; in ree_rule_db_compile() 77 ruleset.rules[i].prefix = NULL; in ree_rule_db_compile() 78 ruleset.rules[i].rule = rules[i].pcre_rule; in ree_rule_db_compile() 79 ruleset.rules[i].rule_id = rules[i].rule_id; in ree_rule_db_compile() 80 ruleset.rules[i].subset_id = rules[i].group_id; in ree_rule_db_compile() 81 ruleset.rules[i].rule_direction_type = in ree_rule_db_compile() 122 rte_free(ruleset.rules); in ree_rule_db_compile() [all …]
|
| H A D | cn9k_regexdev.c | 260 rte_free(data->rules); in ree_dev_fini() 717 if (rules[i].op == RTE_REGEX_RULE_OP_REMOVE) in cn9k_ree_rule_db_update() 719 if (rules[i].group_id >= data->max_groups) in cn9k_ree_rule_db_update() 737 data->rules = rte_malloc("rte_regexdev_rules", in cn9k_ree_rule_db_update() 739 if (data->rules == NULL) in cn9k_ree_rule_db_update() 742 memcpy(data->rules, rules, in cn9k_ree_rule_db_update() 747 old_ptr = data->rules; in cn9k_ree_rule_db_update() 749 data->rules = rte_realloc(data->rules, in cn9k_ree_rule_db_update() 752 if (data->rules == NULL) { in cn9k_ree_rule_db_update() 753 data->rules = old_ptr; in cn9k_ree_rule_db_update() [all …]
|
| H A D | cn9k_regexdev.h | 38 struct rte_regexdev_rule *rules; member
|
| /dpdk/doc/guides/sample_app_ug/ |
| H A D | l3_forward_access_ctrl.rst | 17 The application loads two types of rules at initialization: 19 * Route information rules, which are used for L3 forwarding 80 * priority field: A weight to measure the priority of the rules. 92 The application needs to acquire ACL and route rules before it runs. 93 Route rules are mandatory, while ACL rules are optional. 137 * Route rules start with a leading character 'R' and have the same format as ACL rules except an … 176 * Packet 1 matches all of the rules 251 * --rule_ipv4 FILENAME: Specifies the IPv4 ACL and route rules file 316 The ACL rules save the index to the specific rules in the userdata field, 317 while route rules save the forwarding port number. [all …]
|
| H A D | l3_forward.rst | 44 The set of LPM and FIB rules used by the application is statically configured 50 During the initialization phase route rules for IPv4 and IPv6 are read from rule files. 88 * ``--rule_ipv4=FILE:`` specify the ipv4 rules entries file. 91 * ``--rule_ipv6=FILE:`` specify the ipv6 rules entries file. 168 * The -rule_ipv4 option specifies the reading of IPv4 rules sets from the rule_ipv4.cfg file 170 * The -rule_ipv6 option specifies the reading of IPv6 rules sets from the rule_ipv6.cfg file. 234 The application parses the rules from the file and adds them to the appropriate route table by call… 235 It ignores empty and comment lines, and parses and validates the rules it reads. 238 The format of the route rules differs based on which lookup method is being used. 240 Route rules are mandatory. [all …]
|
| /dpdk/lib/flow_classify/ |
| H A D | rte_flow_classify.c | 78 struct classify_rules rules; /* union of rules */ member 422 rule->rules.type = RTE_FLOW_CLASSIFY_RULE_TYPE_IPV4_5TUPLE; in allocate_acl_ipv4_5tuple_rule() 430 rule->rules.u.ipv4_5tuple.proto = cls->ntuple_filter.proto; in allocate_acl_ipv4_5tuple_rule() 431 rule->rules.u.ipv4_5tuple.proto_mask = cls->ntuple_filter.proto_mask; in allocate_acl_ipv4_5tuple_rule() 438 rule->rules.u.ipv4_5tuple.src_ip = cls->ntuple_filter.src_ip; in allocate_acl_ipv4_5tuple_rule() 445 rule->rules.u.ipv4_5tuple.dst_ip = cls->ntuple_filter.dst_ip; in allocate_acl_ipv4_5tuple_rule() 451 rule->rules.u.ipv4_5tuple.src_port_mask = in allocate_acl_ipv4_5tuple_rule() 453 rule->rules.u.ipv4_5tuple.src_port = cls->ntuple_filter.src_port; in allocate_acl_ipv4_5tuple_rule() 459 rule->rules.u.ipv4_5tuple.dst_port_mask = in allocate_acl_ipv4_5tuple_rule() 461 rule->rules.u.ipv4_5tuple.dst_port = cls->ntuple_filter.dst_port; in allocate_acl_ipv4_5tuple_rule() [all …]
|
| /dpdk/lib/acl/ |
| H A D | rte_acl.c | 417 ctx->rules = ctx + 1; in rte_acl_create() 435 acl_add_rules(struct rte_acl_ctx *ctx, const void *rules, uint32_t num) in acl_add_rules() argument 442 pos = ctx->rules; in acl_add_rules() 444 memcpy(pos, rules, num * ctx->rule_sz); in acl_add_rules() 462 rte_acl_add_rules(struct rte_acl_ctx *ctx, const struct rte_acl_rule *rules, in rte_acl_add_rules() argument 469 if (ctx == NULL || rules == NULL || 0 == ctx->rule_sz) in rte_acl_add_rules() 474 ((uintptr_t)rules + i * ctx->rule_sz); in rte_acl_add_rules() 483 return acl_add_rules(ctx, rules, num); in rte_acl_add_rules()
|
| /dpdk/doc/guides/prog_guide/ |
| H A D | lpm6_lib.rst | 15 * Maximum number of rules: This defines the size of the table that holds the rules, 16 and therefore the maximum number of rules that can be added. 20 This parameter is related to the number of rules you can have, 21 but there is no way to accurately predict the number needed to hold a specific number of rules, 24 several thousand IPv6 rules, but the number can vary depending on the case. 61 whether there are other rules with bigger depths and the same key in the data structure. 182 There are different things that limit the number of rules that can be added. 183 The first one is the maximum number of rules, which is a parameter passed through the API. 187 If we exhaust tbl8s, we won't be able to add any more rules. 199 two 48 bit-long rules may use the same three tbl8s if the only difference is in their last byte. [all …]
|
| H A D | packet_classif_access_ctrl.rst | 8 to classify an input packet based on a set of classification rules. 16 * Add rules into the context. 307 When no rules match, returned value is zero. 319 Depending on the rules set, that could consume significant amount of memory. 346 * populated with rules AC context and cfg filled properly. 434 .max_rule_num = 8, /* maximum number of rules in the AC context. */ 492 /* add rules to the context */ 496 /* handle error at adding ACL rules. */ 506 /* build the runtime structures for added rules, with 2 categories. */ 528 * For category 0, both rules 1 and 2 match, but rule 2 has higher priority, [all …]
|
| H A D | flow_classify_lib.rst | 8 to classify an input packet by matching it against a set of Flow rules. 18 rules and matching packets against the Flow rules. 28 classify an input packet based on a set of classification rules. 258 /** Maximum number of ACL rules in the table */ 323 action, a union of add and delete keys and a union of rules. 347 struct classify_rules rules; /* union of rules */ 372 of the Flow rules in the table.
|
| H A D | rte_flow.rst | 13 number of user-defined rules. 32 list of actions. Flow rules form the basis of this API. 46 emulated by reordering rules). 1189 flow rules. 1832 flow rules: 3426 rules. 3615 rules engine configuration and/or expected flow rules characteristics. 4164 other rules in the tunnel offload sequence. 4212 rules: 4266 the behavior of existing flow rules. [all …]
|
| H A D | lpm_lib.rst | 15 The main configuration parameter for LPM component instances is the maximum number of rules to supp… 34 … In the case that there are multiple rules present in the LPM table that have the same 32-bit key, 64 Instead, this approach takes advantage of the fact that rules longer than 24 bits are very rare. 103 The other main data structure is a table containing the main information about the rules (IP and ne… 198 There are different things that limit the number of rules that can be added. 199 The first one is the maximum number of rules, which is a parameter passed through the API. 201 it is not possible to add any more rules to the routing table unless one or more are removed. 206 If we exhaust tbl8s, we won't be able to add any more rules. 212 since the only difference between the two rules is within the last byte. 214 With the default value of 256, we can have up to 256 rules longer than 24 bits that differ on their…
|
| H A D | switch_representation.rst | 15 usually support the offload of traffic steering rules between their virtual 26 Without a standard software interface to manage traffic steering rules 32 This document describes how such steering rules can be configured through 51 In many cases, traffic steering rules cannot be determined in advance; 59 rules. 198 received by PF according to default rules, while VFs remain isolated. 369 **rte_flow** [6]_, which expresses flow rules as combinations of patterns 534 When port representors exist, implicit flow rules with the "transfer" 696 Flow rules are currently restricted to at most a single action of each 698 repeat actions in a predictable fashion, applications have to make rules [all …]
|
| H A D | regexdev.rst | 86 /**< Number of rules per group to configure on this device. 126 ``rte_regexdev_rule_db_update`` which add / remove rules from the rules 128 which compile the rules and loads them to the RegEx HW.
|
| /dpdk/doc/guides/tools/ |
| H A D | flow-perf.rst | 68 * ``--rules-count=N`` 69 Set the total number of flow rules to insert, 70 where 1 <= N <= "number of flow rules". 73 * ``--rules-batch=N`` 74 Set the number of flow rules to insert per iteration window, 75 where 1 <= N <= "number of flow rules per iteration window". 76 The default value is 100,000 flow rules per iteration window. 77 For a total of --rules-count=1000000 flow rules to be inserted 78 and an iteration window size of --rules-batch=100000 flow rules, 80 (i.e., once every 100000 flow rules) and then report an average [all …]
|
| H A D | testregex.rst | 44 * Supports only precompiled rules. 50 ``--rules NAME`` 95 ./dpdk-test-regex -a 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100 \
|
| /dpdk/app/test/ |
| H A D | test_acl.c | 143 const struct rte_acl_ipv4vlan_rule *rules, in rte_acl_ipv4vlan_add_rules() argument 150 if (ctx == NULL || rules == NULL) in rte_acl_ipv4vlan_add_rules() 155 rc = acl_ipv4vlan_check_rule(rules + i); in rte_acl_ipv4vlan_add_rules() 165 acl_ipv4vlan_convert_rule(rules + i, &rv); in rte_acl_ipv4vlan_add_rules() 387 ret = rte_acl_ipv4vlan_add_rules(acx, rules, num); in test_classify_buid() 797 convert(rules + i, &r); in convert_rules() 1140 struct rte_acl_ipv4vlan_rule rules[LEN]; in test_create_find_add() local 1230 memcpy(&rules[i], &acl_rule, in test_create_find_add() 1233 rules[i].data.userdata = i + 1; in test_create_find_add() 1235 rules[i].data.category_mask = 1 << i; in test_create_find_add() [all …]
|
| /dpdk/examples/ip_pipeline/ |
| H A D | pipeline.c | 1044 TAILQ_INIT(&table->rules); in pipeline_table_create() 1058 TAILQ_FOREACH(rule, &table->rules, node) in table_rule_find() 1073 TAILQ_INSERT_TAIL(&table->rules, new_rule, node); in table_rule_add() 1075 TAILQ_INSERT_AFTER(&table->rules, existing_rule, new_rule, node); in table_rule_add() 1076 TAILQ_REMOVE(&table->rules, existing_rule, node); in table_rule_add() 1099 TAILQ_INSERT_TAIL(&table->rules, new_rule, node); in table_rule_add_bulk() 1101 TAILQ_INSERT_AFTER(&table->rules, existing_rule, new_rule, node); in table_rule_add_bulk() 1102 TAILQ_REMOVE(&table->rules, existing_rule, node); in table_rule_add_bulk() 1118 TAILQ_REMOVE(&table->rules, rule, node); in table_rule_delete()
|
| /dpdk/doc/guides/nics/ |
| H A D | softnic.rst | 257 * Pipeline table match-action rules add 298 flow rules, adding flow rules to the SoftNIC pipeline as table rules, deleting 299 and querying the flow rules. The PMD provides new cli command for creating the 322 the flow rules can be added through the testpmd CLI. 323 The PMD will translate the flow rules to the SoftNIC pipeline tables rules. 377 * Configure flow rules on softnic:
|
| H A D | cnxk.rst | 322 will be used when creating flow rules with RTE_FLOW_ACTION_TYPE_SECURITY 333 With the above configuration, RTE Flow rules API will set the channel 334 and channel mask as 0x100 and 0xF00 in the MCAM entries of the flow rules 341 will be used when creating flow rules on the SDP device. 343 By default, for rules created on the SDP device, the RTE Flow API sets the 352 With the above configuration, RTE Flow rules API will set the channel 353 and channel mask as 0x700 and 0xF00 in the MCAM entries of the flow rules 355 SDP interface is in use and RTE Flow rules created need to distinguish 432 - ``RTE_FLOW_ITEM_TYPE_MARK`` can be used to create ingress flow rules to match
|
| H A D | sfc_efx.rst | 151 Supported pattern items (***non-transfer*** rules): 179 Supported actions (***non-transfer*** rules): 193 Supported pattern items (***transfer*** rules): 227 Supported actions (***transfer*** rules): 269 Validating flow rules depends on the firmware variant. 281 matches unicast packets that are not filtered by other flow rules. 283 Exceptions to flow rules 401 Software virtual switch may install MAE rules to pass established traffic
|
| /dpdk/examples/flow_classify/ |
| H A D | ipv4_rules_file.txt | 13 #error rules
|
| H A D | flow_classify.c | 150 static struct rte_flow_classify_rule *rules[MAX_NUM_CLASSIFY]; variable 280 rules[7]); in lcore_main() 319 if (rules[i]) { in lcore_main() 322 bufs, nb_rx, rules[i], in lcore_main() 659 rules[num_classify_rules] = rule; in add_classify_rule()
|
| /dpdk/app/test-regex/ |
| H A D | main.c | 237 char *rules = NULL; in init_port() local 256 rules_len = read_file(rules_file, &rules); in init_port() 278 dev_conf.rule_db = rules; in init_port() 298 rte_free(rules); in init_port() 301 rte_free(rules); in init_port()
|
| /dpdk/lib/node/ |
| H A D | meson.build | 22 # Strict-aliasing rules are violated by uint8_t[] to context size casts.
|