X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Ftestpmd_app_ug%2Frun_app.rst;h=7b4341647f12e2fd4b3c8ab9a6be5c44628bdace;hb=59fcf854eda29c12c3c41ec8a7c425bc0cc90d35;hp=f605564553cfe8b5a4ffa2a73e490de567e5f173;hpb=e76d7a768ce085c140e41f338f45d50118964ae3;p=dpdk.git diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst index f605564553..7b4341647f 100644 --- a/doc/guides/testpmd_app_ug/run_app.rst +++ b/doc/guides/testpmd_app_ug/run_app.rst @@ -1,32 +1,5 @@ -.. BSD LICENSE - Copyright(c) 2010-2014 Intel Corporation. All rights reserved. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2010-2014 Intel Corporation. Running the Application ======================= @@ -34,127 +7,9 @@ Running the Application EAL Command-line Options ------------------------ -The following are the EAL command-line options that can be used in conjunction with the testpmd, -or any other DPDK application. -See the DPDK Getting Started Guides for more information on these options. - -* ``-c COREMASK`` - - Set the hexadecimal bitmask of the cores to run on. - -* ``-l CORELIST`` - - List of cores to run on - - The argument format is ``[-c2][,c3[-c4],...]`` - where ``c1``, ``c2``, etc are core indexes between 0 and 128. - -* ``--lcores COREMAP`` - - Map lcore set to physical cpu set - - The argument format is:: - - [<,lcores[@cpus]>...] - - Lcore and CPU lists are grouped by ``(`` and ``)`` Within the group. - The ``-`` character is used as a range separator and ``,`` is used as a single number separator. - The grouping ``()`` can be omitted for single element group. - The ``@`` can be omitted if cpus and lcores have the same value. - -* ``--master-lcore ID`` - - Core ID that is used as master. - -* ``-n NUM`` - - Set the number of memory channels to use. - -* ``-b, --pci-blacklist domain:bus:devid.func`` - - Blacklist a PCI devise to prevent EAL from using it. Multiple -b options are allowed. - -* ``-d LIB.so`` - - Load an external driver. Multiple -d options are allowed. - -* ``-w, --pci-whitelist domain:bus:devid:func`` - - Add a PCI device in white list. - -* ``-m MB`` - - Memory to allocate. See also ``--socket-mem``. - -* ``-r NUM`` - - Set the number of memory ranks (auto-detected by default). - -* ``-v`` - - Display the version information on startup. - -* ``--xen-dom0`` - - Support application running on Xen Domain0 without hugetlbfs. - -* ``--syslog`` - - Set the syslog facility. - -* ``--socket-mem`` - - Set the memory to allocate on specific sockets (use comma separated values). - -* ``--huge-dir`` - - Specify the directory where the hugetlbfs is mounted. - -* ``--proc-type`` - - Set the type of the current process. - -* ``--file-prefix`` - - Prefix for hugepage filenames. - -* ``-vmware-tsc-map`` - - Use VMware TSC map instead of native RDTSC. - -* ``--vdev`` - - Add a virtual device using the format:: - - [,key=val, ...] - - For example:: - - --vdev 'eth_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap' - -* ``--base-virtaddr`` - - Specify base virtual address. - -* ``--create-uio-dev`` - - Create ``/dev/uioX`` (usually done by hotplug). - -* ``--no-shconf`` - - No shared config (mmap-ed files). - -* ``--no-pci`` - - Disable pci. - -* ``--no-hpet`` - - Disable hpet. - -* ``--no-huge`` - - Use malloc instead of hugetlbfs. +Please refer to :doc:`../linux_gsg/linux_eal_parameters` or +:doc:`../freebsd_gsg/freebsd_eal_parameters` for a list of available EAL +command-line options. Testpmd Command-line Options @@ -165,7 +20,7 @@ They must be separated from the EAL options, shown in the previous section, with .. code-block:: console - sudo ./testpmd -c 0xF -n 4 -- -i --portmask=0x1 --nb-cores=2 + sudo ./testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2 The commandline options are: @@ -188,6 +43,19 @@ The commandline options are: Start forwarding on initialization. +* ``--tx-first`` + + Start forwarding, after sending a burst of packets first. + +.. Note:: + + This flag should be only used in non-interactive mode. + +* ``--stats-period PERIOD`` + + Display statistics every PERIOD seconds, if interactive mode is disabled. + The default value is 0, which means that the statistics will not be displayed. + * ``--nb-cores=N`` Set the number of forwarding cores, @@ -211,7 +79,12 @@ The commandline options are: * ``--numa`` - Enable NUMA-aware allocation of RX/TX rings and of RX memory buffers (mbufs). + Enable NUMA-aware allocation of RX/TX rings and of RX memory buffers + (mbufs). [Default setting] + +* ``--no-numa`` + + Disable NUMA-aware allocation of RX/TX rings and of RX memory buffers (mbufs). * ``--port-numa-config=(port,socket)[,(port,socket)]`` @@ -281,29 +154,37 @@ The commandline options are: In perfect filter mode, when a rule is added with queue = -1, the packet will be enqueued into the RX drop-queue. If the drop-queue does not exist, the packet is dropped. The default value is N=127. -* ``--crc-strip`` +* ``--disable-crc-strip`` + + Disable hardware CRC stripping. - Enable hardware CRC stripping. +* ``--enable-lro`` + + Enable large receive offload. * ``--enable-rx-cksum`` Enable hardware RX checksum offload. -* ``--disable-hw-vlan`` +* ``--enable-scatter`` + + Enable scatter (multi-segment) RX. - Disable hardware VLAN. +* ``--enable-hw-vlan`` -* ``--disable-hw-vlan-filter`` + Enable hardware VLAN. - Disable hardware VLAN filter. +* ``--enable-hw-vlan-filter`` -* ``--disable-hw-vlan-strip`` + Enable hardware VLAN filter. - Disable hardware VLAN strip. +* ``--enable-hw-vlan-strip`` -* ``--disable-hw-vlan-extend`` + Enable hardware VLAN strip. - Disable hardware VLAN extend. +* ``--enable-hw-vlan-extend`` + + Enable hardware VLAN extend. * ``--enable-drop-en`` @@ -315,7 +196,7 @@ The commandline options are: * ``--port-topology=mode`` - Set port topology, where mode is ``paired`` (the default) or ``chained``. + Set port topology, where mode is ``paired`` (the default), ``chained`` or ``loop``. In ``paired`` mode, the forwarding is between pairs of ports, for example: (0,1), (2,3), (4,5). @@ -323,20 +204,23 @@ The commandline options are: The ordering of the ports can be changed using the portlist testpmd runtime function. + In ``loop`` mode, ingress traffic is simply transmitted back on the same interface. + * ``--forward-mode=mode`` Set the forwarding mode where ``mode`` is one of the following:: io (the default) mac - mac_retry - mac_swap + macswap flowgen rxonly txonly csum icmpecho ieee1588 + tm + noisy * ``--rss-ip`` @@ -369,7 +253,9 @@ The commandline options are: * ``--burst=N`` Set the number of packets per burst to N, where 1 <= N <= 512. - The default value is 16. + The default value is 32. + If set to 0, driver default is used if defined. Else, if driver + default is not defined, default of 32 is used. * ``--mbcache=N`` @@ -421,18 +307,6 @@ The commandline options are: Set the transmit RS bit threshold of TX rings to N, where 0 <= N <= value of ``--txd``. The default value is 0. -* ``--txqflags=0xXXXXXXXX`` - - Set the hexadecimal bitmask of TX queue flags, where 0 <= N <= 0x7FFFFFFF. - The default value is 0. - - .. note:: - - When using hardware offload functions such as vlan or checksum - add ``txqflags=0`` to force the full-featured TX code path. - In some PMDs this may already be the default. - - * ``--rx-queue-stats-mapping=(port,queue,mapping)[,(port,queue,mapping)]`` Set the RX queues statistics counters mapping 0 <= mapping <= 15. @@ -447,8 +321,114 @@ The commandline options are: * ``--txpkts=X[,Y]`` - Set TX segment sizes. + Set TX segment sizes or total packet length. Valid for ``tx-only`` + and ``flowgen`` forwarding modes. + +* ``--txonly-multi-flow`` + + Generate multiple flows in txonly mode. * ``--disable-link-check`` Disable check on link status when starting/stopping ports. + +* ``--no-lsc-interrupt`` + + Disable LSC interrupts for all ports, even those supporting it. + +* ``--no-rmv-interrupt`` + + Disable RMV interrupts for all ports, even those supporting it. + +* ``--bitrate-stats=N`` + + Set the logical core N to perform bitrate calculation. + +* ``--print-event `` + + Enable printing the occurrence of the designated event. Using all will + enable all of them. + +* ``--mask-event `` + + Disable printing the occurrence of the designated event. Using all will + disable all of them. + +* ``--flow-isolate-all`` + + Providing this parameter requests flow API isolated mode on all ports at + initialization time. It ensures all traffic is received through the + configured flow rules only (see flow command). + + Ports that do not support this mode are automatically discarded. + +* ``--tx-offloads=0xXXXXXXXX`` + + Set the hexadecimal bitmask of TX queue offloads. + The default value is 0. + +* ``--hot-plug`` + + Enable device event monitor machenism for hotplug. + +* ``--vxlan-gpe-port=N`` + + Set the UDP port number of tunnel VXLAN-GPE to N. + The default value is 4790. + +* ``--mlockall`` + + Enable locking all memory. + +* ``--no-mlockall`` + + Disable locking all memory. + +* ``--mp-alloc `` + + Select mempool allocation mode: + + * native: create and populate mempool using native DPDK memory + * anon: create mempool using native DPDK memory, but populate using + anonymous memory + * xmem: create and populate mempool using externally and anonymously + allocated area + * xmemhuge: create and populate mempool using externally and anonymously + allocated hugepage area + +* ``--noisy-tx-sw-buffer-size`` + + Set the number of maximum elements of the FIFO queue to be created + for buffering packets. Only available with the noisy forwarding mode. + The default value is 0. + +* ``--noisy-tx-sw-buffer-flushtime=N`` + + Set the time before packets in the FIFO queue is flushed. + Only available with the noisy forwarding mode. The default value is 0. + +* ``--noisy-lkup-memory=N`` + + Set the size of the noisy neighbour simulation memory buffer in MB to N. + Only available with the noisy forwarding mode. The default value is 0. + + +* ``--noisy-lkup-num-reads=N`` + + Set the number of reads to be done in noisy neighbour simulation memory buffer to N. + Only available with the noisy forwarding mode. The default value is 0. + +* ``--noisy-lkup-num-writes=N`` + + Set the number of writes to be done in noisy neighbour simulation memory buffer to N. + Only available with the noisy forwarding mode. The default value is 0. + +* ``--noisy-lkup-num-reads-writes=N`` + + Set the number of r/w accesses to be done in noisy neighbour simulation memory buffer to N. + Only available with the noisy forwarding mode. The default value is 0. + +* ``--no-iova-contig`` + + Enable to create mempool which is not IOVA contiguous. Valid only with --mp-alloc=anon. + The default value is 0.