summaryrefslogtreecommitdiffstats
path: root/src/latency.cpp
diff options
context:
space:
mode:
authoritraviv <itraviv@cisco.com>2016-07-31 11:56:41 +0300
committeritraviv <itraviv@cisco.com>2016-07-31 11:56:41 +0300
commit893d0feef9ba6fa3fb36c49f4b5bcad47cb2bf60 (patch)
tree689a09fa656f990672d2d62143dc173a46fe0316 /src/latency.cpp
parentabf329075bd14f5f41c3753d560260ac809ec4f3 (diff)
parentdceb010b01e9f8a0e9c905370d39f149f01cab7e (diff)
Merge branch 'master' into scapy_server
Diffstat (limited to 'src/latency.cpp')
-rw-r--r--src/latency.cpp48
1 files changed, 19 insertions, 29 deletions
diff --git a/src/latency.cpp b/src/latency.cpp
index acbe26d4..768e161b 100644
--- a/src/latency.cpp
+++ b/src/latency.cpp
@@ -338,9 +338,7 @@ bool CCPortLatency::dump_packet(rte_mbuf_t * m){
uint16_t pkt_size=rte_pktmbuf_pkt_len(m);
utl_DumpBuffer(stdout,p,pkt_size,0);
return (0);
-
-
-
+#if 0
if (pkt_size < ( sizeof(CRx_check_header)+14+20) ) {
assert(0);
}
@@ -348,16 +346,8 @@ bool CCPortLatency::dump_packet(rte_mbuf_t * m){
lp->dump(stdout);
-
- uint16_t vlan_offset=0;
- if ( unlikely( CGlobalInfo::m_options.preview.get_vlan_mode_enable() ) ){
- vlan_offset=4;
- }
-
- (void)vlan_offset;
-
-// utl_DumpBuffer(stdout,p,pkt_size,0);
return (0);
+#endif
}
@@ -446,7 +436,7 @@ bool CCPortLatency::check_packet(rte_mbuf_t * m,CRx_check_header * & rx_p) {
m_no_ipv4_option++;
return (false);
}
- m_parent->get_nat_manager()->handle_packet_ipv4(lp,parser.m_ipv4);
+ m_parent->get_nat_manager()->handle_packet_ipv4(lp, parser.m_ipv4, true);
opt_len -= CNatOption::noOPTION_LEN;
opt_ptr += CNatOption::noOPTION_LEN;
break;
@@ -455,10 +445,11 @@ bool CCPortLatency::check_packet(rte_mbuf_t * m,CRx_check_header * & rx_p) {
return (false);
} // End of switch
} // End of while
- if (CGlobalInfo::is_learn_mode(CParserOption::LEARN_MODE_TCP_ACK)
- && parser.IsNatInfoPkt()) {
- m_parent->get_nat_manager()->handle_packet_ipv4(NULL, parser.m_ipv4);
- }
+
+ bool first;
+ if (CGlobalInfo::is_learn_mode(CParserOption::LEARN_MODE_TCP) && parser.IsNatInfoPkt(first)) {
+ m_parent->get_nat_manager()->handle_packet_ipv4(NULL, parser.m_ipv4, first);
+ }
return (true);
} // End of check for non-latency packet
@@ -565,9 +556,6 @@ bool CLatencyManager::Create(CLatencyManagerCfg * cfg){
m_nat_check_manager.Create();
}
- m_watchdog = NULL;
- m_watchdog_handle = -1;
-
return (true);
}
@@ -718,12 +706,10 @@ void CLatencyManager::reset(){
}
void CLatencyManager::tickle() {
- if (m_watchdog) {
- m_watchdog->tickle(m_watchdog_handle);
- }
+ m_monitor.tickle();
}
-void CLatencyManager::start(int iter, TrexWatchDog *watchdog) {
+void CLatencyManager::start(int iter, bool activate_watchdog) {
m_do_stop =false;
m_is_active =false;
int cnt=0;
@@ -740,9 +726,9 @@ void CLatencyManager::start(int iter, TrexWatchDog *watchdog) {
m_p_queue.push(node);
bool do_try_rx_queue =CGlobalInfo::m_options.preview.get_vm_one_queue_enable()?true:false;
- if (watchdog) {
- m_watchdog = watchdog;
- m_watchdog_handle = watchdog->register_monitor("STF RX CORE", 1);
+ if (activate_watchdog) {
+ m_monitor.create("STF RX CORE", 1);
+ TrexWatchDog::getInstance().register_monitor(&m_monitor);
}
while ( !m_p_queue.empty() ) {
@@ -812,8 +798,8 @@ void CLatencyManager::start(int iter, TrexWatchDog *watchdog) {
}
/* disable the monitor */
- if (m_watchdog) {
- m_watchdog->disable_monitor(m_watchdog_handle);
+ if (activate_watchdog) {
+ m_monitor.disable();
}
}
@@ -925,6 +911,10 @@ void CLatencyManager::DumpShortRxCheck(FILE *fd){
}
}
+void CLatencyManager::dump_nat_flow_table(FILE *fd) {
+ m_nat_check_manager.Dump(fd);
+}
+
void CLatencyManager::rx_check_dump_json(std::string & json){
if ( get_is_rx_check_mode() ) {
m_rx_check_manager.dump_json(json );