summaryrefslogtreecommitdiffstats
path: root/src/stateless/dp
diff options
context:
space:
mode:
Diffstat (limited to 'src/stateless/dp')
-rw-r--r--src/stateless/dp/trex_stateless_dp_core.cpp11
-rw-r--r--src/stateless/dp/trex_stateless_dp_core.h2
-rw-r--r--src/stateless/dp/trex_stream_node.h8
3 files changed, 10 insertions, 11 deletions
diff --git a/src/stateless/dp/trex_stateless_dp_core.cpp b/src/stateless/dp/trex_stateless_dp_core.cpp
index dd4937cd..9b62fabd 100644
--- a/src/stateless/dp/trex_stateless_dp_core.cpp
+++ b/src/stateless/dp/trex_stateless_dp_core.cpp
@@ -139,7 +139,7 @@ bool TrexStatelessDpPerPort::resume_traffic(uint8_t port_id){
return (true);
}
-bool TrexStatelessDpPerPort::update_traffic(uint8_t port_id, double mul) {
+bool TrexStatelessDpPerPort::update_traffic(uint8_t port_id, double factor) {
assert( (m_state == TrexStatelessDpPerPort::ppSTATE_TRANSMITTING ||
(m_state == TrexStatelessDpPerPort::ppSTATE_PAUSE)) );
@@ -148,7 +148,7 @@ bool TrexStatelessDpPerPort::update_traffic(uint8_t port_id, double mul) {
CGenNodeStateless * node = dp_stream.m_node;
assert(node->get_port_id() == port_id);
- node->set_multiplier(mul);
+ node->update_rate(factor);
}
return (true);
@@ -453,8 +453,7 @@ TrexStatelessDpCore::add_stream(TrexStatelessDpPerPort * lp_port,
node->m_pause =0;
node->m_stream_type = stream->m_type;
- node->m_base_pps = stream->get_pps();
- node->set_multiplier(comp->get_multiplier());
+ node->m_next_time_offset = 1.0 / (stream->get_pps() * comp->get_multiplier());
/* stateless specific fields */
switch ( stream->m_type ) {
@@ -597,11 +596,11 @@ TrexStatelessDpCore::pause_traffic(uint8_t port_id){
}
void
-TrexStatelessDpCore::update_traffic(uint8_t port_id, double mul) {
+TrexStatelessDpCore::update_traffic(uint8_t port_id, double factor) {
TrexStatelessDpPerPort * lp_port = get_port_db(port_id);
- lp_port->update_traffic(port_id, mul);
+ lp_port->update_traffic(port_id, factor);
}
diff --git a/src/stateless/dp/trex_stateless_dp_core.h b/src/stateless/dp/trex_stateless_dp_core.h
index 563159b2..7dc4a2b2 100644
--- a/src/stateless/dp/trex_stateless_dp_core.h
+++ b/src/stateless/dp/trex_stateless_dp_core.h
@@ -68,7 +68,7 @@ public:
bool resume_traffic(uint8_t port_id);
- bool update_traffic(uint8_t port_id, double mul);
+ bool update_traffic(uint8_t port_id, double factor);
bool stop_traffic(uint8_t port_id,
bool stop_on_id,
diff --git a/src/stateless/dp/trex_stream_node.h b/src/stateless/dp/trex_stream_node.h
index 5997376f..111af845 100644
--- a/src/stateless/dp/trex_stream_node.h
+++ b/src/stateless/dp/trex_stream_node.h
@@ -86,9 +86,8 @@ private:
TrexStream * m_ref_stream_info; /* the stream info */
CGenNodeStateless * m_next_stream;
- double m_base_pps;
/* pad to match the size of CGenNode */
- uint8_t m_pad_end[48];
+ uint8_t m_pad_end[56];
@@ -105,8 +104,9 @@ public:
* on the PPS and multiplier
*
*/
- void set_multiplier(double mul) {
- m_next_time_offset = 1.0 / (m_base_pps * mul) ;
+ void update_rate(double factor) {
+ /* update the inter packet gap */
+ m_next_time_offset = m_next_time_offset / factor;
}
/* we restart the stream, schedule it using stream isg */