summaryrefslogtreecommitdiffstats
path: root/src/stateless
diff options
context:
space:
mode:
authorIdo Barnea <ibarnea@cisco.com>2017-02-21 12:25:43 +0200
committerIdo Barnea <ibarnea@cisco.com>2017-02-21 12:25:43 +0200
commit74a55c270b465ae6e0ec36d58a1f2f4b0e132e00 (patch)
tree472940618f58211183d24320a5be8be8fd9afa22 /src/stateless
parent977c61cb03e8bfc5f03d174b1761c2003f0e7ba6 (diff)
Small reorder in drivers inheritance + fix to e1000 CRC issue (trex-354)
Signed-off-by: Ido Barnea <ibarnea@cisco.com>
Diffstat (limited to 'src/stateless')
-rw-r--r--src/stateless/rx/trex_stateless_rx_core.cpp3
-rw-r--r--src/stateless/rx/trex_stateless_rx_defs.h2
-rw-r--r--src/stateless/rx/trex_stateless_rx_port_mngr.cpp19
-rw-r--r--src/stateless/rx/trex_stateless_rx_port_mngr.h9
4 files changed, 12 insertions, 21 deletions
diff --git a/src/stateless/rx/trex_stateless_rx_core.cpp b/src/stateless/rx/trex_stateless_rx_core.cpp
index 03351036..016b7193 100644
--- a/src/stateless/rx/trex_stateless_rx_core.cpp
+++ b/src/stateless/rx/trex_stateless_rx_core.cpp
@@ -91,8 +91,7 @@ void CRxCoreStateless::create(const CRxSlCfg &cfg) {
cfg.m_ports[i],
m_rfc2544,
&m_err_cntrs,
- &m_cpu_dp_u,
- cfg.m_num_crc_fix_bytes);
+ &m_cpu_dp_u);
}
}
diff --git a/src/stateless/rx/trex_stateless_rx_defs.h b/src/stateless/rx/trex_stateless_rx_defs.h
index 367cf4e3..ce134605 100644
--- a/src/stateless/rx/trex_stateless_rx_defs.h
+++ b/src/stateless/rx/trex_stateless_rx_defs.h
@@ -37,7 +37,6 @@ class CRxSlCfg {
CRxSlCfg (){
m_max_ports = 0;
m_cps = 0.0;
- m_num_crc_fix_bytes = 0;
m_tx_cores = 0;
}
@@ -46,7 +45,6 @@ class CRxSlCfg {
uint32_t m_tx_cores;
double m_cps;
CPortLatencyHWBase * m_ports[TREX_MAX_PORTS];
- uint8_t m_num_crc_fix_bytes;
};
/**
diff --git a/src/stateless/rx/trex_stateless_rx_port_mngr.cpp b/src/stateless/rx/trex_stateless_rx_port_mngr.cpp
index 6ebe0a97..4e24a4a7 100644
--- a/src/stateless/rx/trex_stateless_rx_port_mngr.cpp
+++ b/src/stateless/rx/trex_stateless_rx_port_mngr.cpp
@@ -102,6 +102,12 @@ RXLatency::handle_pkt(const rte_mbuf_t *m) {
curr_rfc2544->inc_seq_err(pkt_seq - exp_seq);
curr_rfc2544->inc_seq_err_too_big();
curr_rfc2544->set_seq(pkt_seq + 1);
+#ifdef LAT_DEBUG
+ printf("magic:%x flow_seq:%x hw_id:%x seq %x exp %x\n"
+ , fsp_head->magic, fsp_head->flow_seq, fsp_head->hw_id, pkt_seq
+ , exp_seq);
+ utl_DumpBuffer(stdout, rte_pktmbuf_mtod(m, uint8_t *), m->pkt_len, 0);
+#endif
} else {
if (pkt_seq == (exp_seq - 1)) {
curr_rfc2544->inc_dup();
@@ -128,6 +134,9 @@ RXLatency::handle_pkt(const rte_mbuf_t *m) {
curr_rfc2544->inc_seq_err(pkt_seq - exp_seq);
curr_rfc2544->inc_seq_err_too_big();
curr_rfc2544->set_seq(pkt_seq + 1);
+#ifdef LAT_DEBUG
+ printf("2:seq %d exp %d\n", exp_seq, pkt_seq);
+#endif
}
}
} else {
@@ -574,13 +583,10 @@ RXPortManager::create(const TRexPortAttr *port_attr,
CPortLatencyHWBase *io,
CRFC2544Info *rfc2544,
CRxCoreErrCntrs *err_cntrs,
- CCpuUtlDp *cpu_util,
- uint8_t crc_bytes_num) {
-
+ CCpuUtlDp *cpu_util) {
m_port_id = port_attr->get_port_id();
m_io = io;
m_cpu_dp_u = cpu_util;
- m_num_crc_fix_bytes = crc_bytes_num;
/* init features */
m_latency.create(rfc2544, err_cntrs);
@@ -628,11 +634,6 @@ int RXPortManager::process_all_pending_pkts(bool flush_rx) {
rte_mbuf_t *m = rx_pkts[j];
if (!flush_rx) {
- // patch relevant only for e1000 driver
- if (m_num_crc_fix_bytes) {
- rte_pktmbuf_trim(m, m_num_crc_fix_bytes);
- }
-
handle_pkt(m);
}
diff --git a/src/stateless/rx/trex_stateless_rx_port_mngr.h b/src/stateless/rx/trex_stateless_rx_port_mngr.h
index b318d973..ea360490 100644
--- a/src/stateless/rx/trex_stateless_rx_port_mngr.h
+++ b/src/stateless/rx/trex_stateless_rx_port_mngr.h
@@ -201,15 +201,12 @@ public:
CPortLatencyHWBase *io,
CRFC2544Info *rfc2544,
CRxCoreErrCntrs *err_cntrs,
- CCpuUtlDp *cpu_util,
- uint8_t crc_bytes_num);
+ CCpuUtlDp *cpu_util);
-
void clear_stats() {
m_latency.reset_stats();
}
-
void get_latency_stats(rx_per_flow_t *rx_stats,
int min,
int max,
@@ -344,10 +341,6 @@ private:
RXQueue m_queue;
RXServer m_server;
RXGratARP m_grat_arp;
-
- // compensate for the fact that hardware send us packets without Ethernet CRC, and we report with it
- uint8_t m_num_crc_fix_bytes;
-
CCpuUtlDp *m_cpu_dp_u;
CPortLatencyHWBase *m_io;
CManyIPInfo m_src_addr;