MCPcopy Create free account
hub / github.com/F-Stack/f-stack / search_ip5tuples_once

Function search_ip5tuples_once

dpdk/app/test-acl/main.c:1022–1063  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1020}
1021
1022static uint32_t
1023search_ip5tuples_once(uint32_t categories, uint32_t step, const char *alg)
1024{
1025 int ret;
1026 uint32_t i, j, k, n, r;
1027 const uint8_t *data[step], *v;
1028 uint32_t results[step * categories];
1029
1030 v = config.traces;
1031 for (i = 0; i != config.used_traces; i += n) {
1032
1033 n = RTE_MIN(step, config.used_traces - i);
1034
1035 for (j = 0; j != n; j++) {
1036 data[j] = v;
1037 v += config.trace_sz;
1038 }
1039
1040 ret = rte_acl_classify(config.acx, data, results,
1041 n, categories);
1042
1043 if (ret != 0)
1044 rte_exit(ret, "classify for ipv%c_5tuples returns %d\n",
1045 config.ipv6 ? '6' : '4', ret);
1046
1047 for (r = 0, j = 0; j != n; j++) {
1048 for (k = 0; k != categories; k++, r++) {
1049 dump_verbose(DUMP_PKT, stdout,
1050 "ipv%c_5tuple: %u, category: %u, "
1051 "result: %u\n",
1052 config.ipv6 ? '6' : '4',
1053 i + j + 1, k, results[r] - 1);
1054 }
1055
1056 }
1057 }
1058
1059 dump_verbose(DUMP_SEARCH, stdout,
1060 "%s(%u, %u, %s) returns %u\n", __func__,
1061 categories, step, alg, i);
1062 return i;
1063}
1064
1065static int
1066search_ip5tuples(__rte_unused void *arg)

Callers 1

search_ip5tuplesFunction · 0.85

Calls 2

rte_acl_classifyFunction · 0.85
rte_exitFunction · 0.85

Tested by

no test coverage detected