doc: add RCU defer queue API in release notes
[dpdk.git] / app / test-pmd / parameters.c
index 30c1753..f761e14 100644 (file)
@@ -187,9 +187,9 @@ usage(char* progname)
        printf("  --no-rmv-interrupt: disable device removal interrupt.\n");
        printf("  --bitrate-stats=N: set the logical core N to perform "
                "bit-rate calculation.\n");
-       printf("  --print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|all>: "
+       printf("  --print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|flow_aged|all>: "
               "enable print of designated event or all of them.\n");
-       printf("  --mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|all>: "
+       printf("  --mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|flow_aged|all>: "
               "disable print of designated event or all of them.\n");
        printf("  --flow-isolate-all: "
               "requests flow API isolated mode on all ports at initialization time.\n");
@@ -212,6 +212,8 @@ usage(char* progname)
        printf("  --noisy-lkup-num-writes=N: do N random reads and writes per packet\n");
        printf("  --no-iova-contig: mempool memory can be IOVA non contiguous. "
               "valid only with --mp-alloc=anon\n");
+       printf("  --rx-mq-mode=0xX: hexadecimal bitmask of RX mq mode can be "
+              "enabled\n");
 }
 
 #ifdef RTE_LIBRTE_CMDLINE
@@ -545,6 +547,8 @@ parse_event_printing_config(const char *optarg, int enable)
                mask = UINT32_C(1) << RTE_ETH_EVENT_NEW;
        else if (!strcmp(optarg, "dev_released"))
                mask = UINT32_C(1) << RTE_ETH_EVENT_DESTROY;
+       else if (!strcmp(optarg, "flow_aged"))
+               mask = UINT32_C(1) << RTE_ETH_EVENT_FLOW_AGED;
        else if (!strcmp(optarg, "all"))
                mask = ~UINT32_C(0);
        else {
@@ -670,6 +674,7 @@ launch_args_parse(int argc, char** argv)
                { "noisy-lkup-num-reads",       1, 0, 0 },
                { "noisy-lkup-num-reads-writes", 1, 0, 0 },
                { "no-iova-contig",             0, 0, 0 },
+               { "rx-mq-mode",                 1, 0, 0 },
                { 0, 0, 0, 0 },
        };
 
@@ -1363,6 +1368,17 @@ launch_args_parse(int argc, char** argv)
                        }
                        if (!strcmp(lgopts[opt_idx].name, "no-iova-contig"))
                                mempool_flags = MEMPOOL_F_NO_IOVA_CONTIG;
+
+                       if (!strcmp(lgopts[opt_idx].name, "rx-mq-mode")) {
+                               char *end = NULL;
+                               n = strtoul(optarg, &end, 16);
+                               if (n >= 0 && n <= ETH_MQ_RX_VMDQ_DCB_RSS)
+                                       rx_mq_mode = (enum rte_eth_rx_mq_mode)n;
+                               else
+                                       rte_exit(EXIT_FAILURE,
+                                                "rx-mq-mode must be >= 0 and <= %d\n",
+                                                ETH_MQ_RX_VMDQ_DCB_RSS);
+                       }
                        break;
                case 'h':
                        usage(argv[0]);