summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Simonart <xavier.simonart@intel.com>2019-07-01 17:11:54 +0200
committerPatrice Buriez <patrice.buriez@intel.com>2019-10-11 12:01:52 +0000
commitd11d6d0006c890d586e0d2d3382436804cda8625 (patch)
tree90ac1610c2d7393c5aa618885d265b7fc2e5b291
parentae43633b258e3cf53013cfac4643146761f03b9d (diff)
Fix port throughput related statistics for i40e virtual functions
When CRC stripping is enabled (default PROX behavior), the number of rx bytes received by the NIC returned by DPDK usually does not take the CRC 4 bytes into account. However, for i40e virtual functions those 4 bytes are counted as part of the received bytes. This resulted in both DPDK and PROX taking those 4 bytes into account causing the RX % to be above 100%. Change-Id: I59883b638ed67a6778f80c4dd6bfbfc4f9f2f528 Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
-rw-r--r--VNFs/DPPD-PROX/display_ports.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/VNFs/DPPD-PROX/display_ports.c b/VNFs/DPPD-PROX/display_ports.c
index 5475510..79a5a2d 100644
--- a/VNFs/DPPD-PROX/display_ports.c
+++ b/VNFs/DPPD-PROX/display_ports.c
@@ -179,10 +179,10 @@ static void display_ports_draw_per_sec_stats(void)
/* Take 20 bytes overhead (or 24 if crc strip is enabled) into accound */
struct percent rx_percent;
struct percent tx_percent;
- if (strcmp(prox_port_cfg[port_id].short_name, "i40e") == 0) {
+ if (strcmp(prox_port_cfg[port_id].short_name, "i40e_vf") == 0) {
#if defined (DEV_RX_OFFLOAD_CRC_STRIP)
if (prox_port_cfg[port_id].requested_rx_offload & DEV_RX_OFFLOAD_CRC_STRIP) {
- rx_percent = calc_percent(last->rx_bytes - prev->rx_bytes + 24 * (last->rx_tot - prev->rx_tot), delta_t);
+ rx_percent = calc_percent(last->rx_bytes - prev->rx_bytes + 20 * (last->rx_tot - prev->rx_tot), delta_t);
tx_percent = calc_percent(last->tx_bytes - prev->tx_bytes + 24 * (last->tx_tot - prev->tx_tot), delta_t);
} else {
rx_percent = calc_percent(last->rx_bytes - prev->rx_bytes + 20 * (last->rx_tot - prev->rx_tot), delta_t);
@@ -203,7 +203,7 @@ static void display_ports_draw_per_sec_stats(void)
rx_percent = calc_percent(last->rx_bytes - prev->rx_bytes + 20 * (last->rx_tot - prev->rx_tot), delta_t);
tx_percent = calc_percent(last->tx_bytes - prev->tx_bytes + 20 * (last->tx_tot - prev->tx_tot), delta_t);
} else {
- rx_percent = calc_percent(last->rx_bytes - prev->rx_bytes + 24 * (last->rx_tot - prev->rx_tot), delta_t);
+ rx_percent = calc_percent(last->rx_bytes - prev->rx_bytes + 20 * (last->rx_tot - prev->rx_tot), delta_t);
tx_percent = calc_percent(last->tx_bytes - prev->tx_bytes + 24 * (last->tx_tot - prev->tx_tot), delta_t);
}
} else {