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

Function tracef_init

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

Source from the content-addressed store, hash-verified

532}
533
534static void
535tracef_init(void)
536{
537 static const char name[] = APP_NAME;
538 FILE *f;
539 size_t sz;
540 uint32_t i, k, n;
541 struct ipv4_5tuple *v;
542 struct ipv6_5tuple *w;
543
544 sz = config.nb_traces * (config.ipv6 ? sizeof(*w) : sizeof(*v));
545 config.traces = rte_zmalloc_socket(name, sz, RTE_CACHE_LINE_SIZE,
546 SOCKET_ID_ANY);
547 if (config.traces == NULL)
548 rte_exit(EXIT_FAILURE, "Cannot allocate %zu bytes for "
549 "requested %u number of trace records\n",
550 sz, config.nb_traces);
551
552 f = fopen(config.trace_file, "r");
553 if (f == NULL)
554 rte_exit(-EINVAL, "failed to open file: %s\n",
555 config.trace_file);
556
557 v = config.traces;
558 w = config.traces;
559 k = 0;
560 n = 0;
561 for (i = 0; n != config.nb_traces; i++) {
562
563 if (fgets(line, sizeof(line), f) == NULL)
564 break;
565
566 if (skip_line(line) != 0) {
567 k++;
568 continue;
569 }
570
571 n = i - k;
572
573 if (config.ipv6) {
574 if (parse_cb_ipv6_trace(line, w + n) != 0)
575 rte_exit(EXIT_FAILURE,
576 "%s: failed to parse ipv6 trace "
577 "record at line %u\n",
578 config.trace_file, i + 1);
579 } else {
580 if (parse_cb_ipv4_trace(line, v + n) != 0)
581 rte_exit(EXIT_FAILURE,
582 "%s: failed to parse ipv4 trace "
583 "record at line %u\n",
584 config.trace_file, i + 1);
585 }
586 }
587
588 config.used_traces = i - k;
589 fclose(f);
590}
591

Callers 1

mainFunction · 0.85

Calls 5

rte_zmalloc_socketFunction · 0.85
rte_exitFunction · 0.85
skip_lineFunction · 0.85
parse_cb_ipv6_traceFunction · 0.85
parse_cb_ipv4_traceFunction · 0.85

Tested by

no test coverage detected