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

Function handle_dev_dump

dpdk/lib/rawdev/rte_rawdev.c:640–678  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

638}
639
640static int
641handle_dev_dump(const char *cmd __rte_unused,
642 const char *params,
643 struct rte_tel_data *d)
644{
645 char *buf, *end_param;
646 int dev_id, ret;
647 FILE *f;
648
649 if (params == NULL || strlen(params) == 0 || !isdigit(*params))
650 return -EINVAL;
651
652 dev_id = strtoul(params, &end_param, 0);
653 if (*end_param != '\0')
654 RTE_RDEV_LOG(NOTICE,
655 "Extra parameters passed to rawdev telemetry command, ignoring");
656 if (!rte_rawdev_pmd_is_valid_dev(dev_id))
657 return -EINVAL;
658
659 buf = calloc(RTE_TEL_MAX_SINGLE_STRING_LEN, sizeof(char));
660 if (buf == NULL)
661 return -ENOMEM;
662
663 f = fmemopen(buf, RTE_TEL_MAX_SINGLE_STRING_LEN - 1, "w+");
664 if (f == NULL) {
665 free(buf);
666 return -EINVAL;
667 }
668
669 ret = rte_rawdev_dump(dev_id, f);
670 fclose(f);
671 if (ret == 0) {
672 rte_tel_data_start_dict(d);
673 rte_tel_data_string(d, buf);
674 }
675
676 free(buf);
677 return 0;
678}
679
680RTE_LOG_REGISTER_DEFAULT(librawdev_logtype, INFO);
681

Callers

nothing calls this directly

Calls 8

isdigitFunction · 0.85
strtoulFunction · 0.85
callocFunction · 0.85
rte_rawdev_dumpFunction · 0.85
rte_tel_data_start_dictFunction · 0.85
rte_tel_data_stringFunction · 0.85
freeFunction · 0.50

Tested by

no test coverage detected