diff options
author | 2015-11-09 11:05:34 +0200 | |
---|---|---|
committer | 2015-11-09 11:05:34 +0200 | |
commit | c6d2cb0554ebc39142fb433040a968714a7ec24f (patch) | |
tree | 3594c3e602069c08ed835a1cef0a5e5334fca96d /src/stateless | |
parent | cb98f7938f3ea85c57de66c6f6919accdcc16fb4 (diff) | |
parent | 67bcc46be09049d2ca65c0af2aa6a2fe0821eb04 (diff) |
Merge branch intg1
Diffstat (limited to 'src/stateless')
-rw-r--r-- | src/stateless/cp/trex_stateless_port.cpp | 11 | ||||
-rw-r--r-- | src/stateless/dp/trex_stateless_dp_core.cpp | 17 | ||||
-rw-r--r-- | src/stateless/dp/trex_stateless_dp_core.h | 13 |
3 files changed, 31 insertions, 10 deletions
diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp index 3a8d2c14..cb6fcc0e 100644 --- a/src/stateless/cp/trex_stateless_port.cpp +++ b/src/stateless/cp/trex_stateless_port.cpp @@ -27,9 +27,16 @@ limitations under the License. #include <string> #ifndef TREX_RPC_MOCK_SERVER + // DPDK c++ issue -#define UINT8_MAX 255 -#define UINT16_MAX 0xFFFF +#ifndef UINT8_MAX + #define UINT8_MAX 255 +#endif + +#ifndef UINT16_MAX + #define UINT16_MAX 0xFFFF +#endif + // DPDK c++ issue #endif diff --git a/src/stateless/dp/trex_stateless_dp_core.cpp b/src/stateless/dp/trex_stateless_dp_core.cpp index 5f4e553a..b2bd0152 100644 --- a/src/stateless/dp/trex_stateless_dp_core.cpp +++ b/src/stateless/dp/trex_stateless_dp_core.cpp @@ -30,7 +30,9 @@ usec_to_sec(double usec) { return (usec / (1000 * 1000)); } -TrexStatelessDpCore::TrexStatelessDpCore(uint8_t thread_id, CFlowGenListPerThread *core) { + +void +TrexStatelessDpCore::create(uint8_t thread_id, CFlowGenListPerThread *core) { m_thread_id = thread_id; m_core = core; @@ -73,7 +75,8 @@ TrexStatelessDpCore::start_scheduler() { m_core->m_node_gen.add_node(node_sync); double old_offset = 0.0; - m_core->m_node_gen.flush_file(100000000, 0.0, false, m_core, old_offset); + m_core->m_node_gen.flush_file(-1, 0.0, false, m_core, old_offset); + m_core->m_node_gen.close_file(m_core); } void @@ -176,14 +179,14 @@ TrexStatelessDpCore::stop_traffic(uint8_t port_id) { m_state = STATE_IDLE; /* stop the scheduler */ - CGenNode *node = m_core->create_node() ; + CGenNode *node = m_core->create_node() ; - node->m_type = CGenNode::EXIT_SCHED; + node->m_type = CGenNode::EXIT_SCHED; - /* make sure it will be scheduled after the current node */ - node->m_time = m_core->m_node_gen.m_p_queue.top()->m_time; + /* make sure it will be scheduled after the current node */ + node->m_time = m_core->m_cur_time_sec + 0.0001; - m_core->m_node_gen.add_node(node); + m_core->m_node_gen.add_node(node); } } diff --git a/src/stateless/dp/trex_stateless_dp_core.h b/src/stateless/dp/trex_stateless_dp_core.h index f3b5ff62..f4dbad08 100644 --- a/src/stateless/dp/trex_stateless_dp_core.h +++ b/src/stateless/dp/trex_stateless_dp_core.h @@ -42,7 +42,18 @@ public: STATE_TRANSMITTING }; - TrexStatelessDpCore(uint8_t thread_id, CFlowGenListPerThread *core); + TrexStatelessDpCore() { + m_thread_id = 0; + m_core = NULL; + } + + /** + * "static constructor" + * + * @param thread_id + * @param core + */ + void create(uint8_t thread_id, CFlowGenListPerThread *core); /** * launch the stateless DP core code |