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

Function pmd_parse_args

dpdk/drivers/net/softnic/rte_eth_softnic.c:369–439  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

367}
368
369static int
370pmd_parse_args(struct pmd_params *p, const char *params)
371{
372 struct rte_kvargs *kvlist;
373 int ret = 0;
374 char *firmware = NULL;
375
376 kvlist = rte_kvargs_parse(params, pmd_valid_args);
377 if (kvlist == NULL)
378 return -EINVAL;
379
380 /* Set default values */
381 memset(p, 0, sizeof(*p));
382 if (rte_strscpy(p->firmware, SOFTNIC_FIRMWARE,
383 sizeof(p->firmware)) < 0) {
384 PMD_LOG(WARNING,
385 "\"%s\": firmware path should be shorter than %zu",
386 SOFTNIC_FIRMWARE, sizeof(p->firmware));
387 ret = -EINVAL;
388 goto out_free;
389 }
390 p->cpu_id = SOFTNIC_CPU_ID;
391 p->sc = SOFTNIC_SC;
392
393 /* Firmware script (optional) */
394 if (rte_kvargs_count(kvlist, PMD_PARAM_FIRMWARE) == 1) {
395 ret = rte_kvargs_process(kvlist, PMD_PARAM_FIRMWARE,
396 &get_string, &firmware);
397 if (ret < 0)
398 goto out_free;
399
400 if (rte_strscpy(p->firmware, firmware,
401 sizeof(p->firmware)) < 0) {
402 PMD_LOG(WARNING,
403 "\"%s\": "
404 "firmware path should be shorter than %zu",
405 firmware, sizeof(p->firmware));
406 free(firmware);
407 ret = -EINVAL;
408 goto out_free;
409 }
410 free(firmware);
411 }
412 /* Connection listening port (optional) */
413 if (rte_kvargs_count(kvlist, PMD_PARAM_CONN_PORT) == 1) {
414 ret = rte_kvargs_process(kvlist, PMD_PARAM_CONN_PORT,
415 &get_uint16, &p->conn_port);
416 if (ret < 0)
417 goto out_free;
418 }
419
420 /* CPU ID (optional) */
421 if (rte_kvargs_count(kvlist, PMD_PARAM_CPU_ID) == 1) {
422 ret = rte_kvargs_process(kvlist, PMD_PARAM_CPU_ID,
423 &get_uint32, &p->cpu_id);
424 if (ret < 0)
425 goto out_free;
426 }

Callers 1

pmd_probeFunction · 0.85

Calls 7

rte_kvargs_parseFunction · 0.85
memsetFunction · 0.85
rte_strscpyFunction · 0.85
rte_kvargs_countFunction · 0.85
rte_kvargs_processFunction · 0.85
rte_kvargs_freeFunction · 0.85
freeFunction · 0.50

Tested by

no test coverage detected