Merge pull request #559 from hawkxiang/parse_multi_processes_config

Config: Support parse "--file-prefix"&"--pci-whitelist" for multi-processes
This commit is contained in:
johnjiang 2020-11-19 14:43:26 +08:00 committed by GitHub
commit a4f09e1c9b
2 changed files with 22 additions and 2 deletions

View File

@ -567,6 +567,10 @@ ini_parse_handler(void* user, const char* section, const char* name,
return parse_lcore_mask(pconfig, pconfig->dpdk.lcore_mask);
} else if (MATCH("dpdk", "base_virtaddr")) {
pconfig->dpdk.base_virtaddr= strdup(value);
} else if (MATCH("dpdk", "file_prefix")) {
pconfig->dpdk.file_prefix = strdup(value);
} else if (MATCH("dpdk", "pci_whitelist")) {
pconfig->dpdk.pci_whitelist = strdup(value);
} else if (MATCH("dpdk", "port_list")) {
return parse_port_list(pconfig, value);
} else if (MATCH("dpdk", "nb_vdev")) {
@ -664,6 +668,14 @@ dpdk_args_setup(struct ff_config *cfg)
sprintf(temp, "--base-virtaddr=%s", cfg->dpdk.base_virtaddr);
dpdk_argv[n++] = strdup(temp);
}
if (cfg->dpdk.file_prefix) {
sprintf(temp, "--file-prefix=container-%s", cfg->dpdk.file_prefix);
dpdk_argv[n++] = strdup(temp);
}
if (cfg->dpdk.pci_whitelist) {
sprintf(temp, "--pci-whitelist=%s", cfg->dpdk.pci_whitelist);
dpdk_argv[n++] = strdup(temp);
}
if (cfg->dpdk.nb_vdev) {
for (i=0; i<cfg->dpdk.nb_vdev; i++) {
@ -694,8 +706,10 @@ dpdk_args_setup(struct ff_config *cfg)
}
sprintf(temp, "--no-pci");
dpdk_argv[n++] = strdup(temp);
sprintf(temp, "--file-prefix=container");
dpdk_argv[n++] = strdup(temp);
if (!cfg->dpdk.file_prefix) {
sprintf(temp, "--file-prefix=container");
dpdk_argv[n++] = strdup(temp);
}
}
if (cfg->dpdk.nb_bond) {

View File

@ -116,6 +116,12 @@ struct ff_config {
/* specify base virtual address to map. */
char *base_virtaddr;
/* allow processes that do not want to co-operate to have different memory regions */
char *file_prefix;
/* load an external driver */
char *pci_whitelist;
int nb_channel;
int memory;
int no_huge;