| /f-stack/dpdk/lib/librte_acl/ |
| H A D | acl_run.h | 134 if (flows->num_packets < flows->total_packets) { in acl_start_next_trie() 135 parms[n].data = flows->data[flows->num_packets]; in acl_start_next_trie() 140 flows->last_cmplt = alloc_completion(flows->cmplt_array, in acl_start_next_trie() 142 flows->results + in acl_start_next_trie() 143 flows->num_packets * flows->categories); in acl_start_next_trie() 156 flows->trie++; in acl_start_next_trie() 158 flows->trie = 0; in acl_start_next_trie() 163 flows->started++; in acl_start_next_trie() 180 flows->started = 0; in acl_set_flow() 181 flows->trie = 0; in acl_set_flow() [all …]
|
| H A D | acl_run_neon.h | 82 struct acl_flow_data *flows, uint64_t transitions[]) in acl_match_check_x4() argument 86 parms, flows, resolve_priority_neon); in acl_match_check_x4() 88 parms, flows, resolve_priority_neon); in acl_match_check_x4() 90 parms, flows, resolve_priority_neon); in acl_match_check_x4() 92 parms, flows, resolve_priority_neon); in acl_match_check_x4() 164 struct acl_flow_data flows; in search_neon_8() local 182 while (flows.started > 0) { in search_neon_8() 226 struct acl_flow_data flows; in search_neon_4() local 243 while (flows.started > 0) { in search_neon_4() 251 input = transition4(input, flows.trans, index_array); in search_neon_4() [all …]
|
| H A D | acl_run_sse.h | 112 parms, flows, resolve_priority_sse); in acl_process_matches() 114 parms, flows, resolve_priority_sse); in acl_process_matches() 198 struct acl_flow_data flows; in search_sse_8() local 227 acl_match_check_x4(0, ctx, parms, &flows, in search_sse_8() 229 acl_match_check_x4(4, ctx, parms, &flows, in search_sse_8() 232 while (flows.started > 0) { in search_sse_8() 249 input0 = transition4(input0, flows.trans, in search_sse_8() 251 input1 = transition4(input1, flows.trans, in search_sse_8() 287 struct acl_flow_data flows; in search_sse_4() local 305 acl_match_check_x4(0, ctx, parms, &flows, in search_sse_4() [all …]
|
| H A D | acl_run_altivec.h | 92 parms, flows, resolve_priority_altivec); in acl_match_check_x4() 94 parms, flows, resolve_priority_altivec); in acl_match_check_x4() 96 parms, flows, resolve_priority_altivec); in acl_match_check_x4() 98 parms, flows, resolve_priority_altivec); in acl_match_check_x4() 191 struct acl_flow_data flows; in search_altivec_8() local 209 while (flows.started > 0) { in search_altivec_8() 262 struct acl_flow_data flows; in search_altivec_4() local 279 while (flows.started > 0) { in search_altivec_4() 288 input = transition4(input, flows.trans, in search_altivec_4() 290 input = transition4(input, flows.trans, in search_altivec_4() [all …]
|
| H A D | acl_run_avx2.h | 116 ctx, parms, flows, resolve_priority_sse); in acl_process_matches_avx2x8() 118 ctx, parms, flows, resolve_priority_sse); in acl_process_matches_avx2x8() 135 struct acl_flow_data *flows, uint32_t slot, in acl_match_check_avx2x8() argument 164 struct acl_flow_data flows; in search_avx2x16() local 199 while (flows.started > 0) { in search_avx2x16() 227 input[0] = transition8(input[0], flows.trans, in search_avx2x16() 229 input[1] = transition8(input[1], flows.trans, in search_avx2x16() 232 input[0] = transition8(input[0], flows.trans, in search_avx2x16() 234 input[1] = transition8(input[1], flows.trans, in search_avx2x16() 237 input[0] = transition8(input[0], flows.trans, in search_avx2x16() [all …]
|
| H A D | acl_run_scalar.c | 116 struct acl_flow_data flows; in rte_acl_classify_scalar() local 121 acl_set_flow(&flows, cmplt, RTE_DIM(cmplt), data, results, num, in rte_acl_classify_scalar() 126 index_array[n] = acl_start_next_trie(&flows, parms, n, ctx); in rte_acl_classify_scalar() 134 0, ctx, parms, &flows, resolve_priority_scalar); in rte_acl_classify_scalar() 136 1, ctx, parms, &flows, resolve_priority_scalar); in rte_acl_classify_scalar() 139 while (flows.started > 0) { in rte_acl_classify_scalar() 146 transition0 = scalar_transition(flows.trans, in rte_acl_classify_scalar() 150 transition1 = scalar_transition(flows.trans, in rte_acl_classify_scalar() 157 0, ctx, parms, &flows, resolve_priority_scalar); in rte_acl_classify_scalar() 159 1, ctx, parms, &flows, resolve_priority_scalar); in rte_acl_classify_scalar()
|
| /f-stack/dpdk/doc/guides/tools/ |
| H A D | flow-perf.rst | 128 Add VLAN item to all flows items, 134 Add IPv4 item to all flows items, 139 Add IPv6 item to all flows item, 150 Add VXLAN item to all flows items, 162 Add GRE item to all flows items, 168 Add GENEVE item to all flows items, 174 Add GTP item to all flows items, 180 Add Meta item to all flows items, 186 Add Tag item to all flows items, 209 Add RSS action to all flows actions, [all …]
|
| /f-stack/freebsd/netpfil/ipfw/test/ |
| H A D | main.c | 343 int flows; in parse_flowsets() local 356 if (flows == 0) in parse_flowsets() 357 flows = 1; in parse_flowsets() 361 flows == 0) { in parse_flowsets() 382 wsum += wi * flows; in parse_flowsets() 386 fs->n_flows = flows; in parse_flowsets() 389 fs->y = x * flows; in parse_flowsets() 396 c->flows = n_flows; in parse_flowsets() 448 c->flows = 1; in init() 511 if (c->flows <= 0) in init() [all …]
|
| /f-stack/freebsd/netpfil/ipfw/ |
| H A D | dn_sched_fq_codel.c | 317 if (!si->flows[idx].active ) { in fq_codel_enqueue() 320 si->flows[idx].cst.dropping = false; in fq_codel_enqueue() 322 si->flows[idx].active = 1; in fq_codel_enqueue() 332 if (si->flows[maxidx].active) in fq_codel_enqueue() 337 if (si->flows[i].active && si->flows[i].stats.length > in fq_codel_enqueue() 338 si->flows[maxidx].stats.length) in fq_codel_enqueue() 445 if(si->flows) { in fq_codel_new_sched() 459 if (si->flows == NULL) { in fq_codel_new_sched() 474 si->flows[i].cst.maxpkt_size = 500; in fq_codel_new_sched() 490 free(si->flows , M_DUMMYNET); in fq_codel_free_sched() [all …]
|
| H A D | dn_sched_fq_pie.c | 865 struct fq_pie_flow *flows; in fq_pie_enqueue() local 870 flows = si->si_extra->flows; in fq_pie_enqueue() 889 if (!flows[idx].active) { in fq_pie_enqueue() 893 flows[idx].active = 1; in fq_pie_enqueue() 907 if (flows[i].active && flows[i].stats.length > in fq_pie_enqueue() 1010 struct fq_pie_flow *flows; in fq_pie_new_sched() local 1037 flows = si->si_extra->flows; in fq_pie_new_sched() 1038 if (flows == NULL) { in fq_pie_new_sched() 1073 struct fq_pie_flow *flows; in fq_pie_free_sched() local 1078 flows = si->si_extra->flows; in fq_pie_free_sched() [all …]
|
| /f-stack/dpdk/lib/librte_gro/ |
| H A D | gro_udp4.c | 46 tbl->flows = rte_zmalloc_socket(__func__, in gro_udp4_tbl_create() 50 if (tbl->flows == NULL) { in gro_udp4_tbl_create() 57 tbl->flows[i].start_index = INVALID_ARRAY_INDEX; in gro_udp4_tbl_create() 70 rte_free(udp_tbl->flows); in gro_udp4_tbl_destroy() 159 dst = &(tbl->flows[flow_idx].key); in insert_new_flow() 167 tbl->flows[flow_idx].start_index = item_idx; in insert_new_flow() 287 cur_idx = tbl->flows[i].start_index; in gro_udp4_reassemble() 320 if (cur_idx == tbl->flows[i].start_index) { in gro_udp4_reassemble() 328 tbl->flows[i].start_index = item_idx; in gro_udp4_reassemble() 392 j = tbl->flows[i].start_index; in gro_udp4_tbl_timeout_flush() [all …]
|
| H A D | gro_tcp4.c | 46 tbl->flows = rte_zmalloc_socket(__func__, in gro_tcp4_tbl_create() 50 if (tbl->flows == NULL) { in gro_tcp4_tbl_create() 57 tbl->flows[i].start_index = INVALID_ARRAY_INDEX; in gro_tcp4_tbl_create() 70 rte_free(tcp_tbl->flows); in gro_tcp4_tbl_destroy() 94 if (tbl->flows[i].start_index == INVALID_ARRAY_INDEX) in find_an_empty_flow() 161 dst = &(tbl->flows[flow_idx].key); in insert_new_flow() 171 tbl->flows[flow_idx].start_index = item_idx; in insert_new_flow() 260 if (is_same_tcp4_flow(tbl->flows[i].key, key)) { in gro_tcp4_reassemble() 294 cur_idx = tbl->flows[i].start_index; in gro_tcp4_reassemble() 341 j = tbl->flows[i].start_index; in gro_tcp4_tbl_timeout_flush() [all …]
|
| H A D | gro_vxlan_udp4.c | 47 tbl->flows = rte_zmalloc_socket(__func__, in gro_vxlan_udp4_tbl_create() 51 if (tbl->flows == NULL) { in gro_vxlan_udp4_tbl_create() 58 tbl->flows[i].start_index = INVALID_ARRAY_INDEX; in gro_vxlan_udp4_tbl_create() 71 rte_free(vxlan_tbl->flows); in gro_vxlan_udp4_tbl_destroy() 159 dst = &(tbl->flows[flow_idx].key); in insert_new_flow() 177 tbl->flows[flow_idx].start_index = item_idx; in insert_new_flow() 395 cur_idx = tbl->flows[i].start_index; in gro_vxlan_udp4_reassemble() 430 if (cur_idx == tbl->flows[i].start_index) { in gro_vxlan_udp4_reassemble() 438 tbl->flows[i].start_index = item_idx; in gro_vxlan_udp4_reassemble() 503 j = tbl->flows[i].start_index; in gro_vxlan_udp4_tbl_timeout_flush() [all …]
|
| H A D | gro_vxlan_tcp4.c | 47 tbl->flows = rte_zmalloc_socket(__func__, in gro_vxlan_tcp4_tbl_create() 51 if (tbl->flows == NULL) { in gro_vxlan_tcp4_tbl_create() 58 tbl->flows[i].start_index = INVALID_ARRAY_INDEX; in gro_vxlan_tcp4_tbl_create() 71 rte_free(vxlan_tbl->flows); in gro_vxlan_tcp4_tbl_destroy() 93 if (tbl->flows[i].start_index == INVALID_ARRAY_INDEX) in find_an_empty_flow() 165 dst = &(tbl->flows[flow_idx].key); in insert_new_flow() 186 tbl->flows[flow_idx].start_index = item_idx; in insert_new_flow() 383 if (tbl->flows[i].start_index != INVALID_ARRAY_INDEX) { in gro_vxlan_tcp4_reassemble() 415 cur_idx = tbl->flows[i].start_index; in gro_vxlan_tcp4_reassemble() 466 j = tbl->flows[i].start_index; in gro_vxlan_tcp4_tbl_timeout_flush() [all …]
|
| H A D | rte_gro.c | 190 vxlan_tcp_tbl.flows = vxlan_tcp_flows; in rte_gro_reassemble_burst() 203 vxlan_udp_tbl.flows = vxlan_udp_flows; in rte_gro_reassemble_burst() 216 tcp_tbl.flows = tcp_flows; in rte_gro_reassemble_burst() 229 udp_tbl.flows = udp_flows; in rte_gro_reassemble_burst()
|
| /f-stack/dpdk/drivers/net/failsafe/ |
| H A D | failsafe_flow.c | 105 flow->flows[i] = rte_flow_create(PORT_ID(sdev), in fs_flow_create() 107 if (flow->flows[i] == NULL && fs_err(sdev, -rte_errno)) { in fs_flow_create() 118 if (flow->flows[i] != NULL) in fs_flow_create() 120 flow->flows[i], error); in fs_flow_create() 145 if (flow->flows[i] == NULL) in fs_flow_destroy() 148 flow->flows[i], error); in fs_flow_destroy() 204 flow->flows[SUB_ID(sdev)], in fs_flow_query()
|
| /f-stack/dpdk/drivers/net/bonding/ |
| H A D | rte_eth_bond_flow.c | 101 flow->flows[i] = rte_flow_create(internals->slaves[i].port_id, in bond_flow_create() 103 if (unlikely(flow->flows[i] == NULL)) { in bond_flow_create() 114 if (flow->flows[i] != NULL) in bond_flow_create() 116 flow->flows[i], err); in bond_flow_create() 133 if (unlikely(flow->flows[i] == NULL)) in bond_flow_destroy() 136 flow->flows[i], err); in bond_flow_destroy() 186 flow->flows[i], action, in bond_flow_query_count()
|
| H A D | rte_eth_bond_api.c | 255 flow->flows[slave_id] = rte_flow_create(slave_port_id, in slave_rte_flow_prepare() 260 if (flow->flows[slave_id] == NULL) { in slave_rte_flow_prepare() 267 if (flow->flows[slave_id] != NULL) { in slave_rte_flow_prepare() 269 flow->flows[slave_id], in slave_rte_flow_prepare() 271 flow->flows[slave_id] = NULL; in slave_rte_flow_prepare() 680 if (flow->flows[slave_idx] != NULL) { in __eth_bond_slave_remove_lock_free() 681 rte_flow_destroy(slave_port_id, flow->flows[slave_idx], in __eth_bond_slave_remove_lock_free() 683 flow->flows[slave_idx] = NULL; in __eth_bond_slave_remove_lock_free()
|
| /f-stack/dpdk/examples/server_node_efd/server/ |
| H A D | args.c | 101 parse_num_flows(const char *flows) in parse_num_flows() argument 106 num_flows = strtoul(flows, &end, 16); in parse_num_flows() 107 if ((flows[0] == '\0') || (end == NULL) || (*end != '\0')) in parse_num_flows()
|
| /f-stack/dpdk/doc/guides/sample_app_ug/ |
| H A D | server_node_efd.rst | 30 using the EFD library to create a load-balancing table for flows, 33 individually load-balance millions of flows (number of targets * maximum number 34 of flows fit in a flow table per target) while still fitting in CPU cache. 71 hash table that stores the key default size 1M flows) which is populated with 76 lookup. If a match occurs then statistics are updated for flows serviced by 123 For examples of application command lines and traffic generator flows, please 136 which is used to distribute packets to nodes, which the number of flows 164 /* Add flows in table */ 279 Then, the hash table that contains the flows that will be handled 319 /* Add flows in table */ [all …]
|
| /f-stack/dpdk/lib/librte_distributor/ |
| H A D | rte_distributor.c | 451 uint16_t flows[RTE_DIST_BURST_SIZE] __rte_cache_aligned; in rte_distributor_process() local 492 flows[i] = mbufs[next_idx + i]->hash.usr | 1; in rte_distributor_process() 494 flows[i] = 0; in rte_distributor_process() 497 flows[i] = 0; in rte_distributor_process() 508 find_match_vec(d, &flows[0], in rte_distributor_process() 512 find_match_scalar(d, &flows[0], in rte_distributor_process() 592 if (flows[w] == new_tag) in rte_distributor_process()
|
| /f-stack/dpdk/doc/guides/prog_guide/ |
| H A D | traffic_metering_and_policing.rst | 32 flow or potentially shared by several flows has to be specified at its 36 of the Ethernet device by linking it to one or several flows through the 38 for the same flow. An MTR object can only be destroyed if there are no flows
|
| /f-stack/dpdk/doc/guides/eventdevs/ |
| H A D | dpaa.rst | 22 - Parallel flows 23 - Atomic flows
|
| H A D | dpaa2.rst | 23 - Parallel flows 24 - Atomic flows
|
| /f-stack/dpdk/drivers/net/mlx4/ |
| H A D | mlx4_flow.c | 1153 struct rte_flow *curr = LIST_FIRST(&priv->flows); in mlx4_flow_create() 1157 LIST_INSERT_HEAD(&priv->flows, flow, next); in mlx4_flow_create() 1233 struct rte_flow *flow = LIST_FIRST(&priv->flows); in mlx4_flow_flush() 1404 for (flow = LIST_FIRST(&priv->flows); in mlx4_flow_internal() 1460 for (flow = LIST_FIRST(&priv->flows); in mlx4_flow_internal() 1502 flow = LIST_FIRST(&priv->flows); in mlx4_flow_internal() 1543 for (flow = LIST_FIRST(&priv->flows); in mlx4_flow_sync() 1545 flow = LIST_FIRST(&priv->flows)) in mlx4_flow_sync() 1555 LIST_FOREACH(flow, &priv->flows, next) { in mlx4_flow_sync() 1579 while ((flow = LIST_FIRST(&priv->flows))) in mlx4_flow_clean()
|