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

Function add_rules

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

Source from the content-addressed store, hash-verified

546}
547
548static void
549add_rules(struct rte_ipsec_sad *sad, uint32_t fract)
550{
551 int32_t ret;
552 uint32_t i, j, f, fn, n;
553 uint64_t start, tm[fract + 1];
554 uint32_t nm[fract + 1];
555
556 f = (config.nb_rules > fract) ? config.nb_rules / fract : 1;
557
558 for (n = 0, j = 0; n != config.nb_rules; n = fn, j++) {
559
560 fn = n + f;
561 fn = fn > config.nb_rules ? config.nb_rules : fn;
562
563 start = rte_rdtsc_precise();
564 for (i = n; i != fn; i++) {
565 ret = rte_ipsec_sad_add(sad,
566 &rules_tbl[i].tuple,
567 rules_tbl[i].rule_type, &rules_tbl[i]);
568 if (ret != 0)
569 rte_exit(ret, "%s failed @ %u-th rule\n",
570 __func__, i);
571 }
572 tm[j] = rte_rdtsc_precise() - start;
573 nm[j] = fn - n;
574 }
575
576 for (i = 0; i != j; i++)
577 printf("ADD %u rules, %.2Lf cycles/rule, %.2Lf ADD/sec\n",
578 nm[i], (long double)tm[i] / nm[i],
579 (long double)nm[i] * rte_get_tsc_hz() / tm[i]);
580}
581
582static void
583del_rules(struct rte_ipsec_sad *sad, uint32_t fract)

Callers 1

mainFunction · 0.70

Calls 5

rte_ipsec_sad_addFunction · 0.85
rte_exitFunction · 0.85
rte_get_tsc_hzFunction · 0.85
rte_rdtsc_preciseFunction · 0.50
printfFunction · 0.50

Tested by

no test coverage detected