diff options
Diffstat (limited to 'src/stateless')
-rw-r--r-- | src/stateless/dp/trex_stateless_dp_core.cpp | 12 | ||||
-rw-r--r-- | src/stateless/rx/trex_stateless_rx_port_mngr.cpp | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/stateless/dp/trex_stateless_dp_core.cpp b/src/stateless/dp/trex_stateless_dp_core.cpp index ed130c29..0a317170 100644 --- a/src/stateless/dp/trex_stateless_dp_core.cpp +++ b/src/stateless/dp/trex_stateless_dp_core.cpp @@ -1281,6 +1281,12 @@ bool CGenNodePCAP::create(uint8_t port_id, m_dir = dir; m_min_ipg_sec = min_ipg_sec; + /* increase timeout of WD due to io */ + TrexMonitor * cur_monitor = TrexWatchDog::getInstance().get_current_monitor(); + if (cur_monitor != NULL) { + cur_monitor->io_begin(); + } + /* mark this node as slow path */ set_slow_path(true); @@ -1344,6 +1350,12 @@ void CGenNodePCAP::destroy() { m_reader = NULL; } + /* end of io, return normal timeout of WD */ + TrexMonitor * cur_monitor = TrexWatchDog::getInstance().get_current_monitor(); + if (cur_monitor != NULL) { + cur_monitor->io_end(); + } + m_state = PCAP_INVALID; } diff --git a/src/stateless/rx/trex_stateless_rx_port_mngr.cpp b/src/stateless/rx/trex_stateless_rx_port_mngr.cpp index d2e0b4e8..ede86062 100644 --- a/src/stateless/rx/trex_stateless_rx_port_mngr.cpp +++ b/src/stateless/rx/trex_stateless_rx_port_mngr.cpp @@ -265,6 +265,9 @@ public: m_icmp = NULL; m_vlan_tag = 0; + if (m_size_left < 14) + return; + /* ethernet */ m_ether = (EthernetHeader *)parse_bytes(14); |