#include "defaults.h"
#include "prox_lua.h"
#include "cqm.h"
+#include "prox_compat.h"
#define MAX_RTE_ARGV 64
#define MAX_ARG_LEN 64
set_errf("Master core can only have one task\n");
return -1;
}
+ // Initialize number of tasks to 1 for master, even if no task specified
+ lconf->n_tasks_all = 1;
+ lconf->active_task = 0;
+ lconf->targs[lconf->active_task].task = 0;
+ struct task_init* task_init = to_task_init(mode, "");
+ if (task_init) {
+ targ->mode = task_init->mode;
+ }
+ targ->task_init = task_init;
return 0;
}
targ->task_init = to_task_init(mode_str, sub_mode_str);
if (!targ->task_init) {
- set_errf("sub mode %s not supported for mode %s", sub_mode_str, mode_str);
- return -1;
+ if (strcmp(sub_mode_str, "l3") != 0) {
+ set_errf("sub mode %s not supported for mode %s", sub_mode_str, mode_str);
+ return -1;
+ }
+ targ->task_init = to_task_init(mode_str, "");
+ if (!targ->task_init) {
+ set_errf("sub mode %s not supported for mode %s", sub_mode_str, mode_str);
+ return -1;
+ }
+ }
+ if (strcmp(sub_mode_str, "l3") == 0) {
+ prox_cfg.flags |= DSF_CTRL_PLANE_ENABLED;
+ targ->flags |= TASK_ARG_L3;
+ strcpy(targ->sub_mode_str, "l3");
+ } else {
+ strcpy(targ->sub_mode_str, targ->task_init->sub_mode_str);
}
return 0;
}
if (STR_EQ(str, "gateway ipv4")) { /* Gateway IP address used when generating */
return parse_ip(&targ->gateway_ipv4, pkey);
}
- if (STR_EQ(str, "number of ip")) { /* Gateway IP address used when generating */
- return parse_int(&targ->number_gen_ip, pkey);
- }
if (STR_EQ(str, "local ipv4")) { /* source IP address to be used for packets */
return parse_ip(&targ->local_ipv4, pkey);
}
+ if (STR_EQ(str, "remote ipv4")) { /* source IP address to be used for packets */
+ return parse_ip(&targ->remote_ipv4, pkey);
+ }
if (STR_EQ(str, "local ipv6")) { /* source IPv6 address to be used for packets */
return parse_ip6(&targ->local_ipv6, pkey);
}
}
if (rte_cfg.no_output) {
- rte_set_log_level(0);
+ rte_log_set_global_level(0);
}
/* init EAL */
plog_info("\tEAL command line:");