diff options
author | imarom <imarom@cisco.com> | 2016-08-10 17:45:36 +0300 |
---|---|---|
committer | imarom <imarom@cisco.com> | 2016-08-15 16:03:59 +0300 |
commit | ba7b5dff853a3b11b0cc2e7b29cfc1cd99e606f7 (patch) | |
tree | 25a2d72756217ef5d364a4c9b5a6e5e9a9d165a7 /src/stateless/cp/trex_stateless_port.cpp | |
parent | ce1de344579505665b88c2d548ca8d2acc135988 (diff) |
core mask - first phase
Diffstat (limited to 'src/stateless/cp/trex_stateless_port.cpp')
-rw-r--r-- | src/stateless/cp/trex_stateless_port.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp index 376453b9..134d4c98 100644 --- a/src/stateless/cp/trex_stateless_port.cpp +++ b/src/stateless/cp/trex_stateless_port.cpp @@ -241,7 +241,7 @@ TrexStatelessPort::release(void) { * */ void -TrexStatelessPort::start_traffic(const TrexPortMultiplier &mul, double duration, bool force) { +TrexStatelessPort::start_traffic(const TrexPortMultiplier &mul, double duration, bool force, uint64_t core_mask) { /* command allowed only on state stream */ verify_state(PORT_STATE_STREAMS); @@ -262,10 +262,12 @@ TrexStatelessPort::start_traffic(const TrexPortMultiplier &mul, double duration, std::string fail_msg; TrexStreamsCompiler compiler; + TrexDPCoreMask mask(get_dp_core_count(), core_mask); + bool rc = compiler.compile(m_port_id, feeder.get_streams(), compiled_objs, - get_dp_core_count(), + mask, factor, &fail_msg); @@ -282,7 +284,7 @@ TrexStatelessPort::start_traffic(const TrexPortMultiplier &mul, double duration, /* update object status */ m_factor = factor; - m_last_all_streams_continues = compiled_objs[0]->get_all_streams_continues(); + m_last_all_streams_continues = compiled_objs[mask.get_active_cores()[0]]->get_all_streams_continues(); m_last_duration = duration; change_state(PORT_STATE_TX); @@ -484,7 +486,7 @@ TrexStatelessPort::update_traffic(const TrexPortMultiplier &mul, bool force) { } TrexStatelessCpToDpMsgBase *update_msg = new TrexStatelessDpUpdate(m_port_id, factor); - send_message_to_all_dp(update_msg); + send_message_to_all_dp(update_msg, true); m_factor *= factor; @@ -820,13 +822,17 @@ TrexStatelessPort::validate(void) { } TrexStreamsCompiler compiler; + + /* TODO: think of this mask...*/ + TrexDPCoreMask core_mask(get_dp_core_count(), TrexDPCoreMask::MASK_ALL); + std::vector<TrexStreamsCompiledObj *> compiled_objs; std::string fail_msg; bool rc = compiler.compile(m_port_id, streams, compiled_objs, - get_dp_core_count(), + core_mask, 1.0, &fail_msg); if (!rc) { |