X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Fparameters.c;h=404dba2b20c5a46185d61f4bd7ecbccbab888806;hb=62a667f386fb6df5c2e96cb1e813f9abf6683bb4;hp=9b6e35b999053021aaf0170d9aad34e6e4640903;hpb=1c69df45f8c6b727c3b6a78e13f81225c090dde2;p=dpdk.git diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index 9b6e35b999..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)]: " @@ -107,6 +109,8 @@ usage(char* progname) printf(" --total-num-mbufs=N: set the number of mbufs to be allocated " "in mbuf pools.\n"); printf(" --max-pkt-len=N: set the maximum size of packet to N bytes.\n"); + printf(" --max-lro-pkt-size=N: set the maximum LRO aggregated packet " + "size to N bytes.\n"); #ifdef RTE_LIBRTE_CMDLINE printf(" --eth-peers-configfile=name: config file with ethernet addresses " "of peer ports.\n"); @@ -585,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 }, @@ -594,6 +599,7 @@ launch_args_parse(int argc, char** argv) { "mbuf-size", 1, 0, 0 }, { "total-num-mbufs", 1, 0, 0 }, { "max-pkt-len", 1, 0, 0 }, + { "max-lro-pkt-size", 1, 0, 0 }, { "pkt-filter-mode", 1, 0, 0 }, { "pkt-filter-report-hash", 1, 0, 0 }, { "pkt-filter-size", 1, 0, 0 }, @@ -822,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")) @@ -838,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: " @@ -891,6 +901,10 @@ launch_args_parse(int argc, char** argv) "Invalid max-pkt-len=%d - should be > %d\n", n, RTE_ETHER_MIN_LEN); } + if (!strcmp(lgopts[opt_idx].name, "max-lro-pkt-size")) { + n = atoi(optarg); + rx_mode.max_lro_pkt_size = (uint32_t) n; + } if (!strcmp(lgopts[opt_idx].name, "pkt-filter-mode")) { if (!strcmp(optarg, "signature")) fdir_conf.mode = @@ -1356,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;