Support packets in flight
[samplevnf.git] / VNFs / DPPD-PROX / display_ports.c
index b1027f9..d2140f1 100644 (file)
@@ -22,6 +22,7 @@
 #include "stats_port.h"
 #include "prox_globals.h"
 #include "prox_port_cfg.h"
+#include "prox_compat.h"
 
 static struct display_page display_page_ports;
 static struct display_column *nb_col;
@@ -115,7 +116,7 @@ static void display_ports_draw_frame(struct screen_state *state)
                const uint32_t port_id = port_disp[i];
 
                display_column_print(nb_col, i, "%u", port_id);
-               display_column_print(name_col, i, "%s", prox_port_cfg[port_id].name);
+               display_column_print(name_col, i, "%s", prox_port_cfg[port_id].names[0]);
                display_column_print(type_col, i, "%s", prox_port_cfg[port_id].short_name);
        }
 }
@@ -178,16 +179,17 @@ 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 (prox_port_cfg[port_id].port_conf.rxmode.hw_strip_crc == 1) {
-                               rx_percent = calc_percent(last->rx_bytes - prev->rx_bytes + 24 * (last->rx_tot - prev->rx_tot), delta_t);
+               if (strcmp(prox_port_cfg[port_id].short_name, "i40e_vf") == 0) {
+#if defined (RTE_ETH_RX_OFFLOAD_CRC_STRIP)
+                       if (prox_port_cfg[port_id].requested_rx_offload & RTE_ETH_RX_OFFLOAD_CRC_STRIP) {
+                               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);
                                tx_percent = calc_percent(last->tx_bytes - prev->tx_bytes + 20 * (last->tx_tot - prev->tx_tot), delta_t);
                        }
                } else {
-                       if (prox_port_cfg[port_id].port_conf.rxmode.hw_strip_crc == 1) {
+                       if (prox_port_cfg[port_id].requested_rx_offload & RTE_ETH_RX_OFFLOAD_CRC_STRIP) {
                                rx_percent = calc_percent(last->rx_bytes - prev->rx_bytes + 24 * (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 {
@@ -195,6 +197,28 @@ static void display_ports_draw_per_sec_stats(void)
                                tx_percent = calc_percent(last->tx_bytes - prev->tx_bytes + 20 * (last->tx_tot - prev->tx_tot), delta_t);
                        }
                }
+#else
+#if defined RTE_ETH_RX_OFFLOAD_KEEP_CRC
+                       if (prox_port_cfg[port_id].requested_rx_offload & RTE_ETH_RX_OFFLOAD_KEEP_CRC ) {
+                               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 + 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 {
+                       if (prox_port_cfg[port_id].requested_rx_offload & RTE_ETH_RX_OFFLOAD_KEEP_CRC ) {
+                               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);
+                               tx_percent = calc_percent(last->tx_bytes - prev->tx_bytes + 24 * (last->tx_tot - prev->tx_tot), delta_t);
+                       }
+               }
+#else
+#error neither RTE_ETH_RX_OFFLOAD_CRC_STRIP or RTE_ETH_RX_OFFLOAD_KEEP_CRC is defined
+#endif
+#endif
 
                display_column_print(no_mbufs_col, i, "%lu", no_mbufs_rate);
                display_column_print(ierrors_col, i, "%lu", ierrors_rate);