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

Function lookup

dpdk/app/test-sad/main.c:511–546  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

509}
510
511static int
512lookup(void *arg)
513{
514 int ret;
515 unsigned int i, j;
516 const union rte_ipsec_sad_key *keys[BURST_SZ_MAX];
517 void *vals[BURST_SZ_MAX];
518 uint64_t start, acc = 0;
519 uint32_t burst_sz;
520 struct rte_ipsec_sad *sad = arg;
521
522 if (config.nb_tuples == 0)
523 return 0;
524
525 burst_sz = RTE_MIN(config.burst_sz, config.nb_tuples);
526 for (i = 0; i < config.nb_tuples; i += burst_sz) {
527 for (j = 0; j < burst_sz; j++)
528 keys[j] = (union rte_ipsec_sad_key *)
529 (&tuples_tbl[i + j].tuple);
530 start = rte_rdtsc_precise();
531 ret = rte_ipsec_sad_lookup(sad, keys, vals, burst_sz);
532 acc += rte_rdtsc_precise() - start;
533 if (ret < 0)
534 rte_exit(-EINVAL, "Lookup failed\n");
535 if (config.verbose) {
536 for (j = 0; j < burst_sz; j++)
537 print_result(keys[j], vals[j]);
538 }
539 }
540 acc = (acc == 0) ? UINT64_MAX : acc;
541 printf("Average lookup cycles %.2Lf, lookups/sec: %.2Lf\n",
542 (long double)acc / config.nb_tuples,
543 (long double)config.nb_tuples * rte_get_tsc_hz() / acc);
544
545 return 0;
546}
547
548static void
549add_rules(struct rte_ipsec_sad *sad, uint32_t fract)

Callers 2

mainFunction · 0.70
elf_reloc_internalFunction · 0.50

Calls 6

rte_ipsec_sad_lookupFunction · 0.85
rte_exitFunction · 0.85
print_resultFunction · 0.85
rte_get_tsc_hzFunction · 0.85
rte_rdtsc_preciseFunction · 0.50
printfFunction · 0.50

Tested by

no test coverage detected