app/testpmd: display devargs in port info output
[dpdk.git] / app / test-pmd / config.c
index d9a6cfd..0fa5a39 100644 (file)
@@ -410,6 +410,8 @@ port_infos_display(portid_t port_id)
        rte_eth_dev_get_name_by_port(port_id, name);
        printf("\nDevice name: %s", name);
        printf("\nDriver name: %s", dev_info.driver_name);
+       if (dev_info.device->devargs && dev_info.device->devargs->args)
+               printf("\nDevargs: %s", dev_info.device->devargs->args);
        printf("\nConnect to socket: %u", port->socket_id);
 
        if (port_numa[port_id] != NUMA_NO_CONFIG) {
@@ -461,12 +463,12 @@ port_infos_display(portid_t port_id)
        if (dev_info.reta_size > 0)
                printf("Redirection table size: %u\n", dev_info.reta_size);
        if (!dev_info.flow_type_rss_offloads)
-               printf("No flow type is supported.\n");
+               printf("No RSS offload flow type is supported.\n");
        else {
                uint16_t i;
                char *p;
 
-               printf("Supported flow types:\n");
+               printf("Supported RSS offload flow types:\n");
                for (i = RTE_ETH_FLOW_UNKNOWN + 1;
                     i < sizeof(dev_info.flow_type_rss_offloads) * CHAR_BIT; i++) {
                        if (!(dev_info.flow_type_rss_offloads & (1ULL << i)))
@@ -594,6 +596,15 @@ port_offload_cap_display(portid_t port_id)
                        printf("off\n");
        }
 
+       if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_UDP_CKSUM) {
+               printf("RX Outer UDP checksum:         ");
+               if (ports[port_id].dev_conf.rxmode.offloads &
+                   DEV_RX_OFFLOAD_OUTER_UDP_CKSUM)
+                       printf("on\n");
+               else
+                       printf("off\n");
+       }
+
        if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_LRO) {
                printf("Large receive offload:         ");
                if (ports[port_id].dev_conf.rxmode.offloads &
@@ -764,6 +775,16 @@ port_offload_cap_display(portid_t port_id)
                else
                        printf("off\n");
        }
+
+       if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_OUTER_UDP_CKSUM) {
+               printf("TX Outer UDP checksum:         ");
+               if (ports[port_id].dev_conf.txmode.offloads &
+                   DEV_TX_OFFLOAD_OUTER_UDP_CKSUM)
+                       printf("on\n");
+               else
+                       printf("off\n");
+       }
+
 }
 
 int
@@ -1679,9 +1700,9 @@ port_rss_reta_info(portid_t port_id,
  * key of the port.
  */
 void
-port_rss_hash_conf_show(portid_t port_id, char rss_info[], int show_rss_key)
+port_rss_hash_conf_show(portid_t port_id, int show_rss_key)
 {
-       struct rte_eth_rss_conf rss_conf;
+       struct rte_eth_rss_conf rss_conf = {0};
        uint8_t rss_key[RSS_HASH_KEY_LENGTH];
        uint64_t rss_hf;
        uint8_t i;
@@ -1692,7 +1713,6 @@ port_rss_hash_conf_show(portid_t port_id, char rss_info[], int show_rss_key)
        if (port_id_is_invalid(port_id, ENABLED_WARN))
                return;
 
-       memset(&dev_info, 0, sizeof(dev_info));
        rte_eth_dev_info_get(port_id, &dev_info);
        if (dev_info.hash_key_size > 0 &&
                        dev_info.hash_key_size <= sizeof(rss_key))
@@ -1702,12 +1722,6 @@ port_rss_hash_conf_show(portid_t port_id, char rss_info[], int show_rss_key)
                return;
        }
 
-       rss_conf.rss_hf = 0;
-       for (i = 0; rss_type_table[i].str; i++) {
-               if (!strcmp(rss_info, rss_type_table[i].str))
-                       rss_conf.rss_hf = rss_type_table[i].rss_type;
-       }
-
        /* Get RSS hash key if asked to display it */
        rss_conf.rss_key = (show_rss_key) ? rss_key : NULL;
        rss_conf.rss_key_len = hash_key_size;