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

Function dpdk_args_setup

lib/ff_config.c:1044–1188  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1042}
1043
1044static int
1045dpdk_args_setup(struct ff_config *cfg)
1046{
1047 int n = 0, i;
1048 dpdk_argv[n++] = strdup("f-stack");
1049 char temp[DPDK_CONFIG_MAXLEN] = {0}, temp2[DPDK_CONFIG_MAXLEN] = {0};
1050
1051 if (cfg->dpdk.no_huge) {
1052 dpdk_argv[n++] = strdup("--no-huge");
1053 }
1054 if (cfg->dpdk.proc_mask) {
1055 sprintf(temp, "-c%s", cfg->dpdk.proc_mask);
1056 dpdk_argv[n++] = strdup(temp);
1057 }
1058 if (cfg->dpdk.nb_channel) {
1059 sprintf(temp, "-n%d", cfg->dpdk.nb_channel);
1060 dpdk_argv[n++] = strdup(temp);
1061 }
1062 if (cfg->dpdk.memory) {
1063 sprintf(temp, "-m%d", cfg->dpdk.memory);
1064 dpdk_argv[n++] = strdup(temp);
1065 }
1066 if (cfg->dpdk.log_level) {
1067 sprintf(temp, "--log-level=%d", cfg->dpdk.log_level);
1068 dpdk_argv[n++] = strdup(temp);
1069 }
1070 if (cfg->dpdk.proc_type) {
1071 sprintf(temp, "--proc-type=%s", cfg->dpdk.proc_type);
1072 dpdk_argv[n++] = strdup(temp);
1073 }
1074 if (cfg->dpdk.base_virtaddr) {
1075 sprintf(temp, "--base-virtaddr=%s", cfg->dpdk.base_virtaddr);
1076 dpdk_argv[n++] = strdup(temp);
1077 }
1078 if (cfg->dpdk.file_prefix) {
1079 sprintf(temp, "--file-prefix=container-%s", cfg->dpdk.file_prefix);
1080 dpdk_argv[n++] = strdup(temp);
1081 }
1082 if (cfg->dpdk.allow) {
1083 char* token;
1084 char* rest = cfg->dpdk.allow;
1085
1086 while ((token = strtok_r(rest, ",", &rest))){
1087 sprintf(temp, "--allow=%s", token);
1088 dpdk_argv[n++] = strdup(temp);
1089 }
1090 }
1091
1092 if (cfg->dpdk.nb_vdev) {
1093 for (i=0; i<cfg->dpdk.nb_vdev; i++) {
1094 sprintf(temp, "--vdev=virtio_user%d,path=%s",
1095 cfg->dpdk.vdev_cfgs[i].vdev_id,
1096 cfg->dpdk.vdev_cfgs[i].path);
1097 if (cfg->dpdk.vdev_cfgs[i].nb_queues) {
1098 sprintf(temp2, ",queues=%u",
1099 cfg->dpdk.vdev_cfgs[i].nb_queues);
1100 strcat(temp, temp2);
1101 }

Callers 1

ff_load_configFunction · 0.85

Calls 4

strdupFunction · 0.85
sprintfFunction · 0.85
strcatFunction · 0.85
printfFunction · 0.70

Tested by

no test coverage detected