summaryrefslogtreecommitdiffstats
path: root/src/stateless/cp/trex_stateless_port.cpp
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2015-11-23 18:02:14 +0200
committerimarom <imarom@cisco.com>2015-11-23 18:02:14 +0200
commit1f6977d1e109acba69f1bf2230d6b9f5e4aae54e (patch)
tree21292c73ea16f456d4deee455dcb9e1f96397141 /src/stateless/cp/trex_stateless_port.cpp
parent903b855393acd411e85b25e6b2df1158d9fe2856 (diff)
add stream graph + support for console to use any of the following
bps, kbps, mbps, gbps, pps, kpps, mbps percentage is not working yet
Diffstat (limited to 'src/stateless/cp/trex_stateless_port.cpp')
-rw-r--r--src/stateless/cp/trex_stateless_port.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp
index fbc5f7c7..7dc217a3 100644
--- a/src/stateless/cp/trex_stateless_port.cpp
+++ b/src/stateless/cp/trex_stateless_port.cpp
@@ -111,9 +111,12 @@ TrexStatelessPort::start_traffic(double mul, double duration) {
vector<TrexStream *> streams;
get_object_list(streams);
+ /* split it per core */
+ double per_core_mul = mul / m_cores_id_list.size();
+
/* compiler it */
TrexStreamsCompiler compiler;
- TrexStreamsCompiledObj *compiled_obj = new TrexStreamsCompiledObj(m_port_id, mul);
+ TrexStreamsCompiledObj *compiled_obj = new TrexStreamsCompiledObj(m_port_id, per_core_mul);
bool rc = compiler.compile(streams, *compiled_obj);
if (!rc) {
@@ -133,6 +136,34 @@ TrexStatelessPort::start_traffic(double mul, double duration) {
}
+void
+TrexStatelessPort::start_traffic_max_bps(double max_bps, double duration) {
+ /* fetch all the streams from the table */
+ vector<TrexStream *> streams;
+ get_object_list(streams);
+
+ TrexStreamsGraph graph;
+ const TrexStreamsGraphObj &obj = graph.generate(streams);
+ double m = (max_bps / obj.get_max_bps());
+
+ /* call the main function */
+ start_traffic(m, duration);
+}
+
+void
+TrexStatelessPort::start_traffic_max_pps(double max_pps, double duration) {
+ /* fetch all the streams from the table */
+ vector<TrexStream *> streams;
+ get_object_list(streams);
+
+ TrexStreamsGraph graph;
+ const TrexStreamsGraphObj &obj = graph.generate(streams);
+ double m = (max_pps / obj.get_max_pps());
+
+ /* call the main function */
+ start_traffic(m, duration);
+}
+
/**
* stop traffic on port
*