summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIdo Barnea <ibarnea@cisco.com>2016-05-22 14:59:57 +0300
committerIdo Barnea <ibarnea@cisco.com>2016-05-22 14:59:57 +0300
commit0e69ec7a8c24849b9b383efcb2cdf91138ddd604 (patch)
treed8d4bb72567a7f1626b1127a1cdff9a8001cf484 /src
parent1cae771422ae6894bbc5dce40eb7e6c6e721eee5 (diff)
Fixes for latency issues + additions to tests
Diffstat (limited to 'src')
-rw-r--r--src/stateless/rx/trex_stateless_rx_core.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/stateless/rx/trex_stateless_rx_core.cpp b/src/stateless/rx/trex_stateless_rx_core.cpp
index 5dac4b4a..6cabc820 100644
--- a/src/stateless/rx/trex_stateless_rx_core.cpp
+++ b/src/stateless/rx/trex_stateless_rx_core.cpp
@@ -159,7 +159,7 @@ void CRxCoreStateless::handle_rx_pkt(CLatencyManagerPerPortStl *lp, rte_mbuf_t *
m_rfc2544[hw_id].seq_err_events_too_low++;
}
} else {
- if (unlikely (m_rfc2544[hw_id].seq - seq > 100000)) {
+ if (unlikely (seq - m_rfc2544[hw_id].seq > 100000)) {
// packet reorder while we had wrap around
if (seq == (m_rfc2544[hw_id].seq - 1)) {
m_rfc2544[hw_id].dup += 1;
@@ -196,7 +196,6 @@ void CRxCoreStateless::handle_rx_pkt(CLatencyManagerPerPortStl *lp, rte_mbuf_t *
}
}
}
- rte_pktmbuf_free(m);
}
// In VM setup, handle packets coming as messages from DP cores.
@@ -222,6 +221,7 @@ void CRxCoreStateless::handle_rx_queue_msgs(uint8_t thread_id, CNodeRing * r) {
assert( rx_port_index < m_max_ports );
lp = &m_ports[rx_port_index];
handle_rx_pkt(lp, (rte_mbuf_t *)l_msg->m_pkt);
+ rte_pktmbuf_free((rte_mbuf_t *)l_msg->m_pkt);
break;
default:
printf("ERROR latency-thread message type is not valid %d \n", msg_type);