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

Function del_rules

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

Source from the content-addressed store, hash-verified

580}
581
582static void
583del_rules(struct rte_ipsec_sad *sad, uint32_t fract)
584{
585 int32_t ret;
586 uint32_t i, j, f, fn, n;
587 uint64_t start, tm[fract + 1];
588 uint32_t nm[fract + 1];
589
590 f = (config.nb_rules > fract) ? config.nb_rules / fract : 1;
591
592 for (n = 0, j = 0; n != config.nb_rules; n = fn, j++) {
593
594 fn = n + f;
595 fn = fn > config.nb_rules ? config.nb_rules : fn;
596
597 start = rte_rdtsc_precise();
598 for (i = n; i != fn; i++) {
599 ret = rte_ipsec_sad_del(sad,
600 &rules_tbl[i].tuple,
601 rules_tbl[i].rule_type);
602 if (ret != 0 && ret != -ENOENT)
603 rte_exit(ret, "%s failed @ %u-th rule\n",
604 __func__, i);
605 }
606 tm[j] = rte_rdtsc_precise() - start;
607 nm[j] = fn - n;
608 }
609
610 for (i = 0; i != j; i++)
611 printf("DEL %u rules, %.2Lf cycles/rule, %.2Lf DEL/sec\n",
612 nm[i], (long double)tm[i] / nm[i],
613 (long double)nm[i] * rte_get_tsc_hz() / tm[i]);
614}
615
616int
617main(int argc, char **argv)

Callers 1

mainFunction · 0.70

Calls 5

rte_ipsec_sad_delFunction · 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