app/testpmd: add commands for RSS queue region
[dpdk.git] / app / test-pmd / config.c
index ecd5166..926daca 100644 (file)
@@ -71,6 +71,9 @@
 #ifdef RTE_LIBRTE_IXGBE_PMD
 #include <rte_pmd_ixgbe.h>
 #endif
+#ifdef RTE_LIBRTE_I40E_PMD
+#include <rte_pmd_i40e.h>
+#endif
 #ifdef RTE_LIBRTE_BNXT_PMD
 #include <rte_pmd_bnxt.h>
 #endif
@@ -607,6 +610,14 @@ port_offload_cap_display(portid_t port_id)
                        printf("off\n");
        }
 
+       if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TIMESTAMP) {
+               printf("HW timestamp:                  ");
+               if (dev->data->dev_conf.rxmode.hw_timestamp)
+                       printf("on\n");
+               else
+                       printf("off\n");
+       }
+
        if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_QINQ_INSERT) {
                printf("Double VLANs insert:           ");
                if (ports[port_id].tx_ol_flags &
@@ -3460,3 +3471,46 @@ close_ddp_package_file(uint8_t *buf)
 
        return -1;
 }
+
+void
+port_queue_region_info_display(portid_t port_id, void *buf)
+{
+#ifdef RTE_LIBRTE_I40E_PMD
+       uint16_t i, j;
+       struct rte_pmd_i40e_queue_regions *info =
+               (struct rte_pmd_i40e_queue_regions *)buf;
+       static const char *queue_region_info_stats_border = "-------";
+
+       if (!info->queue_region_number)
+               printf("there is no region has been set before");
+
+       printf("\n      %s All queue region info for port=%2d %s",
+                       queue_region_info_stats_border, port_id,
+                       queue_region_info_stats_border);
+       printf("\n      queue_region_number: %-14u \n",
+                       info->queue_region_number);
+
+       for (i = 0; i < info->queue_region_number; i++) {
+               printf("\n      region_id: %-14u queue_number: %-14u "
+                       "queue_start_index: %-14u \n",
+                       info->region[i].region_id,
+                       info->region[i].queue_num,
+                       info->region[i].queue_start_index);
+
+               printf("  user_priority_num is  %-14u :",
+                                       info->region[i].user_priority_num);
+               for (j = 0; j < info->region[i].user_priority_num; j++)
+                       printf(" %-14u ", info->region[i].user_priority[j]);
+
+               printf("\n      flowtype_num is  %-14u :",
+                               info->region[i].flowtype_num);
+               for (j = 0; j < info->region[i].flowtype_num; j++)
+                       printf(" %-14u ", info->region[i].hw_flowtype[j]);
+       }
+#else
+       RTE_SET_USED(port_id);
+       RTE_SET_USED(buf);
+#endif
+
+       printf("\n\n");
+}