X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Fparameters.c;h=404dba2b20c5a46185d61f4bd7ecbccbab888806;hb=841c83cf64b0bbca0b4ef9b6359ba5c9228231ad;hp=deca7a682878a5906050c4fab539187decdc5128;hpb=4a72909224527386b913bc04b4e535416b7ef5bb;p=dpdk.git diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index deca7a6828..404dba2b20 100644 --- a/app/test-pmd/parameters.c +++ b/app/test-pmd/parameters.c @@ -57,6 +57,7 @@ usage(char* progname) "[--help|-h] | [--auto-start|-a] | [" "--tx-first | --stats-period=PERIOD | " "--coremask=COREMASK --portmask=PORTMASK --numa " + "--portlist=PORTLIST " "--mbuf-size= | --total-num-mbufs= | " "--nb-cores= | --nb-ports= | " #ifdef RTE_LIBRTE_CMDLINE @@ -92,6 +93,7 @@ usage(char* progname) "packet forwarding.\n"); printf(" --portmask=PORTMASK: hexadecimal bitmask of ports used " "by the packet forwarding test.\n"); + printf(" --portlist=PORTLIST: list of forwarding ports\n"); printf(" --numa: enable NUMA-aware allocation of RX/TX rings and of " "RX memory buffers (mbufs).\n"); printf(" --port-numa-config=(port,socket)[,(port,socket)]: " @@ -587,6 +589,7 @@ launch_args_parse(int argc, char** argv) { "nb-ports", 1, 0, 0 }, { "coremask", 1, 0, 0 }, { "portmask", 1, 0, 0 }, + { "portlist", 1, 0, 0 }, { "numa", 0, 0, 0 }, { "no-numa", 0, 0, 0 }, { "mp-anon", 0, 0, 0 }, @@ -825,6 +828,8 @@ launch_args_parse(int argc, char** argv) parse_fwd_coremask(optarg); if (!strcmp(lgopts[opt_idx].name, "portmask")) parse_fwd_portmask(optarg); + if (!strcmp(lgopts[opt_idx].name, "portlist")) + parse_fwd_portlist(optarg); if (!strcmp(lgopts[opt_idx].name, "no-numa")) numa_support = 0; if (!strcmp(lgopts[opt_idx].name, "numa")) @@ -841,6 +846,8 @@ launch_args_parse(int argc, char** argv) mp_alloc_type = MP_ALLOC_XMEM; else if (!strcmp(optarg, "xmemhuge")) mp_alloc_type = MP_ALLOC_XMEM_HUGE; + else if (!strcmp(optarg, "xbuf")) + mp_alloc_type = MP_ALLOC_XBUF; else rte_exit(EXIT_FAILURE, "mp-alloc %s invalid - must be: " @@ -1363,12 +1370,19 @@ launch_args_parse(int argc, char** argv) break; default: usage(argv[0]); + printf("Invalid option: %s\n", argv[optind]); rte_exit(EXIT_FAILURE, "Command line is incomplete or incorrect\n"); break; } } + if (optind != argc) { + usage(argv[0]); + printf("Invalid parameter: %s\n", argv[optind]); + rte_exit(EXIT_FAILURE, "Command line is incorrect\n"); + } + /* Set offload configuration from command line parameters. */ rx_mode.offloads = rx_offloads; tx_mode.offloads = tx_offloads;