| /dpdk/examples/ipsec-secgw/ |
| H A D | flow.c | 135 memset(rule, 0, sizeof(*rule)); in parse_flow_tokens() 138 rule->is_ipv4 = 1; in parse_flow_tokens() 140 rule->is_ipv4 = 0; in parse_flow_tokens() 152 if (rule->is_ipv4) { in parse_flow_tokens() 169 if (rule->is_ipv4) { in parse_flow_tokens() 225 .index = rule->queue, in flow_init_single() 231 if (rule->is_ipv4) { in flow_init_single() 249 rule->flow = rte_flow_create(rule->port, &attr, pattern, action, &err); in flow_init_single() 250 if (rule->flow == NULL) in flow_init_single() 267 if (rule->is_ipv4) { in flow_init() [all …]
|
| H A D | sa.c | 385 rule = &sa_in[*ri]; in parse_sa_tokens() 392 rule = &sa_out[*ri]; in parse_sa_tokens() 402 rule->flags = 0; in parse_sa_tokens() 489 rule->cipher_key); in parse_sa_tokens() 502 memcpy(&rule->salt, in parse_sa_tokens() 557 rule->auth_key); in parse_sa_tokens() 567 memcpy(&rule->salt, in parse_sa_tokens() 618 rule->cipher_key); in parse_sa_tokens() 626 memcpy(&rule->salt, in parse_sa_tokens() 854 rule->fdir_qid); in parse_sa_tokens() [all …]
|
| H A D | sp6.c | 554 rule->field[IP6_SRC0].mask_range.u32 in print_one_ip6_rule() 577 rule->field[IP6_SRCP].value.u16, in print_one_ip6_rule() 579 rule->field[IP6_DSTP].value.u16, in print_one_ip6_rule() 581 rule->field[IP6_PROTO].value.u8, in print_one_ip6_rule() 585 rule->data.category_mask, in print_one_ip6_rule() 586 rule->data.priority, in print_one_ip6_rule() 587 rule->data.userdata); in print_one_ip6_rule() 595 for (i = 0; i < num; i++, rule++) { in dump_ip6_rules() 597 print_one_ip6_rule(rule, extra); in dump_ip6_rules() 743 struct acl6_rules *rule; in sp6_spi_present() local [all …]
|
| H A D | sp4.c | 446 rule->field[SRCP_FIELD_IPV4].value.u16, in print_one_ip4_rule() 448 rule->field[DSTP_FIELD_IPV4].value.u16, in print_one_ip4_rule() 450 rule->field[PROTO_FIELD_IPV4].value.u8, in print_one_ip4_rule() 454 rule->data.category_mask, in print_one_ip4_rule() 455 rule->data.priority, in print_one_ip4_rule() 456 rule->data.userdata); in print_one_ip4_rule() 464 for (i = 0; i < num; i++, rule++) { in dump_ip4_rules() 466 print_one_ip4_rule(rule, extra); in dump_ip4_rules() 613 struct acl4_rules *rule; in sp4_spi_present() local 628 if (rule != NULL) { in sp4_spi_present() [all …]
|
| /dpdk/drivers/net/hns3/ |
| H A D | hns3_flow.c | 306 rule->nb_queues = 1; in hns3_handle_action_queue() 417 rule, error); in hns3_handle_actions() 429 rule->fd_id = mark->id; in hns3_handle_actions() 445 rule->act_cnt = *act_count; in hns3_handle_actions() 539 rule->key_conf.vlan_num++; in hns3_parse_vlan() 883 rule->key_conf.outer_vlan_num = rule->key_conf.vlan_num; in hns3_handle_tunnel() 887 if (rule->input_set & in hns3_handle_tunnel() 894 rule->key_conf.spec.outer_proto = rule->key_conf.spec.ip_proto; in hns3_handle_tunnel() 895 rule->key_conf.mask.outer_proto = rule->key_conf.mask.ip_proto; in hns3_handle_tunnel() 1843 flow->rule = fdir_rule_ptr; in hns3_flow_create_fdir_rule() [all …]
|
| H A D | hns3_fdir.c | 565 key_conf = &rule->key_conf; in hns3_fd_convert_tuple() 725 uint8_t vf_id = rule->vf_id; in hns3_config_key() 743 cur_key_y, rule); in hns3_config_key() 761 rule->queue_id, ret); in hns3_config_key() 768 rule->queue_id, ret); in hns3_config_key() 776 ad_data.ad_id = rule->location; in hns3_config_action() 797 ad_data.rule_id = rule->fd_id; in hns3_config_action() 971 rule->location, in hns3_fdir_filter_program() 1001 rule->location = ret; in hns3_fdir_filter_program() 1010 rule->location, in hns3_fdir_filter_program() [all …]
|
| /dpdk/lib/flow_classify/ |
| H A D | rte_flow_classify.c | 417 if (!rule) in allocate_acl_ipv4_5tuple_rule() 418 return rule; in allocate_acl_ipv4_5tuple_rule() 474 return rule; in allocate_acl_ipv4_5tuple_rule() 509 if (!rule) in rte_flow_classify_table_entry_add() 541 &rule->entry, in rte_flow_classify_table_entry_add() 545 free(rule); in rte_flow_classify_table_entry_add() 552 return rule; in rte_flow_classify_table_entry_add() 555 free(rule); in rte_flow_classify_table_entry_add() 566 if (!cls || !rule) in rte_flow_classify_table_entry_delete() 578 &rule->entry); in rte_flow_classify_table_entry_delete() [all …]
|
| /dpdk/drivers/net/hinic/ |
| H A D | hinic_pmd_flow.c | 859 struct hinic_fdir_rule *rule, in hinic_normal_item_check_ip() argument 1289 (void)memset(rule, 0, in hinic_tunnel_inner_item_check_l4() 1604 struct hinic_fdir_rule *rule, in hinic_parse_fdir_filter() argument 1610 rule, error); in hinic_parse_fdir_filter() 1615 rule, error); in hinic_parse_fdir_filter() 1620 rule, error); in hinic_parse_fdir_filter() 2400 fdir_info->qid = rule->queue; in hinic_fdir_info_init() 2415 fdir_info->qid = rule->queue; in hinic_fdir_info_init() 3072 flow->rule = fdir_rule_ptr; in hinic_flow_create() 3111 pmd_flow->rule; in hinic_flow_destroy() [all …]
|
| /dpdk/drivers/net/ixgbe/ |
| H A D | ixgbe_flow.c | 1466 rule->soft_id = 0; in ixgbe_parse_fdir_act_attr() 1731 memset(rule, 0, in ixgbe_parse_fdir_filter_normal() 1836 rule->b_mask = TRUE; in ixgbe_parse_fdir_filter_normal() 1906 rule->b_mask = TRUE; in ixgbe_parse_fdir_filter_normal() 2641 rule->b_mask = TRUE; in ixgbe_parse_fdir_filter_tunnel() 2656 memset(rule, 0, in ixgbe_parse_fdir_filter_tunnel() 3346 pmd_flow->rule; in ixgbe_flow_destroy() 3359 pmd_flow->rule; in ixgbe_flow_destroy() 3373 pmd_flow->rule; in ixgbe_flow_destroy() 3400 pmd_flow->rule; in ixgbe_flow_destroy() [all …]
|
| /dpdk/drivers/net/txgbe/ |
| H A D | txgbe_flow.c | 1411 rule->soft_id = 0; in txgbe_parse_fdir_act_attr() 1659 memset(rule, 0, in txgbe_parse_fdir_filter_normal() 1727 rule->b_mask = TRUE; in txgbe_parse_fdir_filter_normal() 2363 rule->b_mask = TRUE; in txgbe_parse_fdir_filter_tunnel() 2378 memset(rule, 0, in txgbe_parse_fdir_filter_tunnel() 2458 (rule->input.src_port != 0 || rule->input.dst_port != 0)) in txgbe_parse_fdir_filter() 3014 pmd_flow->rule; in txgbe_flow_destroy() 3027 pmd_flow->rule; in txgbe_flow_destroy() 3041 pmd_flow->rule; in txgbe_flow_destroy() 3068 pmd_flow->rule; in txgbe_flow_destroy() [all …]
|
| /dpdk/drivers/net/mvpp2/ |
| H A D | mrvl_flow.c | 205 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_mac() 274 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_type() 310 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_vlan_id() 346 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_vlan_pri() 382 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip4_dscp() 438 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip4_addr() 504 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip4_proto() 557 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip6_addr() 624 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip6_flow() 660 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip6_next_hdr() [all …]
|
| /dpdk/app/test/ |
| H A D | test_flow_classify.c | 250 if (rule) { in test_invalid_parameters() 273 if (rule) { in test_invalid_parameters() 329 if (!rule) { in test_valid_parameters() 380 if (rule) { in test_invalid_patterns() 408 if (rule) { in test_invalid_patterns() 456 if (rule) { in test_invalid_actions() 668 if (!rule) { in test_query_udp() 675 rule, &udp_classify_stats); in test_query_udp() 735 if (!rule) { in test_query_tcp() 742 rule, &tcp_classify_stats); in test_query_tcp() [all …]
|
| H A D | test_lpm6_data.h | 1100 const struct rules_tbl_entry *rule, int rule_num) in get_next_hop() argument 1107 if (rule[i].depth >= max_depth) { in get_next_hop() 1108 result = check_lpm6_rule(ip, rule[i].ip, rule[i].depth); in get_next_hop() 1110 *next_hop = rule[i].next_hop; in get_next_hop() 1111 max_depth = rule[i].depth; in get_next_hop()
|
| H A D | test_acl.c | 89 if (rule->src_port_low > rule->src_port_high || in acl_ipv4vlan_check_rule() 90 rule->dst_port_low > rule->dst_port_high || in acl_ipv4vlan_check_rule() 91 rule->src_mask_len > BIT_SIZEOF(rule->src_addr) || in acl_ipv4vlan_check_rule() 92 rule->dst_mask_len > BIT_SIZEOF(rule->dst_addr)) in acl_ipv4vlan_check_rule() 1294 rule.data.userdata = 1; in test_invalid_rules() 1306 rule.dst_port_low = 0x0; in test_invalid_rules() 1319 rule.dst_port_low = 0x0; in test_invalid_rules() 1324 rule.dst_mask_len = 33; in test_invalid_rules() 1334 rule.dst_mask_len = 0; in test_invalid_rules() 1335 rule.src_mask_len = 33; in test_invalid_rules() [all …]
|
| /dpdk/doc/guides/prog_guide/ |
| H A D | lpm_lib.rst | 24 * Add LPM rule: The LPM rule is provided as input. 25 …If there is no rule with the same prefix present in the table, then the new rule is added to the L… 26 …If a rule with the same prefix is already present in the table, the next hop of the rule is update… 29 * Delete LPM rule: The prefix of the LPM rule is provided as input. 33 …The algorithm selects the rule that represents the best match for the given key and returns the ne… 35 the algorithm picks the rule with the highest depth as the best match rule, 82 * depth of the rule (length) 88 The depth or length of the rule is the number of bits of the rule that is stored in a specific entr… 151 When deleting a rule, a replacement rule is searched for. Replacement rule is an existing rule that… 155 value with the replacement rule. [all …]
|
| H A D | lpm6_lib.rst | 34 * Add LPM rule: The LPM rule is provided as input. 35 …If there is no rule with the same prefix present in the table, then the new rule is added to the L… 36 …If a rule with the same prefix is already present in the table, the next hop of the rule is update… 39 * Delete LPM rule: The prefix of the LPM rule is provided as input. 43 …The algorithm selects the rule that represents the best match for the given key and returns the ne… 45 the algorithm picks the rule with the highest depth as the best match rule, 46 …which means the rule has the highest number of most significant bits matching between the input ke… 60 that directly depends on the length of the rule and 94 * depth of the rule (length) 104 The depth or length of the rule is the number of bits of the rule that is stored in a specific entr… [all …]
|
| H A D | flow_classify_lib.rst | 11 a particular Flow rule only. 85 * Validate the flow classify rule 90 * Flow rule attributes 114 * Flow rule attributes 140 * @param[in] rule 141 * Flow classify rule 150 * Query flow classifier for given rule. 158 * @param[in] rule 159 * Flow classify rule 328 parses the Flow rule. [all …]
|
| H A D | packet_classif_access_ctrl.rst | 32 Though there are few restrictions on the rule fields layout: 34 * First field in the rule definition has to be one byte long. 143 A typical example of such an IPv4 5-tuple rule is a follows: 288 ToS 1 matches the above rule. 293 … If the input tuple matches more than one rule, then the rule with the higher priority is returned. 295 it is undefined which rule is returned as a match. 298 * **category_mask**: Each rule uses a bit mask value to select the relevant category(s) for the r… 432 /* number of fields per rule. */ 529 therefore results[0] contains the userdata for rule 2. 552 * For categories 0 and 1, only rule 1 matches. [all …]
|
| /dpdk/drivers/net/dpaa2/mc/ |
| H A D | dpdmux.c | 673 const struct dpdmux_l2_rule *rule) in dpdmux_if_remove_l2_rule() argument 685 cmd_params->mac_addr5 = rule->mac_addr[5]; in dpdmux_if_remove_l2_rule() 686 cmd_params->mac_addr4 = rule->mac_addr[4]; in dpdmux_if_remove_l2_rule() 687 cmd_params->mac_addr3 = rule->mac_addr[3]; in dpdmux_if_remove_l2_rule() 688 cmd_params->mac_addr2 = rule->mac_addr[2]; in dpdmux_if_remove_l2_rule() 689 cmd_params->mac_addr1 = rule->mac_addr[1]; in dpdmux_if_remove_l2_rule() 713 const struct dpdmux_l2_rule *rule) in dpdmux_if_add_l2_rule() argument 977 struct dpdmux_rule_cfg *rule, in dpdmux_add_custom_cls_entry() argument 989 cmd_params->key_size = rule->key_size; in dpdmux_add_custom_cls_entry() 1016 struct dpdmux_rule_cfg *rule) in dpdmux_remove_custom_cls_entry() argument [all …]
|
| /dpdk/examples/ip_pipeline/examples/ |
| H A D | route_ecmp.cli | 48 pipeline PIPELINE0 table 0 rule add match default action fwd port 4 49 pipeline PIPELINE0 table 0 rule add match lpm ipv4 100.0.0.0 10 action fwd table 1 balance 0 0 0 0 … 50 pipeline PIPELINE0 table 0 rule add match lpm ipv4 100.64.0.0 10 action fwd table 1 balance 1 1 1 1… 51 pipeline PIPELINE0 table 0 rule add match lpm ipv4 100.128.0.0 10 action fwd table 1 balance 2 2 2 … 52 pipeline PIPELINE0 table 0 rule add match lpm ipv4 100.192.0.0 10 action fwd table 1 balance 3 3 3 … 54 pipeline PIPELINE0 table 1 rule add match array 0 action fwd port 0 encap ether a0:a1:a2:a3:a4:a5 0… 55 pipeline PIPELINE0 table 1 rule add match array 1 action fwd port 1 encap ether b0:b1:b2:b3:b4:b5 1… 56 pipeline PIPELINE0 table 1 rule add match array 2 action fwd port 2 encap ether c0:c1:c2:c3:c4:c5 2… 57 pipeline PIPELINE0 table 1 rule add match array 3 action fwd port 3 encap ether d0:d1:d2:d3:d4:d5 3…
|
| /dpdk/lib/acl/ |
| H A D | acl_bld.c | 953 rule = head; in build_trie() 958 while (rule != NULL) { in build_trie() 978 rule->config->defs[n].size, in build_trie() 998 rule->config->defs[n].size, in build_trie() 1008 rule->config->defs[n].size, in build_trie() 1016 rule->f->data.userdata, in build_trie() 1061 prev = rule; in build_trie() 1062 rule = rule->next; in build_trie() 1076 for (rule = head; rule != NULL; rule = rule->next) { in acl_calc_wildness() 1122 for (rule = head; rule != NULL; rule = rule->next) { in acl_rule_stats() [all …]
|
| /dpdk/drivers/net/ice/ |
| H A D | ice_acl_filter.c | 490 struct acl_rule *rule; in ice_acl_create_filter() local 493 rule = rte_zmalloc("acl_rule", sizeof(*rule), 0); in ice_acl_create_filter() 494 if (!rule) { in ice_acl_create_filter() 552 flow->rule = rule; in ice_acl_create_filter() 564 rte_free(rule); in ice_acl_create_filter() 573 struct acl_rule *rule = (struct acl_rule *)flow->rule; in ice_acl_destroy_filter() local 580 switch (rule->flow_type) { in ice_acl_destroy_filter() 604 flow->rule = NULL; in ice_acl_destroy_filter() 605 rte_free(rule); in ice_acl_destroy_filter() 612 rte_free(flow->rule); in ice_acl_filter_free() [all …]
|
| /dpdk/examples/ip_pipeline/ |
| H A D | thread.c | 1366 free(rule); in pipeline_table_rule_add() 1376 free(rule); in pipeline_table_rule_add() 1383 free(rule); in pipeline_table_rule_add() 1396 free(rule); in pipeline_table_rule_add() 1411 free(rule); in pipeline_table_rule_add() 1430 free(rule); in pipeline_table_rule_add() 1475 free(rule); in pipeline_table_rule_add_default() 1495 free(rule); in pipeline_table_rule_add_default() 1510 free(rule); in pipeline_table_rule_add_default() 1528 free(rule); in pipeline_table_rule_add_default() [all …]
|
| /dpdk/examples/l3fwd-acl/ |
| H A D | main.c | 508 rule->field[SRCP_FIELD_IPV4].value.u16, in print_one_ipv4_rule() 516 rule->data.category_mask, in print_one_ipv4_rule() 517 rule->data.priority, in print_one_ipv4_rule() 518 rule->data.userdata); in print_one_ipv4_rule() 569 rule->data.category_mask, in print_one_ipv6_rule() 570 rule->data.priority, in print_one_ipv6_rule() 571 rule->data.userdata); in print_one_ipv6_rule() 652 for (i = 0; i < num; i++, rule++) { in dump_ipv4_rules() 654 print_one_ipv4_rule(rule, extra); in dump_ipv4_rules() 664 for (i = 0; i < num; i++, rule++) { in dump_ipv6_rules() [all …]
|
| /dpdk/doc/guides/tools/ |
| H A D | testregex.rst | 11 It is based on precompiled rule file, and an input file, both of them can 14 In general case, each PMD has its own rule file. 35 * Matching results (rule id, position, length), for each job. 37 * Matching results in absolute location (rule id, position , length), 51 precompiled rule file 81 **Step 1: Compile a rule file** 83 In order for the RegEx to work it must have a precompiled rule file.
|