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

Function tbl_init

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

Source from the content-addressed store, hash-verified

307}
308
309static void
310tbl_init(struct rule **tbl, uint32_t *n_entries,
311 const char *file_name, int rule_tbl)
312{
313 FILE *f = NULL;
314 int ret;
315 const char *rules = "rules";
316 const char *tuples = "tuples";
317
318 if (file_name != NULL) {
319 f = fopen(file_name, "r");
320 if (f == NULL)
321 rte_exit(-EINVAL, "failed to open file: %s\n",
322 file_name);
323 }
324
325 printf("init %s table...", (rule_tbl) ? rules : tuples);
326 *n_entries = get_str_num(f, *n_entries);
327 printf("%d entries\n", *n_entries);
328 *tbl = rte_zmalloc(NULL, sizeof(struct rule) * *n_entries,
329 RTE_CACHE_LINE_SIZE);
330 if (*tbl == NULL)
331 rte_exit(-ENOMEM, "failed to allocate tbl\n");
332
333 if (f != NULL) {
334 printf("parse file %s\n", file_name);
335 ret = parse_file(f, *tbl, rule_tbl);
336 if (ret != 0)
337 rte_exit(-EINVAL, "failed to parse file %s\n"
338 "rules file must be: "
339 "<uint32_t: spi> <space> "
340 "<ip_addr: dip> <space> "
341 "<ip_addr: sip> <space> "
342 "<string: SPI|SPI_DIP|SIP_DIP_SIP>\n"
343 "tuples file must be: "
344 "<uint32_t: spi> <space> "
345 "<ip_addr: dip> <space> "
346 "<ip_addr: sip>\n",
347 file_name);
348 } else {
349 printf("generate random values in %s table\n",
350 (rule_tbl) ? rules : tuples);
351 get_random_rules(*tbl, *n_entries, rule_tbl);
352 }
353 if (f != NULL)
354 fclose(f);
355}
356
357static void
358parse_opts(int argc, char **argv)

Callers 1

mainFunction · 0.85

Calls 6

rte_exitFunction · 0.85
get_str_numFunction · 0.85
rte_zmallocFunction · 0.85
get_random_rulesFunction · 0.85
parse_fileFunction · 0.70
printfFunction · 0.50

Tested by

no test coverage detected