Skip to content

Commit 06e469a

Browse files
committed
CTT argument parsing - adjust plugin creation cycle
1 parent 036856d commit 06e469a

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

ipfixprobe.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,20 @@ bool process_plugin_args(ipxp_conf_t &conf, IpfixprobeOptParser &parser)
359359
throw IPXPError("invalid storage plugin " + storage_name);
360360
}
361361
storage_plugin->set_queue(output_queue);
362+
#ifdef WITH_CTT
363+
size_t device_start = std::min(input_params.find("dev"), input_params.find("d"));
364+
if (device_start == std::string::npos) {
365+
throw PluginError("device name is not found");
366+
}
367+
size_t queue_start = input_params.find(":", device_start);
368+
size_t queue_end = input_params.find(";", device_start);
369+
size_t device_end = std::min(queue_end, queue_start);
370+
std::string queue = "0";
371+
if (queue_start != std::string::npos && queue_start < queue_end) {
372+
queue = input_params.substr(queue_start + 1, queue_end);
373+
}
374+
storage_params += std::string(";ci=") + queue + ";" + input_params.substr(device_start, device_end);
375+
#endif /* WITH_CTT */
362376
storage_plugin->init(storage_params.c_str());
363377
storage_plugin->set_telemetry_dir(pipeline_queue_dir);
364378
conf.active.storage.push_back(storage_plugin);

0 commit comments

Comments
 (0)