| /f-stack/dpdk/drivers/net/mlx4/ |
| H A D | mlx4_flow.c | 716 if (flow->promisc || flow->allmulti) { in mlx4_flow_prepare() 1405 flow && flow->internal; in mlx4_flow_internal() 1406 flow = LIST_NEXT(flow, next)) { in mlx4_flow_internal() 1439 if (!flow || !flow->internal) { in mlx4_flow_internal() 1461 flow && flow->internal; in mlx4_flow_internal() 1462 flow = LIST_NEXT(flow, next)) { in mlx4_flow_internal() 1472 if (flow && flow->internal) { in mlx4_flow_internal() 1479 if (!flow || !flow->internal) { in mlx4_flow_internal() 1497 MLX4_ASSERT(flow->promisc || flow->allmulti); in mlx4_flow_internal() 1503 while (flow && flow->internal) { in mlx4_flow_internal() [all …]
|
| /f-stack/dpdk/drivers/net/mvpp2/ |
| H A D | mrvl_flow.c | 379 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_mac() 447 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_type() 481 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_vlan_id() 515 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_vlan_pri() 549 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip4_dscp() 601 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip4_addr() 666 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip4_proto() 715 key_field = &flow->rule.fields[flow->rule.num_fields]; in mrvl_parse_ip6_addr() 2218 flow->action.cos = &flow->cos; in mrvl_flow_parse_actions() 2256 flow->action.cos = &flow->cos; in mrvl_flow_parse_actions() [all …]
|
| /f-stack/dpdk/examples/qos_sched/ |
| H A D | main.c | 55 flow->rx_thread.rx_port = flow->rx_port; in app_main_loop() 56 flow->rx_thread.rx_ring = flow->rx_ring; in app_main_loop() 57 flow->rx_thread.rx_queue = flow->rx_queue; in app_main_loop() 58 flow->rx_thread.sched_port = flow->sched_port; in app_main_loop() 65 flow->tx_thread.tx_port = flow->tx_port; in app_main_loop() 66 flow->tx_thread.tx_ring = flow->tx_ring; in app_main_loop() 67 flow->tx_thread.tx_queue = flow->tx_queue; in app_main_loop() 74 flow->wt_thread.rx_ring = flow->rx_ring; in app_main_loop() 75 flow->wt_thread.tx_ring = flow->tx_ring; in app_main_loop() 76 flow->wt_thread.tx_port = flow->tx_port; in app_main_loop() [all …]
|
| /f-stack/dpdk/drivers/net/enic/ |
| H A D | enic_clsf.c | 83 input->flow.ip4_flow.src_ip); in copy_fltr_v1() 85 input->flow.ip4_flow.dst_ip); in copy_fltr_v1() 87 input->flow.udp4_flow.src_port); in copy_fltr_v1() 89 input->flow.udp4_flow.dst_port); in copy_fltr_v1() 178 if (input->flow.ip4_flow.tos) { in copy_fltr_v2() 182 if (input->flow.ip4_flow.ttl) { in copy_fltr_v2() 186 if (input->flow.ip4_flow.proto) { in copy_fltr_v2() 194 if (input->flow.ip4_flow.src_ip) { in copy_fltr_v2() 198 if (input->flow.ip4_flow.dst_ip) { in copy_fltr_v2() 267 if (input->flow.ipv6_flow.proto) { in copy_fltr_v2() [all …]
|
| /f-stack/dpdk/drivers/net/failsafe/ |
| H A D | failsafe_flow.c | 23 struct rte_flow *flow; in fs_flow_allocate() local 41 if (flow == NULL) { in fs_flow_allocate() 51 rte_free(flow); in fs_flow_allocate() 54 return flow; in fs_flow_allocate() 60 rte_free(*flow); in fs_flow_release() 61 *flow = NULL; in fs_flow_release() 99 struct rte_flow *flow; in fs_flow_create() local 115 return flow; in fs_flow_create() 122 fs_flow_release(&flow); in fs_flow_create() 136 if (flow == NULL) { in fs_flow_destroy() [all …]
|
| /f-stack/dpdk/drivers/net/bonding/ |
| H A D | rte_eth_bond_flow.c | 21 struct rte_flow *flow; in bond_flow_alloc() local 49 rte_free(flow); in bond_flow_alloc() 52 return flow; in bond_flow_alloc() 58 rte_free(*flow); in bond_flow_release() 59 *flow = NULL; in bond_flow_release() 91 struct rte_flow *flow; in bond_flow_create() local 110 return flow; in bond_flow_create() 118 bond_flow_release(&flow); in bond_flow_create() 136 flow->flows[i], err); in bond_flow_destroy() 144 bond_flow_release(&flow); in bond_flow_destroy() [all …]
|
| /f-stack/dpdk/drivers/net/dpaa2/ |
| H A D | dpaa2_flow.c | 293 log_info, qos_index, flow->tc_id, flow->qos_real_key_size); in dpaa2_flow_qos_entry_log() 321 log_info, flow->tc_index, flow->tc_id, flow->fs_real_key_size); in dpaa2_flow_fs_entry_log() 1320 &flow->fs_rule, in dpaa2_configure_flow_vlan() 3620 flow->tc_id, flow->tc_index, in dpaa2_generic_flow_set() 3711 &flow->qos_rule, flow->tc_id, in dpaa2_generic_flow_set() 3924 if (!flow) { in dpaa2_flow_create() 3992 return flow; in dpaa2_flow_create() 4029 flow->tc_id, &flow->fs_rule); in dpaa2_flow_destroy() 4060 rte_free(flow); in dpaa2_flow_destroy() 4085 while (flow) { in dpaa2_flow_flush() [all …]
|
| H A D | dpaa2_mux.c | 65 struct rte_flow *flow = NULL; in rte_pmd_dpaa2_mux_flow_create() local 83 flow = rte_zmalloc(NULL, sizeof(struct rte_flow) + in rte_pmd_dpaa2_mux_flow_create() 85 if (!flow) { in rte_pmd_dpaa2_mux_flow_create() 90 key_iova = (void *)((size_t)flow + sizeof(struct rte_flow)); in rte_pmd_dpaa2_mux_flow_create() 180 flow->rule.key_iova = (uint64_t)(DPAA2_VADDR_TO_IOVA(key_iova)); in rte_pmd_dpaa2_mux_flow_create() 181 flow->rule.mask_iova = (uint64_t)(DPAA2_VADDR_TO_IOVA(mask_iova)); in rte_pmd_dpaa2_mux_flow_create() 182 flow->rule.key_size = key_size; in rte_pmd_dpaa2_mux_flow_create() 192 dpdmux_dev->token, &flow->rule, in rte_pmd_dpaa2_mux_flow_create() 200 return flow; in rte_pmd_dpaa2_mux_flow_create() 204 rte_free((void *)flow); in rte_pmd_dpaa2_mux_flow_create()
|
| /f-stack/dpdk/lib/librte_acl/ |
| H A D | acl_run_avx512_common.h | 121 sizeof(flow->trans[0])); in _F_() 125 sizeof(flow->trans[0])); in _F_() 142 div = (const int32_t *)flow->data_index; in _F_() 201 flow->idata + flow->num_packets); in _F_() 203 flow->idata + flow->num_packets + n); in _F_() 217 flow->num_packets += num; in _F_() 250 res, sizeof(flow->matches[0])); in _F_() 253 n = update_flow_mask(flow, fmsk, rmsk); in _F_() 288 rm[0], &di[0], flow->first_load_sz); in _F_() 323 flow->first_load_sz); in _F_() [all …]
|
| H A D | acl_run_avx512.c | 22 acl_set_flow_avx512(struct acl_flow_avx512 *flow, const struct rte_acl_ctx *ctx, in acl_set_flow_avx512() argument 26 flow->num_packets = 0; in acl_set_flow_avx512() 27 flow->total_packets = total_packets; in acl_set_flow_avx512() 28 flow->first_load_sz = ctx->first_load_sz; in acl_set_flow_avx512() 29 flow->root_index = ctx->trie[trie].root_index; in acl_set_flow_avx512() 30 flow->trans = ctx->trans_table; in acl_set_flow_avx512() 31 flow->data_index = ctx->trie[trie].data_index; in acl_set_flow_avx512() 32 flow->idata = data; in acl_set_flow_avx512() 33 flow->matches = matches; in acl_set_flow_avx512() 40 update_flow_mask(const struct acl_flow_avx512 *flow, uint32_t *fmsk, in update_flow_mask() argument [all …]
|
| /f-stack/dpdk/drivers/net/tap/ |
| H A D | tap_flow.c | 523 struct rte_flow *flow = info->flow; in tap_flow_create_eth() local 537 if (!flow) in tap_flow_create_eth() 577 struct rte_flow *flow = info->flow; in tap_flow_create_vlan() local 596 if (!flow) in tap_flow_create_vlan() 637 struct rte_flow *flow = info->flow; in tap_flow_create_ipv4() local 692 struct rte_flow *flow = info->flow; in tap_flow_create_ipv6() local 748 struct rte_flow *flow = info->flow; in tap_flow_create_udp() local 794 struct rte_flow *flow = info->flow; in tap_flow_create_tcp() local 1040 .flow = flow, in priv_flow_process() 1251 if (flow) in priv_flow_process() [all …]
|
| /f-stack/dpdk/drivers/net/octeontx2/ |
| H A D | otx2_flow.c | 18 struct rte_flow *flow; in otx2_flow_free_all_resources() local 41 rte_free(flow); in otx2_flow_free_all_resources() 373 pst->flow = flow; in flow_parse_pattern() 462 memset(&flow, 0, sizeof(flow)); in otx2_flow_validate() 584 flow = rte_zmalloc("otx2_rte_flow", sizeof(*flow), 0); in otx2_flow_create() 592 memset(flow, 0, sizeof(*flow)); in otx2_flow_create() 644 return flow; in otx2_flow_create() 649 return flow; in otx2_flow_create() 652 rte_free(flow); in otx2_flow_create() 682 if (flow->nix_intf == OTX2_INTF_RX && flow->vtag_action) { in otx2_flow_destroy() [all …]
|
| H A D | otx2_flow_utils.c | 161 intf = pst->flow->nix_intf; in otx2_flow_get_hw_supp_mask() 285 intf = pst->flow->nix_intf; in otx2_flow_update_parse_state() 496 flow->priority); in flow_shift_lv_ent() 498 list = &flow_info->flow_list[flow->priority]; in flow_shift_lv_ent() 522 TAILQ_INSERT_BEFORE(flow_iter, flow, next); in flow_shift_lv_ent() 620 flow_shift_lv_ent(mbox, flow, in flow_shift_ent() 836 struct rte_flow *flow, in flow_check_preallocated_entry_cache() argument 935 req->entry_data.action = flow->npc_action; in otx2_flow_mcam_alloc_and_write() 943 if (flow->nix_intf == OTX2_INTF_RX) { in otx2_flow_mcam_alloc_and_write() 959 flow->mcam_id = entry; in otx2_flow_mcam_alloc_and_write() [all …]
|
| /f-stack/dpdk/drivers/net/cxgbe/ |
| H A D | cxgbe_flow.c | 575 if (flow->fs.cap) in cxgbe_verify_fidx() 1176 if (!flow) { in cxgbe_flow_create() 1184 flow->dev = dev; in cxgbe_flow_create() 1185 flow->fs.private = (void *)flow; in cxgbe_flow_create() 1203 flow->f->private = flow; /* Will be used during flush */ in cxgbe_flow_create() 1205 return flow; in cxgbe_flow_create() 1217 if (cxgbe_verify_fidx(flow, flow->fidx, 1)) in __cxgbe_flow_destroy() 1289 f = flow->f; in cxgbe_flow_query() 1344 if (!flow) in cxgbe_flow_validate() 1350 flow->dev = dev; in cxgbe_flow_validate() [all …]
|
| /f-stack/dpdk/drivers/net/igc/ |
| H A D | igc_flow.c | 673 return flow; in igc_alloc_flow() 691 rte_free(flow); in igc_remove_flow() 701 if (it == flow) in igc_is_flow_in_list() 735 if (flow) in igc_flow_create() 750 if (flow) in igc_flow_create() 756 if (flow) in igc_flow_create() 762 if (flow) { in igc_flow_create() 779 if (flow) in igc_flow_create() 780 rte_free(flow); in igc_flow_create() 790 return flow; in igc_flow_create() [all …]
|
| /f-stack/dpdk/drivers/net/sfc/ |
| H A D | sfc_flow.c | 2481 struct rte_flow *flow; in sfc_flow_zmalloc() local 2483 flow = rte_zmalloc("sfc_rte_flow", sizeof(*flow), 0); in sfc_flow_zmalloc() 2484 if (flow == NULL) { in sfc_flow_zmalloc() 2490 return flow; in sfc_flow_zmalloc() 2502 rte_free(flow); in sfc_flow_free() 2591 struct rte_flow *flow; in sfc_flow_validate() local 2595 if (flow == NULL) in sfc_flow_validate() 2623 if (flow == NULL) in sfc_flow_create() 2642 return flow; in sfc_flow_create() 2667 if (flow_ptr == flow) in sfc_flow_destroy() [all …]
|
| H A D | sfc_flow.h | 169 struct rte_flow *flow, 173 struct rte_flow *flow); 176 struct rte_flow *flow); 179 struct rte_flow *flow); 182 struct rte_flow *flow);
|
| /f-stack/dpdk/drivers/net/softnic/ |
| H A D | rte_eth_softnic_meter.c | 330 if (m->flow != NULL) in pmd_mtr_destroy() 391 if (m->flow) { in pmd_mtr_meter_profile_update() 431 &m->flow->match, in pmd_mtr_meter_profile_update() 433 &m->flow->data); in pmd_mtr_meter_profile_update() 442 memcpy(&m->flow->action, &action, sizeof(m->flow->action)); in pmd_mtr_meter_profile_update() 482 if (m->flow == NULL) in pmd_mtr_meter_dscp_table_update() 555 if (m->flow) { in pmd_mtr_policer_actions_update() 572 &m->flow->match, in pmd_mtr_policer_actions_update() 574 &m->flow->data); in pmd_mtr_policer_actions_update() 583 memcpy(&m->flow->action, &action, sizeof(m->flow->action)); in pmd_mtr_policer_actions_update() [all …]
|
| H A D | rte_eth_softnic_flow.c | 33 return flow; in softnic_flow_find() 1588 if (m->flow) in flow_rule_action_get() 1958 if (m->flow == flow) { in flow_meter_owner_reset() 1973 mtr->flow = flow; in flow_meter_owner_set() 2112 free(flow); in pmd_flow_create() 2137 return flow; in pmd_flow_create() 2157 table = &flow->pipeline->table[flow->table_id]; in pmd_flow_destroy() 2177 free(flow); in pmd_flow_destroy() 2214 free(flow); in pmd_flow_flush() 2256 table = &flow->pipeline->table[flow->table_id]; in pmd_flow_query() [all …]
|
| /f-stack/dpdk/drivers/net/qede/ |
| H A D | qede_filter.c | 806 if (flow) { in qede_flow_parse_pattern() 820 if (flow) { in qede_flow_parse_pattern() 838 if (flow) { in qede_flow_parse_pattern() 853 if (flow) { in qede_flow_parse_pattern() 913 if (flow) in qede_flow_parse_actions() 918 if (flow) in qede_flow_parse_actions() 981 flow = rte_zmalloc("qede_rte_flow", sizeof(*flow), 0); in qede_flow_create() 991 rte_free(flow); in qede_flow_create() 1000 rte_free(flow); in qede_flow_create() 1004 return flow; in qede_flow_create() [all …]
|
| /f-stack/dpdk/drivers/net/iavf/ |
| H A D | iavf_generic_flow.c | 1232 if (!flow) { in iavf_flow_create() 1236 return flow; in iavf_flow_create() 1243 rte_free(flow); in iavf_flow_create() 1244 flow = NULL; in iavf_flow_create() 1254 return flow; in iavf_flow_create() 1263 if (flow && flow->engine) { in iavf_flow_is_valid() 1283 if (!iavf_flow_is_valid(flow) || !flow->engine->destroy) { in iavf_flow_destroy() 1292 ret = flow->engine->destroy(ad, flow, error); in iavf_flow_destroy() 1296 rte_free(flow); in iavf_flow_destroy() 1340 if (!iavf_flow_is_valid(flow) || !flow->engine->query_count) { in iavf_flow_query() [all …]
|
| /f-stack/dpdk/doc/guides/howto/ |
| H A D | rte_flow.rst | 4 Generic flow API - examples 26 testpmd> flow create 0 ingress pattern eth / vlan / 41 struct rte_flow *flow; 64 /* validate and create the flow rule */ 137 struct rte_flow *flow; 162 /* validate and create the flow rule */ 169 Terminal 1: running sample app flow rule disabled:: 191 Terminal 1: running sample app flow rule enabled:: 236 struct rte_flow *flow; 256 /* validate and create the flow rule */ [all …]
|
| /f-stack/dpdk/drivers/net/ipn3ke/ |
| H A D | ipn3ke_flow.c | 915 struct rte_flow *flow) in ipn3ke_flow_key_generation() argument 921 dst = flow->rule.key; in ipn3ke_flow_key_generation() 964 struct rte_flow *flow) in ipn3ke_flow_result_generation() argument 971 dst = flow->rule.result; in ipn3ke_flow_result_generation() 1166 struct rte_flow *flow; in ipn3ke_flow_create() local 1189 if (!flow) { in ipn3ke_flow_create() 1195 return flow; in ipn3ke_flow_create() 1202 return flow; in ipn3ke_flow_create() 1215 rte_free(flow); in ipn3ke_flow_destroy() 1232 struct rte_flow *flow, *temp; in ipn3ke_flow_flush() local [all …]
|
| /f-stack/dpdk/doc/guides/tools/ |
| H A D | flow-perf.rst | 76 Set the total number of flow rules to insert, 77 where 1 <= N <= "number of flow rules". 275 The mac to be set is random each flow. 279 The mac to be set is random each flow. 283 The ipv4 header to be set is random each flow. 287 The ipv4 header to be set is random each flow. 291 The ipv6 header to be set is random each flow. 295 The ipv6 header to be set is random each flow. 319 The ttl value to be set is random each flow. 326 The dscp value to be is random each flow. [all …]
|
| /f-stack/dpdk/drivers/net/i40e/ |
| H A D | i40e_fdir.c | 789 fdir_input->flow.ip4_flow.ttl : in fill_ip4_head() 834 &fdir_input->flow.l2_flow.src, in i40e_flow_fdir_fill_eth_ip_head() 1138 fdir_input->flow.esp_ipv4_flow.spi; in i40e_flow_fdir_construct_pkt() 1167 fdir_input->flow.esp_ipv6_flow.spi; in i40e_flow_fdir_construct_pkt() 1327 input->flow.raw_flow.length); in i40e_sw_fdir_filter_lookup() 1381 input->flow.raw_flow.length); in i40e_sw_fdir_filter_del() 1401 struct rte_flow *flow = NULL; in i40e_fdir_entry_pool_get() local 1428 flow = &fdir_info->fdir_flow_pool.pool[pos].flow; in i40e_fdir_entry_pool_get() 1432 return flow; in i40e_fdir_entry_pool_get() 1437 struct rte_flow *flow) in i40e_fdir_entry_pool_put() argument [all …]
|