doc: fix spelling reported by aspell in guides

Fix spelling errors in the guide docs.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Rami Rosen <ramirose@gmail.com>
This commit is contained in:
John McNamara 2019-04-26 16:14:21 +01:00 committed by Thomas Monjalon
parent 194a83d837
commit d629b7b5fe
70 changed files with 169 additions and 169 deletions

View File

@ -18,7 +18,7 @@ Supported Feature Flags
without making any modifications to it (no compression done). without making any modifications to it (no compression done).
- "OOP SGL In SGL Out" feature flag stands for - "OOP SGL In SGL Out" feature flag stands for
"Out-of-place Scatter-gather list Input, Scatter-gater list Output", "Out-of-place Scatter-gather list Input, Scatter-gather list Output",
which means PMD supports different scatter-gather styled input and output buffers which means PMD supports different scatter-gather styled input and output buffers
(i.e. both can consists of multiple segments). (i.e. both can consists of multiple segments).

View File

@ -8,7 +8,7 @@ Contributing Code to DPDK
This document outlines the guidelines for submitting code to DPDK. This document outlines the guidelines for submitting code to DPDK.
The DPDK development process is modelled (loosely) on the Linux Kernel development model so it is worth reading the The DPDK development process is modeled (loosely) on the Linux Kernel development model so it is worth reading the
Linux kernel guide on submitting patches: Linux kernel guide on submitting patches:
`How to Get Your Change Into the Linux Kernel <https://www.kernel.org/doc/html/latest/process/submitting-patches.html>`_. `How to Get Your Change Into the Linux Kernel <https://www.kernel.org/doc/html/latest/process/submitting-patches.html>`_.
The rationale for many of the DPDK guidelines is explained in greater detail in the kernel guidelines. The rationale for many of the DPDK guidelines is explained in greater detail in the kernel guidelines.

View File

@ -129,7 +129,7 @@ Extra notes
For AES Counter mode (AES-CTR), the library supports two different sizes for Initialization For AES Counter mode (AES-CTR), the library supports two different sizes for Initialization
Vector (IV): Vector (IV):
* 12 bytes: used mainly for IPSec, as it requires 12 bytes from the user, which internally * 12 bytes: used mainly for IPsec, as it requires 12 bytes from the user, which internally
are appended the counter block (4 bytes), which is set to 1 for the first block are appended the counter block (4 bytes), which is set to 1 for the first block
(no padding required from the user) (no padding required from the user)

View File

@ -18,7 +18,7 @@ Supported Feature Flags
being the operation in-place (input address = output address). being the operation in-place (input address = output address).
- "OOP SGL In SGL Out" feature flag stands for - "OOP SGL In SGL Out" feature flag stands for
"Out-of-place Scatter-gather list Input, Scatter-gater list Output", "Out-of-place Scatter-gather list Input, Scatter-gather list Output",
which means pmd supports different scatter-gather styled input and output buffers which means pmd supports different scatter-gather styled input and output buffers
(i.e. both can consists of multiple segments). (i.e. both can consists of multiple segments).

View File

@ -165,7 +165,7 @@ operation:
For pure small packet size (64 bytes) traffic however the multi-core mode is not For pure small packet size (64 bytes) traffic however the multi-core mode is not
an optimal solution, as it doesn't give significant per-core performance improvement. an optimal solution, as it doesn't give significant per-core performance improvement.
For mixed traffic (IMIX) the optimal number of worker cores is around 2-3. For mixed traffic (IMIX) the optimal number of worker cores is around 2-3.
For large packets (1.5 Kbytes) scheduler shows linear scaling in performance For large packets (1.5 kbytes) scheduler shows linear scaling in performance
up to eight cores. up to eight cores.
Each worker uses its own slave cryptodev. Only software cryptodevs Each worker uses its own slave cryptodev. Only software cryptodevs
are supported. Only the same type of cryptodevs should be used concurrently. are supported. Only the same type of cryptodevs should be used concurrently.

View File

@ -8,7 +8,7 @@ The OPDL (Ordered Packet Distribution Library) eventdev is a specific\
implementation of the eventdev API. It is particularly suited to packet\ implementation of the eventdev API. It is particularly suited to packet\
processing workloads that have high throughput and low latency requirements.\ processing workloads that have high throughput and low latency requirements.\
All packets follow the same path through the device. The order in which\ All packets follow the same path through the device. The order in which\
packets follow is determinted by the order in which queues are set up.\ packets follow is determined by the order in which queues are set up.\
Events are left on the ring until they are transmitted. As a result packets\ Events are left on the ring until they are transmitted. As a result packets\
do not go out of order do not go out of order

View File

@ -70,7 +70,7 @@ Credit Quanta
The credit quanta is the number of credits that a port will fetch at a time from The credit quanta is the number of credits that a port will fetch at a time from
the instance's credit pool. Higher numbers will cause less overhead in the the instance's credit pool. Higher numbers will cause less overhead in the
atomic credit fetch code, however it also reduces the overall number of credits atomic credit fetch code, however it also reduces the overall number of credits
in the system faster. A balanced number (eg 32) ensures that only small numbers in the system faster. A balanced number (e.g. 32) ensures that only small numbers
of credits are pre-allocated at a time, while also mitigating performance impact of credits are pre-allocated at a time, while also mitigating performance impact
of the atomics. of the atomics.
@ -100,7 +100,7 @@ feature would be significant.
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
The software eventdev does not support creating queues that handle all types of The software eventdev does not support creating queues that handle all types of
traffic. An eventdev with this capability allows enqueueing Atomic, Ordered and traffic. An eventdev with this capability allows enqueuing Atomic, Ordered and
Parallel traffic to the same queue, but scheduling each of them appropriately. Parallel traffic to the same queue, but scheduling each of them appropriately.
The reason to not allow Atomic, Ordered and Parallel event types in the The reason to not allow Atomic, Ordered and Parallel event types in the

View File

@ -328,7 +328,7 @@ On host_server_2: Terminal 1
.. code-block:: console .. code-block:: console
testomd> show port info all testpmd> show port info all
testpmd> show port stats all testpmd> show port stats all
testpmd> show bonding config 2 testpmd> show bonding config 2
testpmd> port attach 0000:00:04.0 testpmd> port attach 0000:00:04.0

View File

@ -243,7 +243,7 @@ On host_server_2: Terminal 1
.. code-block:: console .. code-block:: console
testomd> show port info all testpmd> show port info all
testpmd> show port stats all testpmd> show port stats all
Virtio traffic is seen at P0 and P1. Virtio traffic is seen at P0 and P1.
@ -338,7 +338,7 @@ reset_vf_on_212_131.sh
#!/bin/sh #!/bin/sh
# This script is run on the host 10.237.212.131 to reset SRIOV # This script is run on the host 10.237.212.131 to reset SRIOV
# BDF for Ninatic NIC is 0000:06:00.0 # BDF for Niantic NIC is 0000:06:00.0
cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
echo 0 > /sys/bus/pci/devices/0000\:06\:00.0/max_vfs echo 0 > /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs

View File

@ -23,7 +23,7 @@ In this example we will create a simple rule that drops packets whose IPv4
destination equals 192.168.3.2. This code is equivalent to the following destination equals 192.168.3.2. This code is equivalent to the following
testpmd command (wrapped for clarity):: testpmd command (wrapped for clarity)::
tpmd> flow create 0 ingress pattern eth / vlan / testpmd> flow create 0 ingress pattern eth / vlan /
ipv4 dst is 192.168.3.2 / end actions drop / end ipv4 dst is 192.168.3.2 / end actions drop / end
Code Code
@ -118,7 +118,7 @@ a mask.
This code is equivalent to the following testpmd command (wrapped for This code is equivalent to the following testpmd command (wrapped for
clarity):: clarity)::
tpmd> flow create 0 ingress pattern eth / vlan / testpmd> flow create 0 ingress pattern eth / vlan /
ipv4 dst spec 192.168.3.0 dst mask 255.255.255.0 / ipv4 dst spec 192.168.3.0 dst mask 255.255.255.0 /
end actions drop / end end actions drop / end
@ -219,7 +219,7 @@ In this example we will create a rule that routes all vlan id 123 to queue 3.
This code is equivalent to the following testpmd command (wrapped for This code is equivalent to the following testpmd command (wrapped for
clarity):: clarity)::
tpmd> flow create 0 ingress pattern eth / vlan vid spec 123 / testpmd> flow create 0 ingress pattern eth / vlan vid spec 123 /
end actions queue index 3 / end end actions queue index 3 / end
Code Code

View File

@ -1,7 +1,7 @@
.. SPDX-License-Identifier: BSD-3-Clause .. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2016 Intel Corporation. Copyright(c) 2016 Intel Corporation.
.. _virtio_user_as_excpetional_path: .. _virtio_user_as_exceptional_path:
Virtio_user as Exceptional Path Virtio_user as Exceptional Path
=============================== ===============================
@ -22,7 +22,7 @@ solution is very promising in:
* Features * Features
vhost-net is born to be a networking solution, which has lots of networking vhost-net is born to be a networking solution, which has lots of networking
related featuers, like multi queue, tso, multi-seg mbuf, etc. related features, like multi queue, tso, multi-seg mbuf, etc.
* Performance * Performance
@ -38,7 +38,7 @@ in :numref:`figure_virtio_user_as_exceptional_path`.
.. figure:: img/virtio_user_as_exceptional_path.* .. figure:: img/virtio_user_as_exceptional_path.*
Overview of a DPDK app using virtio-user as excpetional path Overview of a DPDK app using virtio-user as exceptional path
Sample Usage Sample Usage
@ -75,7 +75,7 @@ compiling the kernel and those kernel modules should be inserted.
* ``queues`` * ``queues``
Number of multi-queues. Each qeueue will be served by a kthread. For example: Number of multi-queues. Each queue will be served by a kthread. For example:
.. code-block:: console .. code-block:: console

View File

@ -13,13 +13,13 @@ PACKET_MMAP, which provides a mmap'ed ring buffer, shared between user space
and kernel, that's used to send and receive packets. This helps reducing system and kernel, that's used to send and receive packets. This helps reducing system
calls and the copies needed between user space and Kernel. calls and the copies needed between user space and Kernel.
The PACKET_FANOUT_HASH behaviour of AF_PACKET is used for frame reception. The PACKET_FANOUT_HASH behavior of AF_PACKET is used for frame reception.
Options and inherent limitations Options and inherent limitations
-------------------------------- --------------------------------
The following options can be provided to set up an af_packet port in DPDK. The following options can be provided to set up an af_packet port in DPDK.
Some of these, in turn, will be used to configure the PAKET_MMAP settings. Some of these, in turn, will be used to configure the PACKET_MMAP settings.
* ``iface`` - name of the Kernel interface to attach to (required); * ``iface`` - name of the Kernel interface to attach to (required);
* ``qpairs`` - number of Rx and Tx queues (optional, default 1); * ``qpairs`` - number of Rx and Tx queues (optional, default 1);

View File

@ -18,7 +18,7 @@ Supported features
- Port statistics - Port statistics
- RSS (Receive Side Scaling) - RSS (Receive Side Scaling)
- Checksum offload - Checksum offload
- Jumbo Frame upto 16K - Jumbo Frame up to 16K
- MACSEC offload - MACSEC offload
Experimental API features Experimental API features

View File

@ -126,7 +126,7 @@ enabling debugging options may affect system performance.
- ``CONFIG_RTE_LIBRTE_CXGBE_TPUT`` (default **y**) - ``CONFIG_RTE_LIBRTE_CXGBE_TPUT`` (default **y**)
Toggle behaviour to prefer Throughput or Latency. Toggle behavior to prefer Throughput or Latency.
Runtime Options Runtime Options
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
@ -140,7 +140,7 @@ be passed as part of EAL arguments. For example,
- ``keep_ovlan`` (default **0**) - ``keep_ovlan`` (default **0**)
Toggle behaviour to keep/strip outer VLAN in Q-in-Q packets. If Toggle behavior to keep/strip outer VLAN in Q-in-Q packets. If
enabled, the outer VLAN tag is preserved in Q-in-Q packets. Otherwise, enabled, the outer VLAN tag is preserved in Q-in-Q packets. Otherwise,
the outer VLAN tag is stripped in Q-in-Q packets. the outer VLAN tag is stripped in Q-in-Q packets.

View File

@ -251,7 +251,7 @@ state during application initialization:
automatically be assigned from the these high perf PUSH queues. Any queue automatically be assigned from the these high perf PUSH queues. Any queue
configuration beyond that will be standard Rx queues. The application can configuration beyond that will be standard Rx queues. The application can
choose to change their number if HW portals are limited. choose to change their number if HW portals are limited.
The valid values are from '0' to '4'. The valuse shall be set to '0' if the The valid values are from '0' to '4'. The values shall be set to '0' if the
application want to use eventdev with DPAA device. application want to use eventdev with DPAA device.
Currently these queues are not used for LS1023/LS1043 platform by default. Currently these queues are not used for LS1023/LS1043 platform by default.

View File

@ -379,7 +379,7 @@ active -- Ethernet, crypto, compression, etc.
DPBP based Mempool driver DPBP based Mempool driver
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
The DPBP driver is bound to a DPBP objects and provides sevices to The DPBP driver is bound to a DPBP objects and provides services to
create a hardware offloaded packet buffer mempool. create a hardware offloaded packet buffer mempool.
DPAA2 NIC Driver DPAA2 NIC Driver

View File

@ -189,7 +189,7 @@ Prerequisites
reduces the latency of the packets by pushing the header directly through reduces the latency of the packets by pushing the header directly through
the PCI to the device, before the DMA is even triggered. For proper work the PCI to the device, before the DMA is even triggered. For proper work
kernel PCI driver must support write combining (WC). In mainline version of kernel PCI driver must support write combining (WC). In mainline version of
``igb_uio`` (in DPDK repo) it must be enabled by loding module with ``igb_uio`` (in DPDK repo) it must be enabled by loading module with
``wc_activate=1`` flag (example below). However, mainline's vfio-pci ``wc_activate=1`` flag (example below). However, mainline's vfio-pci
driver in kernel doesn't have WC support yet (planed to be added). driver in kernel doesn't have WC support yet (planed to be added).
If vfio-pci used user should be either turn off ENAv2 (to avoid performance If vfio-pci used user should be either turn off ENAv2 (to avoid performance

View File

@ -76,7 +76,7 @@ Supported ENETC SoCs
Prerequisites Prerequisites
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
There are three main pre-requisities for executing ENETC PMD on a ENETC There are three main pre-requisites for executing ENETC PMD on a ENETC
compatible board: compatible board:
1. **ARM 64 Tool Chain** 1. **ARM 64 Tool Chain**

View File

@ -224,7 +224,7 @@ the use of SR-IOV.
passthrough devices do not require libvirt, port profiles, and VM-FEX. passthrough devices do not require libvirt, port profiles, and VM-FEX.
.. _enic-genic-flow-api: .. _enic-generic-flow-api:
Generic Flow API support Generic Flow API support
------------------------ ------------------------

View File

@ -495,7 +495,7 @@ Supports adding traffic mirroring rules.
Inline crypto Inline crypto
------------- -------------
Supports inline crypto processing (eg. inline IPsec). See Security library and PMD documentation for more details. Supports inline crypto processing (e.g. inline IPsec). See Security library and PMD documentation for more details.
* **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_SECURITY``, * **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_SECURITY``,
* **[uses] rte_eth_txconf,rte_eth_txmode**: ``offloads:DEV_TX_OFFLOAD_SECURITY``. * **[uses] rte_eth_txconf,rte_eth_txmode**: ``offloads:DEV_TX_OFFLOAD_SECURITY``.

View File

@ -580,7 +580,7 @@ bandwidth setting.
TC TX scheduling mode setting TC TX scheduling mode setting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There're 2 TX scheduling modes for TCs, round robin and strict priority mode. There are 2 TX scheduling modes for TCs, round robin and strict priority mode.
If a TC is set to strict priority mode, it can consume unlimited bandwidth. If a TC is set to strict priority mode, it can consume unlimited bandwidth.
It means if APP has set the max bandwidth for that TC, it comes to no It means if APP has set the max bandwidth for that TC, it comes to no
effect. effect.

View File

@ -203,8 +203,8 @@ as a workaround.
X550 does not support legacy interrupt mode X550 does not support legacy interrupt mode
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Desccription Description
^^^^^^^^^^^^ ^^^^^^^^^^^
X550 cannot get interrupts if using ``uio_pci_generic`` module or using legacy X550 cannot get interrupts if using ``uio_pci_generic`` module or using legacy
interrupt mode of ``igb_uio`` or ``vfio``. Because the errata of X550 states interrupt mode of ``igb_uio`` or ``vfio``. Because the errata of X550 states
that the Interrupt Status bit is not implemented. The errata is the item #22 that the Interrupt Status bit is not implemented. The errata is the item #22

View File

@ -65,7 +65,7 @@ backend device by default.
PMD arguments PMD arguments
------------- -------------
``no_request_thread``, by default PMD creates a phtread for each KNI interface ``no_request_thread``, by default PMD creates a pthread for each KNI interface
to handle Linux network interface control commands, like ``ifconfig kni0 up`` to handle Linux network interface control commands, like ``ifconfig kni0 up``
With ``no_request_thread`` option, pthread is not created and control commands With ``no_request_thread`` option, pthread is not created and control commands

View File

@ -83,7 +83,7 @@ These options can be modified in the ``.config`` file.
- ``CONFIG_RTE_IBVERBS_LINK_STATIC`` (default **n**) - ``CONFIG_RTE_IBVERBS_LINK_STATIC`` (default **n**)
Embed static flavour of the dependencies **libibverbs** and **libmlx4** Embed static flavor of the dependencies **libibverbs** and **libmlx4**
in the PMD shared library or the executable static binary. in the PMD shared library or the executable static binary.
- ``CONFIG_RTE_LIBRTE_MLX4_DEBUG`` (default **n**) - ``CONFIG_RTE_LIBRTE_MLX4_DEBUG`` (default **n**)

View File

@ -168,7 +168,7 @@ Limitations
- must specify the VXLAN item with tunnel outer parameters. - must specify the VXLAN item with tunnel outer parameters.
- must specify the tunnel outer VNI in the VXLAN item. - must specify the tunnel outer VNI in the VXLAN item.
- must specify the tunnel outer remote (destination) UDP port in the VXLAN item. - must specify the tunnel outer remote (destination) UDP port in the VXLAN item.
- must specify the tunnel outer local (source) IPv4 or IPv6 in the , this address will locally (with scope link) assigned to the outer network interace, wildcards not allowed. - must specify the tunnel outer local (source) IPv4 or IPv6 in the , this address will locally (with scope link) assigned to the outer network interface, wildcards not allowed.
- must specify the tunnel outer remote (destination) IPv4 or IPv6 in the VXLAN item, group IPs allowed. - must specify the tunnel outer remote (destination) IPv4 or IPv6 in the VXLAN item, group IPs allowed.
- must specify the tunnel outer destination MAC address in the VXLAN item, this address will be used to create neigh rule. - must specify the tunnel outer destination MAC address in the VXLAN item, this address will be used to create neigh rule.
@ -216,7 +216,7 @@ These options can be modified in the ``.config`` file.
- ``CONFIG_RTE_IBVERBS_LINK_STATIC`` (default **n**) - ``CONFIG_RTE_IBVERBS_LINK_STATIC`` (default **n**)
Embed static flavour of the dependencies **libibverbs** and **libmlx5** Embed static flavor of the dependencies **libibverbs** and **libmlx5**
in the PMD shared library or the executable static binary. in the PMD shared library or the executable static binary.
- ``CONFIG_RTE_LIBRTE_MLX5_DEBUG`` (default **n**) - ``CONFIG_RTE_LIBRTE_MLX5_DEBUG`` (default **n**)

View File

@ -91,7 +91,7 @@ Limitations
chance to start in a sane state. chance to start in a sane state.
- MUSDK architecture does not support changing configuration in run time. - MUSDK architecture does not support changing configuration in run time.
All nessesary configurations should be done before first dev_start(). All necessary configurations should be done before first dev_start().
- RX queue start/stop is not supported. - RX queue start/stop is not supported.

View File

@ -89,7 +89,7 @@ operations:
.. Note:: .. Note::
The dpkd-devbind.py script can not be used since it only handles PCI devices. The dpdk-devbind.py script can not be used since it only handles PCI devices.
Prerequisites Prerequisites

View File

@ -81,7 +81,7 @@ The NFB cards are multi-port multi-queue cards, where (generally) data from any
Ethernet port may be sent to any queue. Ethernet port may be sent to any queue.
They are represented in DPDK as a single port. They are represented in DPDK as a single port.
NFB-200G2QL card employs an addon cable which allows to connect it to two NFB-200G2QL card employs an add-on cable which allows to connect it to two
physical PCI-E slots at the same time (see the diagram below). physical PCI-E slots at the same time (see the diagram below).
This is done to allow 200 Gbps of traffic to be transferred through the PCI-E This is done to allow 200 Gbps of traffic to be transferred through the PCI-E
bus (note that a single PCI-E 3.0 x16 slot provides only 125 Gbps theoretical bus (note that a single PCI-E 3.0 x16 slot provides only 125 Gbps theoretical

View File

@ -149,8 +149,8 @@ PF multiprocess support
----------------------- -----------------------
Due to how the driver needs to access the NFP through a CPP interface, which implies Due to how the driver needs to access the NFP through a CPP interface, which implies
to use specific registers inside the chip, the number of secondary proceses with PF to use specific registers inside the chip, the number of secondary processes with PF
ports is limitted to only one. ports is limited to only one.
This limitation will be solved in future versions but having basic multiprocess support This limitation will be solved in future versions but having basic multiprocess support
is important for allowing development and debugging through the PF using a secondary is important for allowing development and debugging through the PF using a secondary

View File

@ -96,7 +96,7 @@ Non-supported Features
The features not yet supported include: The features not yet supported include:
- Receive queue interupts - Receive queue interrupts
- Priority-based flow control - Priority-based flow control
@ -209,12 +209,12 @@ Validating flow rules depends on the firmware variant.
The :ref:`flow_isolated_mode` is supported. The :ref:`flow_isolated_mode` is supported.
Ethernet destinaton individual/group match Ethernet destination individual/group match
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ethernet item supports I/G matching, if only the corresponding bit is set Ethernet item supports I/G matching, if only the corresponding bit is set
in the mask of destination address. If destinaton address in the spec is in the mask of destination address. If destination address in the spec is
multicast, it matches all multicast (and broadcast) packets, oherwise it multicast, it matches all multicast (and broadcast) packets, otherwise it
matches unicast packets that are not filtered by other flow rules. matches unicast packets that are not filtered by other flow rules.
Exceptions to flow rules Exceptions to flow rules
@ -348,10 +348,10 @@ boolean parameters value.
- ``perf_profile`` [auto|throughput|low-latency] (default **throughput**) - ``perf_profile`` [auto|throughput|low-latency] (default **throughput**)
Choose hardware tunning to be optimized for either throughput or Choose hardware tuning to be optimized for either throughput or
low-latency. low-latency.
**auto** allows NIC firmware to make a choice based on **auto** allows NIC firmware to make a choice based on
installed licences and firmware variant configured using **sfboot**. installed licenses and firmware variant configured using **sfboot**.
- ``stats_update_period_ms`` [long] (default **1000**) - ``stats_update_period_ms`` [long] (default **1000**)

View File

@ -89,7 +89,7 @@ The NFB cards are multi-port multi-queue cards, where (generally) data from any
Ethernet port may be sent to any queue. Ethernet port may be sent to any queue.
They were historically represented in DPDK as a single port. They were historically represented in DPDK as a single port.
However, the new NFB-200G2QL card employs an addon cable which allows to connect However, the new NFB-200G2QL card employs an add-on cable which allows to connect
it to two physical PCI-E slots at the same time (see the diagram below). it to two physical PCI-E slots at the same time (see the diagram below).
This is done to allow 200 Gbps of traffic to be transferred through the PCI-E This is done to allow 200 Gbps of traffic to be transferred through the PCI-E
bus (note that a single PCI-E 3.0 x16 slot provides only 125 Gbps theoretical bus (note that a single PCI-E 3.0 x16 slot provides only 125 Gbps theoretical

View File

@ -40,7 +40,7 @@ actual MAC address: ``00:64:74:61:70:[00-FF]``.
--vdev=net_tap0,mac="00:64:74:61:70:11" --vdev=net_tap0,mac="00:64:74:61:70:11"
The MAC address will have a user value passed as string. The MAC address is in The MAC address will have a user value passed as string. The MAC address is in
format with delimeter ``:``. The string is byte converted to hex and you get format with delimiter ``:``. The string is byte converted to hex and you get
the actual MAC address: ``00:64:74:61:70:11``. the actual MAC address: ``00:64:74:61:70:11``.
It is possible to specify a remote netdevice to capture packets from by adding It is possible to specify a remote netdevice to capture packets from by adding

View File

@ -4,7 +4,7 @@
NXP QorIQ DPAA Board Support Package NXP QorIQ DPAA Board Support Package
==================================== ====================================
This doc has information about steps to setup QorIq dpaa This doc has information about steps to setup QorIQ dpaa
based layerscape platform and information about common offload based layerscape platform and information about common offload
hw block drivers of **NXP QorIQ DPAA** SoC family. hw block drivers of **NXP QorIQ DPAA** SoC family.
@ -38,7 +38,7 @@ Common Offload HW Block Drivers
Steps To Setup Platform Steps To Setup Platform
----------------------- -----------------------
There are four main pre-requisities for executing DPAA PMD on a DPAA There are four main pre-requisites for executing DPAA PMD on a DPAA
compatible board: compatible board:
1. **ARM 64 Tool Chain** 1. **ARM 64 Tool Chain**

View File

@ -4,7 +4,7 @@
NXP QorIQ DPAA2 Board Support Package NXP QorIQ DPAA2 Board Support Package
===================================== =====================================
This doc has information about steps to setup NXP QoriQ DPAA2 platform This doc has information about steps to setup NXP QorIQ DPAA2 platform
and information about common offload hw block drivers of and information about common offload hw block drivers of
**NXP QorIQ DPAA2** SoC family. **NXP QorIQ DPAA2** SoC family.
@ -48,7 +48,7 @@ Common Offload HW Block Drivers
Steps To Setup Platform Steps To Setup Platform
----------------------- -----------------------
There are four main pre-requisities for executing DPAA2 PMD on a DPAA2 There are four main pre-requisites for executing DPAA2 PMD on a DPAA2
compatible board: compatible board:
1. **ARM 64 Tool Chain** 1. **ARM 64 Tool Chain**

View File

@ -78,7 +78,7 @@ From the application point of view, each instance of a bbdev device consists of
one or more queues identified by queue IDs. While different devices may have one or more queues identified by queue IDs. While different devices may have
different capabilities (e.g. support different operation types), all queues on different capabilities (e.g. support different operation types), all queues on
a device support identical configuration possibilities. A queue is configured a device support identical configuration possibilities. A queue is configured
for only one type of operation and is configured at initializations time. for only one type of operation and is configured at initialization time.
When an operation is enqueued to a specific queue ID, the result is dequeued When an operation is enqueued to a specific queue ID, the result is dequeued
from the same queue ID. from the same queue ID.
@ -678,7 +678,7 @@ bbdev framework, by giving a sample code performing a loop-back operation with a
baseband processor capable of transceiving data packets. baseband processor capable of transceiving data packets.
The following sample C-like pseudo-code shows the basic steps to encode several The following sample C-like pseudo-code shows the basic steps to encode several
buffers using (**sw_trubo**) bbdev PMD. buffers using (**sw_turbo**) bbdev PMD.
.. code-block:: c .. code-block:: c

View File

@ -17,7 +17,7 @@ Device Creation
Physical compression devices are discovered during the bus probe of the EAL function Physical compression devices are discovered during the bus probe of the EAL function
which is executed at DPDK initialization, based on their unique device identifier. which is executed at DPDK initialization, based on their unique device identifier.
For eg. PCI devices can be identified using PCI BDF (bus/bridge, device, function). For e.g. PCI devices can be identified using PCI BDF (bus/bridge, device, function).
Specific physical compression devices, like other physical devices in DPDK can be Specific physical compression devices, like other physical devices in DPDK can be
white-listed or black-listed using the EAL command line options. white-listed or black-listed using the EAL command line options.
@ -379,7 +379,7 @@ using priv_xform would look like:
setup op->m_src and op->m_dst; setup op->m_src and op->m_dst;
} }
num_enqd = rte_compressdev_enqueue_burst(cdev_id, 0, comp_ops, NUM_OPS); num_enqd = rte_compressdev_enqueue_burst(cdev_id, 0, comp_ops, NUM_OPS);
/* wait for this to complete before enqueing next*/ /* wait for this to complete before enqueuing next*/
do { do {
num_deque = rte_compressdev_dequeue_burst(cdev_id, 0 , &processed_ops, NUM_OPS); num_deque = rte_compressdev_dequeue_burst(cdev_id, 0 , &processed_ops, NUM_OPS);
} while (num_dqud < num_enqd); } while (num_dqud < num_enqd);
@ -526,7 +526,7 @@ An example pseudocode to set up and process a stream having NUM_CHUNKS with each
op->src.length = CHUNK_LEN; op->src.length = CHUNK_LEN;
op->input_chksum = 0; op->input_chksum = 0;
num_enqd = rte_compressdev_enqueue_burst(cdev_id, 0, &op[i], 1); num_enqd = rte_compressdev_enqueue_burst(cdev_id, 0, &op[i], 1);
/* wait for this to complete before enqueing next*/ /* wait for this to complete before enqueuing next*/
do { do {
num_deqd = rte_compressdev_dequeue_burst(cdev_id, 0 , &processed_ops, 1); num_deqd = rte_compressdev_dequeue_burst(cdev_id, 0 , &processed_ops, 1);
} while (num_deqd < num_enqd); } while (num_deqd < num_enqd);

View File

@ -14,7 +14,7 @@ and AEAD symmetric and asymmetric Crypto operations.
Design Principles Design Principles
----------------- -----------------
The cryptodev library follows the same basic principles as those used in DPDKs The cryptodev library follows the same basic principles as those used in DPDK's
Ethernet Device framework. The Crypto framework provides a generic Crypto device Ethernet Device framework. The Crypto framework provides a generic Crypto device
framework which supports both physical (hardware) and virtual (software) Crypto framework which supports both physical (hardware) and virtual (software) Crypto
devices as well as a generic Crypto API which allows Crypto devices to be devices as well as a generic Crypto API which allows Crypto devices to be
@ -48,7 +48,7 @@ From the command line using the --vdev EAL option
* If DPDK application requires multiple software crypto PMD devices then required * If DPDK application requires multiple software crypto PMD devices then required
number of ``--vdev`` with appropriate libraries are to be added. number of ``--vdev`` with appropriate libraries are to be added.
* An Application with crypto PMD instaces sharing the same library requires unique ID. * An Application with crypto PMD instances sharing the same library requires unique ID.
Example: ``--vdev 'crypto_aesni_mb0' --vdev 'crypto_aesni_mb1'`` Example: ``--vdev 'crypto_aesni_mb0' --vdev 'crypto_aesni_mb1'``
@ -396,7 +396,7 @@ Operation Management and Allocation
The cryptodev library provides an API set for managing Crypto operations which The cryptodev library provides an API set for managing Crypto operations which
utilize the Mempool Library to allocate operation buffers. Therefore, it ensures utilize the Mempool Library to allocate operation buffers. Therefore, it ensures
that the crytpo operation is interleaved optimally across the channels and that the crypto operation is interleaved optimally across the channels and
ranks for optimal processing. ranks for optimal processing.
A ``rte_crypto_op`` contains a field indicating the pool that it originated from. A ``rte_crypto_op`` contains a field indicating the pool that it originated from.
When calling ``rte_crypto_op_free(op)``, the operation returns to its original pool. When calling ``rte_crypto_op_free(op)``, the operation returns to its original pool.
@ -602,7 +602,7 @@ Sample code
There are various sample applications that show how to use the cryptodev library, There are various sample applications that show how to use the cryptodev library,
such as the L2fwd with Crypto sample application (L2fwd-crypto) and such as the L2fwd with Crypto sample application (L2fwd-crypto) and
the IPSec Security Gateway application (ipsec-secgw). the IPsec Security Gateway application (ipsec-secgw).
While these applications demonstrate how an application can be created to perform While these applications demonstrate how an application can be created to perform
generic crypto operation, the required complexity hides the basic steps of generic crypto operation, the required complexity hides the basic steps of
@ -807,7 +807,7 @@ using one of the crypto PMDs available in DPDK.
/* /*
* Dequeue the crypto operations until all the operations * Dequeue the crypto operations until all the operations
* are proccessed in the crypto device. * are processed in the crypto device.
*/ */
uint16_t num_dequeued_ops, total_num_dequeued_ops = 0; uint16_t num_dequeued_ops, total_num_dequeued_ops = 0;
do { do {
@ -886,7 +886,7 @@ the order in which the transforms are passed indicates the order of the chaining
Not all asymmetric crypto xforms are supported for chaining. Currently supported Not all asymmetric crypto xforms are supported for chaining. Currently supported
asymmetric crypto chaining is Diffie-Hellman private key generation followed by asymmetric crypto chaining is Diffie-Hellman private key generation followed by
public generation. Also, currently API does not support chaining of symmetric and public generation. Also, currently API does not support chaining of symmetric and
asymmetric crypto xfroms. asymmetric crypto xforms.
Each xform defines specific asymmetric crypto algo. Currently supported are: Each xform defines specific asymmetric crypto algo. Currently supported are:
* RSA * RSA

View File

@ -204,7 +204,7 @@ Creates the following symbol:
Which ``dpdk-pmdinfogen`` scans for. Using this information other relevant Which ``dpdk-pmdinfogen`` scans for. Using this information other relevant
bits of data can be exported from the object file and used to produce a bits of data can be exported from the object file and used to produce a
hardware support description, that ``dpdk-pmdinfogen`` then encodes into a hardware support description, that ``dpdk-pmdinfogen`` then encodes into a
json formatted string in the following format: JSON formatted string in the following format:
.. code-block:: c .. code-block:: c

View File

@ -423,6 +423,6 @@ References
1- EFD is based on collaborative research work between Intel and 1- EFD is based on collaborative research work between Intel and
Carnegie Mellon University (CMU), interested readers can refer to the paper Carnegie Mellon University (CMU), interested readers can refer to the paper
“Scaling Up Clustered Network Appliances with ScaleBricks;” Dong Zhou et al. "Scaling Up Clustered Network Appliances with ScaleBricks" Dong Zhou et al.
at SIGCOMM 2015 (`http://conferences.sigcomm.org/sigcomm/2015/pdf/papers/p241.pdf`) at SIGCOMM 2015 (`http://conferences.sigcomm.org/sigcomm/2015/pdf/papers/p241.pdf`)
for more information. for more information.

View File

@ -733,7 +733,7 @@ The most important fields in the structure and how they are used are described b
Malloc heap is a doubly-linked list, where each element keeps track of its Malloc heap is a doubly-linked list, where each element keeps track of its
previous and next elements. Due to the fact that hugepage memory can come and previous and next elements. Due to the fact that hugepage memory can come and
go, neighbouring malloc elements may not necessarily be adjacent in memory. go, neighboring malloc elements may not necessarily be adjacent in memory.
Also, since a malloc element may span multiple pages, its contents may not Also, since a malloc element may span multiple pages, its contents may not
necessarily be IOVA-contiguous either - each malloc element is only guaranteed necessarily be IOVA-contiguous either - each malloc element is only guaranteed
to be virtually contiguous. to be virtually contiguous.

View File

@ -162,7 +162,7 @@ The servicing_weight member of struct rte_event_eth_rx_adapter_queue_conf
is applicable when the adapter uses a service core function. The application is applicable when the adapter uses a service core function. The application
has to enable Rx queue interrupts when configuring the ethernet device has to enable Rx queue interrupts when configuring the ethernet device
using the ``rte_eth_dev_configure()`` function and then use a servicing_weight using the ``rte_eth_dev_configure()`` function and then use a servicing_weight
of zero when addding the Rx queue to the adapter. of zero when adding the Rx queue to the adapter.
The adapter creates a thread blocked on the interrupt, on an interrupt this The adapter creates a thread blocked on the interrupt, on an interrupt this
thread enqueues the port id and the queue id to a ring buffer. The adapter thread enqueues the port id and the queue id to a ring buffer. The adapter
@ -180,9 +180,9 @@ Rx Callback for SW Rx Adapter
For SW based packet transfers, i.e., when the For SW based packet transfers, i.e., when the
``RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT`` is not set in the adapter's ``RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT`` is not set in the adapter's
capabilities flags for a particular ethernet device, the service function capabilities flags for a particular ethernet device, the service function
temporarily enqueues mbufs to an event buffer before batch enqueueing these temporarily enqueues mbufs to an event buffer before batch enqueuing these
to the event device. If the buffer fills up, the service function stops to the event device. If the buffer fills up, the service function stops
dequeueing packets from the ethernet device. The application may want to dequeuing packets from the ethernet device. The application may want to
monitor the buffer fill level and instruct the service function to selectively monitor the buffer fill level and instruct the service function to selectively
enqueue packets to the event device. The application may also use some other enqueue packets to the event device. The application may also use some other
criteria to decide which packets should enter the event device even when criteria to decide which packets should enter the event device even when

View File

@ -42,7 +42,7 @@ The rte_event structure contains the following metadata fields, which the
application fills in to have the event scheduled as required: application fills in to have the event scheduled as required:
* ``flow_id`` - The targeted flow identifier for the enq/deq operation. * ``flow_id`` - The targeted flow identifier for the enq/deq operation.
* ``event_type`` - The source of this event, eg RTE_EVENT_TYPE_ETHDEV or CPU. * ``event_type`` - The source of this event, e.g. RTE_EVENT_TYPE_ETHDEV or CPU.
* ``sub_event_type`` - Distinguishes events inside the application, that have * ``sub_event_type`` - Distinguishes events inside the application, that have
the same event_type (see above) the same event_type (see above)
* ``op`` - This field takes one of the RTE_EVENT_OP_* values, and tells the * ``op`` - This field takes one of the RTE_EVENT_OP_* values, and tells the
@ -265,7 +265,7 @@ Linking Queues and Ports
The final step is to "wire up" the ports to the queues. After this, the The final step is to "wire up" the ports to the queues. After this, the
eventdev is capable of scheduling events, and when cores request work to do, eventdev is capable of scheduling events, and when cores request work to do,
the correct events are provided to that core. Note that the RX core takes input the correct events are provided to that core. Note that the RX core takes input
from eg: a NIC so it is not linked to any eventdev queues. from e.g.: a NIC so it is not linked to any eventdev queues.
Linking all workers to atomic queues, and the TX core to the single-link queue Linking all workers to atomic queues, and the TX core to the single-link queue
can be achieved like this: can be achieved like this:
@ -276,7 +276,7 @@ can be achieved like this:
uint8_t tx_port_id = 5; uint8_t tx_port_id = 5;
uint8_t atomic_qs[] = {0, 1}; uint8_t atomic_qs[] = {0, 1};
uint8_t single_link_q = 2; uint8_t single_link_q = 2;
uin8t_t priority = RTE_EVENT_DEV_PRIORITY_NORMAL; uint8_t priority = RTE_EVENT_DEV_PRIORITY_NORMAL;
for(int worker_port_id = 1; worker_port_id <= 4; worker_port_id++) { for(int worker_port_id = 1; worker_port_id <= 4; worker_port_id++) {
int links_made = rte_event_port_link(dev_id, worker_port_id, atomic_qs, NULL, 2); int links_made = rte_event_port_link(dev_id, worker_port_id, atomic_qs, NULL, 2);

View File

@ -65,7 +65,7 @@ In that mode the library functions perform
- check SQN - check SQN
- prepare *rte_crypto_op* structure for each input packet - prepare *rte_crypto_op* structure for each input packet
- verify that integity check and decryption performed by crypto device - verify that integrity check and decryption performed by crypto device
completed successfully completed successfully
- check padding data - check padding data
- remove outer IP header (tunnel mode) / update IP header (transport mode) - remove outer IP header (tunnel mode) / update IP header (transport mode)
@ -88,7 +88,7 @@ In that mode the library functions perform
* for inbound packets: * for inbound packets:
- verify that integity check and decryption performed by *rte_security* - verify that integrity check and decryption performed by *rte_security*
device completed successfully device completed successfully
- check SQN - check SQN
- check padding data - check padding data
@ -101,10 +101,10 @@ In that mode the library functions perform
- generate SQN and IV - generate SQN and IV
- add outer IP header (tunnel mode) / update IP header (transport mode) - add outer IP header (tunnel mode) / update IP header (transport mode)
- add ESP header and trailer, padding and IV data - add ESP header and trailer, padding and IV data
- update *ol_flags* inside *struct rte_mbuf* to inidicate that - update *ol_flags* inside *struct rte_mbuf* to indicate that
inline-crypto processing has to be performed by HW on this packet inline-crypto processing has to be performed by HW on this packet
- invoke *rte_security* device specific *set_pkt_metadata()* to associate - invoke *rte_security* device specific *set_pkt_metadata()* to associate
secuirty device specific data with the packet security device specific data with the packet
RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -113,15 +113,15 @@ In that mode the library functions perform
* for inbound packets: * for inbound packets:
- verify that integity check and decryption performed by *rte_security* - verify that integrity check and decryption performed by *rte_security*
device completed successfully device completed successfully
* for outbound packets: * for outbound packets:
- update *ol_flags* inside *struct rte_mbuf* to inidicate that - update *ol_flags* inside *struct rte_mbuf* to indicate that
inline-crypto processing has to be performed by HW on this packet inline-crypto processing has to be performed by HW on this packet
- invoke *rte_security* device specific *set_pkt_metadata()* to associate - invoke *rte_security* device specific *set_pkt_metadata()* to associate
secuirty device specific data with the packet security device specific data with the packet
RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -131,7 +131,7 @@ In that mode the library functions perform
* for inbound packets: * for inbound packets:
- prepare *rte_crypto_op* structure for each input packet - prepare *rte_crypto_op* structure for each input packet
- verify that integity check and decryption performed by crypto device - verify that integrity check and decryption performed by crypto device
completed successfully completed successfully
* for outbound packets: * for outbound packets:

View File

@ -227,7 +227,7 @@ application functions:
``config_promiscusity``: ``config_promiscusity``:
Called when the user changes the promiscusity state of the KNI Called when the user changes the promiscuity state of the KNI
interface. For example, when the user runs ``ip link set promisc interface. For example, when the user runs ``ip link set promisc
[on|off] dev <ifaceX>``. If the user sets this callback function to [on|off] dev <ifaceX>``. If the user sets this callback function to
NULL, but sets the ``port_id`` field to a value other than -1, a default NULL, but sets the ``port_id`` field to a value other than -1, a default

View File

@ -25,7 +25,7 @@ individual device. Since the metrics library is self-contained, the only
restriction on port numbers is that they are less than ``RTE_MAX_ETHPORTS`` restriction on port numbers is that they are less than ``RTE_MAX_ETHPORTS``
- there is no requirement for the ports to actually exist. - there is no requirement for the ports to actually exist.
Initialising the library Initializing the library
------------------------ ------------------------
Before the library can be used, it has to be initialized by calling Before the library can be used, it has to be initialized by calling

View File

@ -273,7 +273,7 @@ will be populated by IPC are as follows:
those peer processes that were active at the time of request, how many have those peer processes that were active at the time of request, how many have
replied) replied)
* ``msgs`` - pointer to where all of the responses are stored. The order in * ``msgs`` - pointer to where all of the responses are stored. The order in
which responses appear is undefined. Whendoing sycnrhonous requests, this which responses appear is undefined. When doing synchronous requests, this
memory must be freed by the requestor after request completes! memory must be freed by the requestor after request completes!
For asynchronous requests, a function pointer to the callback function must be For asynchronous requests, a function pointer to the callback function must be

View File

@ -64,7 +64,7 @@ The default ``cntvct_el0`` based ``rte_rdtsc()`` provides a portable means to
get a wall clock counter in user space. Typically it runs at <= 100MHz. get a wall clock counter in user space. Typically it runs at <= 100MHz.
The alternative method to enable ``rte_rdtsc()`` for a high resolution wall The alternative method to enable ``rte_rdtsc()`` for a high resolution wall
clock counter is through the armv8 PMU subsystem. The PMU cycle counter runs clock counter is through the ARMv8 PMU subsystem. The PMU cycle counter runs
at CPU frequency. However, access to the PMU cycle counter from user space is at CPU frequency. However, access to the PMU cycle counter from user space is
not enabled by default in the arm64 linux kernel. It is possible to enable not enabled by default in the arm64 linux kernel. It is possible to enable
cycle counter for user space access by configuring the PMU from the privileged cycle counter for user space access by configuring the PMU from the privileged
@ -75,7 +75,7 @@ scheme. Application can choose the PMU based implementation with
``CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU``. ``CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU``.
The example below shows the steps to configure the PMU based cycle counter on The example below shows the steps to configure the PMU based cycle counter on
an armv8 machine. an ARMv8 machine.
.. code-block:: console .. code-block:: console

View File

@ -2129,7 +2129,7 @@ as defined in the ``rte_flow_action_raw_decap``
This action modifies the payload of matched flows. The data supplied must This action modifies the payload of matched flows. The data supplied must
be a valid header, either holding layer 2 data in case of removing layer 2 be a valid header, either holding layer 2 data in case of removing layer 2
before eincapsulation of layer 3 tunnel (for example MPLSoGRE) or complete before encapsulation of layer 3 tunnel (for example MPLSoGRE) or complete
tunnel definition starting from layer 2 and moving to the tunnel item itself. tunnel definition starting from layer 2 and moving to the tunnel item itself.
When applied to the original packet the resulting packet must be a When applied to the original packet the resulting packet must be a
valid packet. valid packet.
@ -2279,7 +2279,7 @@ Action: ``DEC_TTL``
Decrease TTL value. Decrease TTL value.
If there is no valid RTE_FLOW_ITEM_TYPE_IPV4 or RTE_FLOW_ITEM_TYPE_IPV6 If there is no valid RTE_FLOW_ITEM_TYPE_IPV4 or RTE_FLOW_ITEM_TYPE_IPV6
in pattern, Some PMDs will reject rule because behaviour will be undefined. in pattern, Some PMDs will reject rule because behavior will be undefined.
.. _table_rte_flow_action_dec_ttl: .. _table_rte_flow_action_dec_ttl:
@ -2297,7 +2297,7 @@ Action: ``SET_TTL``
Assigns a new TTL value. Assigns a new TTL value.
If there is no valid RTE_FLOW_ITEM_TYPE_IPV4 or RTE_FLOW_ITEM_TYPE_IPV6 If there is no valid RTE_FLOW_ITEM_TYPE_IPV4 or RTE_FLOW_ITEM_TYPE_IPV6
in pattern, Some PMDs will reject rule because behaviour will be undefined. in pattern, Some PMDs will reject rule because behavior will be undefined.
.. _table_rte_flow_action_set_ttl: .. _table_rte_flow_action_set_ttl:
@ -2725,7 +2725,7 @@ Caveats
- API operations are synchronous and blocking (``EAGAIN`` cannot be - API operations are synchronous and blocking (``EAGAIN`` cannot be
returned). returned).
- There is no provision for reentrancy/multi-thread safety, although nothing - There is no provision for re-entrancy/multi-thread safety, although nothing
should prevent different devices from being configured at the same should prevent different devices from being configured at the same
time. PMDs may protect their control path functions accordingly. time. PMDs may protect their control path functions accordingly.

View File

@ -40,7 +40,7 @@ Inline Crypto
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO: RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO:
The crypto processing for security protocol (e.g. IPSec) is processed The crypto processing for security protocol (e.g. IPsec) is processed
inline during receive and transmission on NIC port. The flow based inline during receive and transmission on NIC port. The flow based
security action should be configured on the port. security action should be configured on the port.
@ -48,7 +48,7 @@ Ingress Data path - The packet is decrypted in RX path and relevant
crypto status is set in Rx descriptors. After the successful inline crypto status is set in Rx descriptors. After the successful inline
crypto processing the packet is presented to host as a regular Rx packet crypto processing the packet is presented to host as a regular Rx packet
however all security protocol related headers are still attached to the however all security protocol related headers are still attached to the
packet. e.g. In case of IPSec, the IPSec tunnel headers (if any), packet. e.g. In case of IPsec, the IPsec tunnel headers (if any),
ESP/AH headers will remain in the packet but the received packet ESP/AH headers will remain in the packet but the received packet
contains the decrypted data where the encrypted data was when the packet contains the decrypted data where the encrypted data was when the packet
arrived. The driver Rx path check the descriptors and and based on the arrived. The driver Rx path check the descriptors and and based on the
@ -111,7 +111,7 @@ Inline protocol offload
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL: RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL:
The crypto and protocol processing for security protocol (e.g. IPSec) The crypto and protocol processing for security protocol (e.g. IPsec)
is processed inline during receive and transmission. The flow based is processed inline during receive and transmission. The flow based
security action should be configured on the port. security action should be configured on the port.
@ -119,7 +119,7 @@ Ingress Data path - The packet is decrypted in the RX path and relevant
crypto status is set in the Rx descriptors. After the successful inline crypto status is set in the Rx descriptors. After the successful inline
crypto processing the packet is presented to the host as a regular Rx packet crypto processing the packet is presented to the host as a regular Rx packet
but all security protocol related headers are optionally removed from the but all security protocol related headers are optionally removed from the
packet. e.g. in the case of IPSec, the IPSec tunnel headers (if any), packet. e.g. in the case of IPsec, the IPsec tunnel headers (if any),
ESP/AH headers will be removed from the packet and the received packet ESP/AH headers will be removed from the packet and the received packet
will contains the decrypted packet only. The driver Rx path checks the will contains the decrypted packet only. The driver Rx path checks the
descriptors and based on the crypto status sets additional flags in descriptors and based on the crypto status sets additional flags in
@ -132,7 +132,7 @@ to identify the security processing done on the packet.
The underlying device in this case is stateful. It is expected that The underlying device in this case is stateful. It is expected that
the device shall support crypto processing for all kind of packets matching the device shall support crypto processing for all kind of packets matching
to a given flow, this includes fragmented packets (post reassembly). to a given flow, this includes fragmented packets (post reassembly).
E.g. in case of IPSec the device may internally manage anti-replay etc. E.g. in case of IPsec the device may internally manage anti-replay etc.
It will provide a configuration option for anti-replay behavior i.e. to drop It will provide a configuration option for anti-replay behavior i.e. to drop
the packets or pass them to driver with error flags set in the descriptor. the packets or pass them to driver with error flags set in the descriptor.
@ -150,7 +150,7 @@ to cross the MTU size.
.. note:: .. note::
The underlying device will manage state information required for egress The underlying device will manage state information required for egress
processing. E.g. in case of IPSec, the seq number will be added to the processing. E.g. in case of IPsec, the seq number will be added to the
packet, however the device shall provide indication when the sequence number packet, however the device shall provide indication when the sequence number
is about to overflow. The underlying device may support post encryption TSO. is about to overflow. The underlying device may support post encryption TSO.
@ -199,13 +199,13 @@ crypto device.
Decryption: The packet is sent to the crypto device for security Decryption: The packet is sent to the crypto device for security
protocol processing. The device will decrypt the packet and it will also protocol processing. The device will decrypt the packet and it will also
optionally remove additional security headers from the packet. optionally remove additional security headers from the packet.
E.g. in case of IPSec, IPSec tunnel headers (if any), ESP/AH headers E.g. in case of IPsec, IPsec tunnel headers (if any), ESP/AH headers
will be removed from the packet and the decrypted packet may contain will be removed from the packet and the decrypted packet may contain
plain data only. plain data only.
.. note:: .. note::
In case of IPSec the device may internally manage anti-replay etc. In case of IPsec the device may internally manage anti-replay etc.
It will provide a configuration option for anti-replay behavior i.e. to drop It will provide a configuration option for anti-replay behavior i.e. to drop
the packets or pass them to driver with error flags set in descriptor. the packets or pass them to driver with error flags set in descriptor.
@ -217,7 +217,7 @@ for any protocol header addition.
.. note:: .. note::
In the case of IPSec, the seq number will be added to the packet, In the case of IPsec, the seq number will be added to the packet,
It shall provide an indication when the sequence number is about to It shall provide an indication when the sequence number is about to
overflow. overflow.
@ -549,7 +549,7 @@ IPsec related configuration parameters are defined in ``rte_security_ipsec_xform
struct rte_security_ipsec_sa_options options; struct rte_security_ipsec_sa_options options;
/**< various SA options */ /**< various SA options */
enum rte_security_ipsec_sa_direction direction; enum rte_security_ipsec_sa_direction direction;
/**< IPSec SA Direction - Egress/Ingress */ /**< IPsec SA Direction - Egress/Ingress */
enum rte_security_ipsec_sa_protocol proto; enum rte_security_ipsec_sa_protocol proto;
/**< IPsec SA Protocol - AH/ESP */ /**< IPsec SA Protocol - AH/ESP */
enum rte_security_ipsec_sa_mode mode; enum rte_security_ipsec_sa_mode mode;

View File

@ -39,7 +39,7 @@ whether a specific implementation does meet the needs to the user application.
At the TM level, users can get high level idea with the help of various At the TM level, users can get high level idea with the help of various
parameters such as maximum number of nodes, maximum number of hierarchical parameters such as maximum number of nodes, maximum number of hierarchical
levels, maximum number of shapers, maximum number of private shapers, type of levels, maximum number of shapers, maximum number of private shapers, type of
scheduling algorithm (Strict Priority, Weighted Fair Queueing , etc.), etc., scheduling algorithm (Strict Priority, Weighted Fair Queuing , etc.), etc.,
supported by the implementation. supported by the implementation.
Likewise, users can query the capability of the TM at the hierarchical level to Likewise, users can query the capability of the TM at the hierarchical level to

View File

@ -63,7 +63,7 @@ The following is an overview of some key Vhost API functions:
512). 512).
* zero copy is really good for VM2VM case. For iperf between two VMs, the * zero copy is really good for VM2VM case. For iperf between two VMs, the
boost could be above 70% (when TSO is enableld). boost could be above 70% (when TSO is enabled).
* For zero copy in VM2NIC case, guest Tx used vring may be starved if the * For zero copy in VM2NIC case, guest Tx used vring may be starved if the
PMD driver consume the mbuf but not release them timely. PMD driver consume the mbuf but not release them timely.

View File

@ -91,7 +91,7 @@ Run-time parameters
------------------- -------------------
This driver is invoked automatically in systems added with Intel FPGA, This driver is invoked automatically in systems added with Intel FPGA,
but PR and IFPGA Bus scan is trigged by command line using but PR and IFPGA Bus scan is triggered by command line using
``--vdev 'ifpga_rawdev_cfg`` EAL option. ``--vdev 'ifpga_rawdev_cfg`` EAL option.
The following device parameters are supported: The following device parameters are supported:

View File

@ -676,7 +676,7 @@ igb uio legacy mode can not be used in X710/XL710/XXV710
**Description**: **Description**:
X710/XL710/XXV710 NICs lack support for indicating INTx is asserted via the interrupt X710/XL710/XXV710 NICs lack support for indicating INTx is asserted via the interrupt
bit in the PCI status register. Linux delected them from INTx support table. The related bit in the PCI status register. Linux deleted them from INTx support table. The related
`commit <https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/drivers/pci/quirks.c?id=8bcf4525c5d43306c5fd07e132bc8650e3491aec>`_. `commit <https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/drivers/pci/quirks.c?id=8bcf4525c5d43306c5fd07e132bc8650e3491aec>`_.
**Implication**: **Implication**:
@ -722,9 +722,9 @@ Linux kernel 4.10.0 iommu attribute read error
**Description**: **Description**:
When VT-d is enabled (``iommu=pt intel_iommu=on``), reading IOMMU attributes from When VT-d is enabled (``iommu=pt intel_iommu=on``), reading IOMMU attributes from
/sys/devices/virtual/iommu/dmarXXX/intel-iommu/cap on Linux kernel 4.10.0 error. /sys/devices/virtual/iommu/dmarXXX/intel-iommu/cap on Linux kernel 4.10.0 error.
This bug is fixed in `Linux commmit a7fdb6e648fb This bug is fixed in `Linux commit a7fdb6e648fb
<https://patchwork.kernel.org/patch/9595727/>`_, <https://patchwork.kernel.org/patch/9595727/>`_,
This bug is introduced in `Linux commmit 39ab9555c241 This bug is introduced in `Linux commit 39ab9555c241
<https://patchwork.kernel.org/patch/9554403/>`_, <https://patchwork.kernel.org/patch/9554403/>`_,
**Implication**: **Implication**:
@ -842,7 +842,7 @@ AVX-512 support disabled
drop. drop.
On DPDK v19.02 ``AVX-512`` disable scope is reduced to ``GCC`` and ``binutils version 2.30`` based On DPDK v19.02 ``AVX-512`` disable scope is reduced to ``GCC`` and ``binutils version 2.30`` based
on information accured from the GCC community defect. on information accrued from the GCC community defect.
**Reason**: **Reason**:
Generated ``AVX-512`` code cause crash: Generated ``AVX-512`` code cause crash:

View File

@ -168,7 +168,7 @@ New Features
* The DES CBC algorithm. * The DES CBC algorithm.
* The DES DOCSIS BPI algorithm. * The DES DOCSIS BPI algorithm.
This change requires version 0.47 of the IPSec Multi-buffer library. For This change requires version 0.47 of the IPsec Multi-buffer library. For
more details see the :doc:`../cryptodevs/aesni_mb` documentation. more details see the :doc:`../cryptodevs/aesni_mb` documentation.
* **Updated the OpenSSL PMD.** * **Updated the OpenSSL PMD.**
@ -198,7 +198,7 @@ New Features
* **Added the Security Offload Library.** * **Added the Security Offload Library.**
Added an experimental library - ``rte_security``. This provide security APIs Added an experimental library - ``rte_security``. This provide security APIs
for protocols like IPSec using inline ipsec offload to ethernet devices or for protocols like IPsec using inline ipsec offload to ethernet devices or
full protocol offload with lookaside crypto devices. full protocol offload with lookaside crypto devices.
See the :doc:`../prog_guide/rte_security` section of the DPDK Programmers See the :doc:`../prog_guide/rte_security` section of the DPDK Programmers
@ -207,11 +207,11 @@ New Features
* **Updated the DPAA2_SEC crypto driver to support rte_security.** * **Updated the DPAA2_SEC crypto driver to support rte_security.**
Updated the ``dpaa2_sec`` crypto PMD to support ``rte_security`` lookaside Updated the ``dpaa2_sec`` crypto PMD to support ``rte_security`` lookaside
protocol offload for IPSec. protocol offload for IPsec.
* **Updated the IXGBE ethernet driver to support rte_security.** * **Updated the IXGBE ethernet driver to support rte_security.**
Updated ixgbe ethernet PMD to support ``rte_security`` inline IPSec offload. Updated ixgbe ethernet PMD to support ``rte_security`` inline IPsec offload.
* **Updated i40e driver to support GTP-C/GTP-U.** * **Updated i40e driver to support GTP-C/GTP-U.**
@ -509,7 +509,7 @@ ABI Changes
* **New parameter added to rte_eth_dev.** * **New parameter added to rte_eth_dev.**
A new parameter ``security_ctx`` has been added to ``rte_eth_dev`` to A new parameter ``security_ctx`` has been added to ``rte_eth_dev`` to
support security operations like IPSec inline. support security operations like IPsec inline.
* **New parameter added to rte_cryptodev.** * **New parameter added to rte_cryptodev.**

View File

@ -68,7 +68,7 @@ The application accepts a number of command line options:
where: where:
* ``e ENCODING_CORES``: hexmask for encoding lcored (default = 0x2) * ``e ENCODING_CORES``: hexmask for encoding lcores (default = 0x2)
* ``d DECODING_CORES``: hexmask for decoding lcores (default = 0x4) * ``d DECODING_CORES``: hexmask for decoding lcores (default = 0x4)
* ``p ETH_PORT_ID``: ethernet port ID (default = 0) * ``p ETH_PORT_ID``: ethernet port ID (default = 0)
* ``b BBDEV_ID``: BBDev ID (default = 0) * ``b BBDEV_ID``: BBDev ID (default = 0)
@ -87,7 +87,7 @@ issue the command:
$ ./build/bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \ $ ./build/bbdev --vdev='baseband_turbo_sw' -w <NIC0PCIADDR> -c 0x38 --socket-mem=2,2 \
--file-prefix=bbdev -- -e 0x10 -d 0x20 --file-prefix=bbdev -- -e 0x10 -d 0x20
where, NIC0PCIADDR is the PCI addresse of the Rx port where, NIC0PCIADDR is the PCI address of the Rx port
This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the This command creates one virtual bbdev devices ``baseband_turbo_sw`` where the
device gets linked to a corresponding ethernet port as whitelisted by device gets linked to a corresponding ethernet port as whitelisted by

View File

@ -49,7 +49,7 @@ these settings is shown below:
./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
The application has some sanity checking built-in, so if there is a function The application has some sanity checking built-in, so if there is a function
(eg; the RX core) which doesn't have a cpu core mask assigned, the application (e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
will print an error message: will print an error message:
.. code-block:: console .. code-block:: console

View File

@ -106,7 +106,7 @@ examples are highlighted below.
(packet arrival) and TX (packet transmission) by adding callbacks to the RX (packet arrival) and TX (packet transmission) by adding callbacks to the RX
and TX packet processing functions. and TX packet processing functions.
* :doc:`IPSec Security Gateway<ipsec_secgw>`: The IPSec Security * :doc:`IPsec Security Gateway<ipsec_secgw>`: The IPsec Security
Gateway application is minimal example of something closer to a real world Gateway application is minimal example of something closer to a real world
example. This is also a good example of an application using the DPDK example. This is also a good example of an application using the DPDK
Cryptodev framework. Cryptodev framework.

View File

@ -113,7 +113,7 @@ Application stages
Initialization Initialization
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
During this stage, EAL layer is initialised and application specific arguments are parsed. Furthermore, the data strcutures During this stage, EAL layer is initialised and application specific arguments are parsed. Furthermore, the data structures
(i.e. linked lists) for application objects are initialized. In case of any initialization error, an error message (i.e. linked lists) for application objects are initialized. In case of any initialization error, an error message
is displayed and the application is terminated. is displayed and the application is terminated.
@ -185,7 +185,7 @@ Examples
+-----------------------+----------------------+----------------+------------------------------------+ +-----------------------+----------------------+----------------+------------------------------------+
| IP routing | LPM (IPv4) | Forward | 1. Mempool Create | | IP routing | LPM (IPv4) | Forward | 1. Mempool Create |
| | | | 2. Link create | | | | | 2. Link create |
| | * Key = IP dest addr | | 3. Pipeline creat | | | * Key = IP dest addr | | 3. Pipeline create |
| | * Offset = 286 | | 4. Pipeline port in/out | | | * Offset = 286 | | 4. Pipeline port in/out |
| | * Table size = 4K | | 5. Pipeline table | | | * Table size = 4K | | 5. Pipeline table |
| | | | 6. Pipeline port in table | | | | | 6. Pipeline port in table |

View File

@ -25,8 +25,8 @@ The application classifies the ports as *Protected* and *Unprotected*.
Thus, traffic received on an Unprotected or Protected port is consider Thus, traffic received on an Unprotected or Protected port is consider
Inbound or Outbound respectively. Inbound or Outbound respectively.
The application also supports complete IPSec protocol offload to hardware The application also supports complete IPsec protocol offload to hardware
(Look aside crypto accelarator or using ethernet device). It also support (Look aside crypto accelerator or using ethernet device). It also support
inline ipsec processing by the supported ethernet device during transmission. inline ipsec processing by the supported ethernet device during transmission.
These modes can be selected during the SA creation configuration. These modes can be selected during the SA creation configuration.
@ -124,7 +124,7 @@ Where:
* ``-e``: enables Security Association extended sequence number processing * ``-e``: enables Security Association extended sequence number processing
(available only with librte_ipsec code path). (available only with librte_ipsec code path).
* ``-a``: enables Security Association sequence number atomic behaviour * ``-a``: enables Security Association sequence number atomic behavior
(available only with librte_ipsec code path). (available only with librte_ipsec code path).
* ``--config (port,queue,lcore)[,(port,queue,lcore)]``: determines which queues * ``--config (port,queue,lcore)[,(port,queue,lcore)]``: determines which queues
@ -752,7 +752,7 @@ DUT OS(NIC1)--(IPsec)-->(NIC1)ipsec-secgw(TAP)--(plain)-->(TAP)SUT OS
SUT OS(TAP)--(plain)-->(TAP)psec-secgw(NIC1)--(IPsec)-->(NIC1)DUT OS SUT OS(TAP)--(plain)-->(TAP)psec-secgw(NIC1)--(IPsec)-->(NIC1)DUT OS
It then tries to perform some data transfer using the scheme decribed above. It then tries to perform some data transfer using the scheme described above.
usage usage
~~~~~ ~~~~~

View File

@ -500,8 +500,8 @@ An application may save and retrieve a single pointer to application data in
the L-thread struct. the L-thread struct.
For legacy and backward compatibility reasons two alternative methods are also For legacy and backward compatibility reasons two alternative methods are also
offered, the first is modelled directly on the pthread get/set specific APIs, offered, the first is modeled directly on the pthread get/set specific APIs,
the second approach is modelled on the ``RTE_PER_LCORE`` macros, whereby the second approach is modeled on the ``RTE_PER_LCORE`` macros, whereby
``PER_LTHREAD`` macros are introduced, in both cases the storage is local to ``PER_LTHREAD`` macros are introduced, in both cases the storage is local to
the L-thread. the L-thread.

View File

@ -151,5 +151,5 @@ In this particular case:
* For the rest of the cases, the color is changed to red. * For the rest of the cases, the color is changed to red.
.. note:: .. note::
* In color blind mode, first row GREEN colour is only valid. * In color blind mode, first row GREEN color is only valid.
* To drop the packet, policer_table action has to be set to DROP. * To drop the packet, policer_table action has to be set to DROP.

View File

@ -32,7 +32,7 @@ Compiling the Application
------------------------- -------------------------
To compile the sample application see :doc:`compiling` To compile the sample application see :doc:`compiling`
The application is located in the ``$RTE_SDK/app/test-pipline`` directory. The application is located in the ``$RTE_SDK/app/test-pipeline`` directory.
Running the Application Running the Application

View File

@ -116,7 +116,7 @@ will create it. Put simply, it's the server to create the socket file.
The vm2vm parameter sets the mode of packet switching between guests in The vm2vm parameter sets the mode of packet switching between guests in
the host. the host.
- 0 disables vm2vm, impling that VM's packets will always go to the NIC port. - 0 disables vm2vm, implying that VM's packets will always go to the NIC port.
- 1 means a normal mac lookup packet routing. - 1 means a normal mac lookup packet routing.
- 2 means hardware mode packet forwarding between guests, it allows packets - 2 means hardware mode packet forwarding between guests, it allows packets
go to the NIC port, hardware L2 switch will determine which guest the go to the NIC port, hardware L2 switch will determine which guest the
@ -148,7 +148,7 @@ default value is 15.
**--dequeue-zero-copy** **--dequeue-zero-copy**
Dequeue zero copy will be enabled when this option is given. it is worth to Dequeue zero copy will be enabled when this option is given. it is worth to
note that if NIC is binded to driver with iommu enabled, dequeue zero copy note that if NIC is bound to driver with iommu enabled, dequeue zero copy
cannot work at VM2NIC mode (vm2vm=0) due to currently we don't setup iommu cannot work at VM2NIC mode (vm2vm=0) due to currently we don't setup iommu
dma mapping for guest memory. dma mapping for guest memory.

View File

@ -63,7 +63,7 @@ Vhost_scsi Common Issues
* vhost_scsi can not start with block size 512 Bytes: * vhost_scsi can not start with block size 512 Bytes:
Currently DPDK vhost library was designed for NET device(althrough the APIs Currently DPDK vhost library was designed for NET device(although the APIs
are generic now), for 512 Bytes block device, Qemu BIOS(x86 BIOS Enhanced are generic now), for 512 Bytes block device, Qemu BIOS(x86 BIOS Enhanced
Disk Device) will enumerate all block device and do some IOs to those block Disk Device) will enumerate all block device and do some IOs to those block
devices with 512 Bytes sector size. DPDK vhost library can not process such devices with 512 Bytes sector size. DPDK vhost library can not process such

View File

@ -344,7 +344,7 @@ monitoring of branch ratio on cores doing busy polling via PMDs.
When this parameter is used, the list of cores specified will monitor the ratio When this parameter is used, the list of cores specified will monitor the ratio
between branch hits and branch misses. A tightly polling PMD thread will have a between branch hits and branch misses. A tightly polling PMD thread will have a
very low branch ratio, so the core frequency will be scaled down to the minimim very low branch ratio, so the core frequency will be scaled down to the minimum
allowed value. When packets are received, the code path will alter, causing the allowed value. When packets are received, the code path will alter, causing the
branch ratio to increase. When the ratio goes above the ratio threshold, the branch ratio to increase. When the ratio goes above the ratio threshold, the
core frequency will be scaled up to the maximum allowed value. core frequency will be scaled up to the maximum allowed value.
@ -384,7 +384,7 @@ the file.
The fifo is at /tmp/powermonitor/fifo The fifo is at /tmp/powermonitor/fifo
The jason string can be a policy or instruction, and takes the following The JSON string can be a policy or instruction, and takes the following
format: format:
.. code-block:: javascript .. code-block:: javascript
@ -734,7 +734,7 @@ policy down to the host application. These parameters are as follows:
A comma-separated list of cores in the VM that the user wants the host application to A comma-separated list of cores in the VM that the user wants the host application to
monitor. The list of cores in any vm starts at zero, and these are mapped to the monitor. The list of cores in any vm starts at zero, and these are mapped to the
physical cores by the host application once the policy is passed down. physical cores by the host application once the policy is passed down.
Valid syntax includes individial cores '2,3,4', or a range of cores '2-4', or a Valid syntax includes individual cores '2,3,4', or a range of cores '2-4', or a
combination of both '1,3,5-7' combination of both '1,3,5-7'
.. code-block:: console .. code-block:: console
@ -742,7 +742,7 @@ policy down to the host application. These parameters are as follows:
--busy-hours {list of busy hours} --busy-hours {list of busy hours}
A comma-separated list of hours within which to set the core frequency to maximum. A comma-separated list of hours within which to set the core frequency to maximum.
Valid syntax includes individial hours '2,3,4', or a range of hours '2-4', or a Valid syntax includes individual hours '2,3,4', or a range of hours '2-4', or a
combination of both '1,3,5-7'. Valid hours are 0 to 23. combination of both '1,3,5-7'. Valid hours are 0 to 23.
.. code-block:: console .. code-block:: console
@ -750,7 +750,7 @@ policy down to the host application. These parameters are as follows:
--quiet-hours {list of quiet hours} --quiet-hours {list of quiet hours}
A comma-separated list of hours within which to set the core frequency to minimum. A comma-separated list of hours within which to set the core frequency to minimum.
Valid syntax includes individial hours '2,3,4', or a range of hours '2-4', or a Valid syntax includes individual hours '2,3,4', or a range of hours '2-4', or a
combination of both '1,3,5-7'. Valid hours are 0 to 23. combination of both '1,3,5-7'. Valid hours are 0 to 23.
.. code-block:: console .. code-block:: console

View File

@ -381,7 +381,7 @@ The command line options are:
* ``--hot-plug`` * ``--hot-plug``
Enable device event monitor mechanism for hot plug. Enable device event monitor mechanism for hotplug.
* ``--vxlan-gpe-port=N`` * ``--vxlan-gpe-port=N``
@ -421,23 +421,23 @@ The command line options are:
* ``--noisy-lkup-memory=N`` * ``--noisy-lkup-memory=N``
Set the size of the noisy neighbour simulation memory buffer in MB to N. Set the size of the noisy neighbor simulation memory buffer in MB to N.
Only available with the noisy forwarding mode. The default value is 0. Only available with the noisy forwarding mode. The default value is 0.
* ``--noisy-lkup-num-reads=N`` * ``--noisy-lkup-num-reads=N``
Set the number of reads to be done in noisy neighbour simulation memory buffer to N. Set the number of reads to be done in noisy neighbor simulation memory buffer to N.
Only available with the noisy forwarding mode. The default value is 0. Only available with the noisy forwarding mode. The default value is 0.
* ``--noisy-lkup-num-writes=N`` * ``--noisy-lkup-num-writes=N``
Set the number of writes to be done in noisy neighbour simulation memory buffer to N. Set the number of writes to be done in noisy neighbor simulation memory buffer to N.
Only available with the noisy forwarding mode. The default value is 0. Only available with the noisy forwarding mode. The default value is 0.
* ``--noisy-lkup-num-reads-writes=N`` * ``--noisy-lkup-num-reads-writes=N``
Set the number of r/w accesses to be done in noisy neighbour simulation memory buffer to N. Set the number of r/w accesses to be done in noisy neighbor simulation memory buffer to N.
Only available with the noisy forwarding mode. The default value is 0. Only available with the noisy forwarding mode. The default value is 0.
* ``--no-iova-contig`` * ``--no-iova-contig``

View File

@ -303,7 +303,7 @@ The available information categories are:
This is the default mode. This is the default mode.
* ``mac``: Changes the source and the destination Ethernet addresses of packets before forwarding them. * ``mac``: Changes the source and the destination Ethernet addresses of packets before forwarding them.
Default application behaviour is to set source Ethernet address to that of the transmitting interface, and destination Default application behavior is to set source Ethernet address to that of the transmitting interface, and destination
address to a dummy value (set during init). The user may specify a target destination Ethernet address via the 'eth-peer' or address to a dummy value (set during init). The user may specify a target destination Ethernet address via the 'eth-peer' or
'eth-peers-configfile' command-line options. It is not currently possible to specify a specific source Ethernet address. 'eth-peers-configfile' command-line options. It is not currently possible to specify a specific source Ethernet address.
@ -326,7 +326,7 @@ The available information categories are:
* ``softnic``: Demonstrates the softnic forwarding operation. In this mode, packet forwarding is * ``softnic``: Demonstrates the softnic forwarding operation. In this mode, packet forwarding is
similar to I/O mode except for the fact that packets are loopback to the softnic ports only. Therefore, portmask parameter should be set to softnic port only. The various software based custom NIC pipelines specified through the softnic firmware (DPDK packet framework script) can be tested in this mode. Furthermore, it allows to build 5-level hierarchical QoS scheduler as a default option that can be enabled through CLI once testpmd application is initialised. The user can modify the default scheduler hierarchy or can specify the new QoS Scheduler hierarchy through CLI. Requires ``CONFIG_RTE_LIBRTE_PMD_SOFTNIC=y``. similar to I/O mode except for the fact that packets are loopback to the softnic ports only. Therefore, portmask parameter should be set to softnic port only. The various software based custom NIC pipelines specified through the softnic firmware (DPDK packet framework script) can be tested in this mode. Furthermore, it allows to build 5-level hierarchical QoS scheduler as a default option that can be enabled through CLI once testpmd application is initialised. The user can modify the default scheduler hierarchy or can specify the new QoS Scheduler hierarchy through CLI. Requires ``CONFIG_RTE_LIBRTE_PMD_SOFTNIC=y``.
* ``noisy``: Noisy neighbour simulation. * ``noisy``: Noisy neighbor simulation.
Simulate more realistic behavior of a guest machine engaged in receiving Simulate more realistic behavior of a guest machine engaged in receiving
and sending packets performing Virtual Network Function (VNF). and sending packets performing Virtual Network Function (VNF).
@ -2289,7 +2289,7 @@ set bonding lacp dedicated_queue
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enable dedicated tx/rx queues on bonding devices slaves to handle LACP control plane traffic Enable dedicated tx/rx queues on bonding devices slaves to handle LACP control plane traffic
when in mode 4 (link-aggregration-802.3ad):: when in mode 4 (link-aggregation-802.3ad)::
testpmd> set bonding lacp dedicated_queues (port_id) (enable|disable) testpmd> set bonding lacp dedicated_queues (port_id) (enable|disable)
@ -2297,7 +2297,7 @@ when in mode 4 (link-aggregration-802.3ad)::
set bonding agg_mode set bonding agg_mode
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Enable one of the specific aggregators mode when in mode 4 (link-aggregration-802.3ad):: Enable one of the specific aggregators mode when in mode 4 (link-aggregation-802.3ad)::
testpmd> set bonding agg_mode (port_id) (bandwidth|count|stable) testpmd> set bonding agg_mode (port_id) (bandwidth|count|stable)
@ -2691,8 +2691,8 @@ where:
* ``shared_shaper_id``: Shared shaper ID to be deleted. * ``shared_shaper_id``: Shared shaper ID to be deleted.
Set port traffic management hiearchy node private shaper Set port traffic management hierarchy node private shaper
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
set the port traffic management hierarchy node private shaper:: set the port traffic management hierarchy node private shaper::
@ -2743,7 +2743,7 @@ Delete the WRED profile::
Add port traffic management hierarchy nonleaf node Add port traffic management hierarchy nonleaf node
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add nonleaf node to port traffic management hiearchy:: Add nonleaf node to port traffic management hierarchy::
testpmd> add port tm nonleaf node (port_id) (node_id) (parent_node_id) \ testpmd> add port tm nonleaf node (port_id) (node_id) (parent_node_id) \
(priority) (weight) (level_id) (shaper_profile_id) \ (priority) (weight) (level_id) (shaper_profile_id) \
@ -2758,7 +2758,7 @@ where:
* ``weight``: Node weight (lowest weight is one). The node weight is relative * ``weight``: Node weight (lowest weight is one). The node weight is relative
to the weight sum of all siblings that have the same priority. It is used by to the weight sum of all siblings that have the same priority. It is used by
the WFQ algorithm running on the parent node for scheduling this node. the WFQ algorithm running on the parent node for scheduling this node.
* ``level_id``: Hiearchy level of the node. * ``level_id``: Hierarchy level of the node.
* ``shaper_profile_id``: Shaper profile ID of the private shaper to be used by * ``shaper_profile_id``: Shaper profile ID of the private shaper to be used by
the node. the node.
* ``n_sp_priorities``: Number of strict priorities. * ``n_sp_priorities``: Number of strict priorities.
@ -2769,7 +2769,7 @@ where:
Add port traffic management hierarchy leaf node Add port traffic management hierarchy leaf node
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add leaf node to port traffic management hiearchy:: Add leaf node to port traffic management hierarchy::
testpmd> add port tm leaf node (port_id) (node_id) (parent_node_id) \ testpmd> add port tm leaf node (port_id) (node_id) (parent_node_id) \
(priority) (weight) (level_id) (shaper_profile_id) \ (priority) (weight) (level_id) (shaper_profile_id) \
@ -2784,7 +2784,7 @@ where:
* ``weight``: Node weight (lowest weight is one). The node weight is relative * ``weight``: Node weight (lowest weight is one). The node weight is relative
to the weight sum of all siblings that have the same priority. It is used by to the weight sum of all siblings that have the same priority. It is used by
the WFQ algorithm running on the parent node for scheduling this node. the WFQ algorithm running on the parent node for scheduling this node.
* ``level_id``: Hiearchy level of the node. * ``level_id``: Hierarchy level of the node.
* ``shaper_profile_id``: Shaper profile ID of the private shaper to be used by * ``shaper_profile_id``: Shaper profile ID of the private shaper to be used by
the node. the node.
* ``cman_mode``: Congestion management mode to be enabled for this node. * ``cman_mode``: Congestion management mode to be enabled for this node.
@ -2796,7 +2796,7 @@ where:
Delete port traffic management hierarchy node Delete port traffic management hierarchy node
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete node from port traffic management hiearchy:: Delete node from port traffic management hierarchy::
testpmd> del port tm node (port_id) (node_id) testpmd> del port tm node (port_id) (node_id)
@ -3989,7 +3989,7 @@ This section lists supported actions and their attributes, if any.
- ``dec_ttl``: Performs a decrease TTL value action - ``dec_ttl``: Performs a decrease TTL value action
- ``set_ttl``: Set TTL value with specificed value - ``set_ttl``: Set TTL value with specified value
- ``ttl_value {unsigned}``: The new TTL value to be set - ``ttl_value {unsigned}``: The new TTL value to be set
- ``set_mac_src``: set source MAC address - ``set_mac_src``: set source MAC address
@ -4522,7 +4522,7 @@ The following sections show functions to load/unload eBPF based filters.
bpf-load bpf-load
~~~~~~~~ ~~~~~~~~
Load an eBPF program as a callback for partciular RX/TX queue:: Load an eBPF program as a callback for particular RX/TX queue::
testpmd> bpf-load rx|tx (portid) (queueid) (load-flags) (bpf-prog-filename) testpmd> bpf-load rx|tx (portid) (queueid) (load-flags) (bpf-prog-filename)
@ -4560,7 +4560,7 @@ To load (not JITed) t1.o at TX queue 0, port 0::
bpf-unload bpf-unload
~~~~~~~~~~ ~~~~~~~~~~
Unload previously loaded eBPF program for partciular RX/TX queue:: Unload previously loaded eBPF program for particular RX/TX queue::
testpmd> bpf-unload rx|tx (portid) (queueid) testpmd> bpf-unload rx|tx (portid) (queueid)

View File

@ -59,7 +59,7 @@ To set on the linearization options add below definition to the
**Step 3: Build the application** **Step 3: Build the application**
Execute the ``dpdk-setup.sh`` script to build the DPDK library together with the Execute the ``dpdk-setup.sh`` script to build the DPDK library together with the
``dpdk-test-crypto-perf`` applcation. ``dpdk-test-crypto-perf`` application.
Initially, the user must select a DPDK target to choose the correct target type Initially, the user must select a DPDK target to choose the correct target type
and compiler options to use when building the libraries. and compiler options to use when building the libraries.
@ -80,7 +80,7 @@ EAL Options
~~~~~~~~~~~ ~~~~~~~~~~~
The following are the EAL command-line options that can be used in conjunction The following are the EAL command-line options that can be used in conjunction
with the ``dpdk-test-crypto-perf`` applcation. with the ``dpdk-test-crypto-perf`` application.
See the DPDK Getting Started Guides for more information on these options. See the DPDK Getting Started Guides for more information on these options.
* ``-c <COREMASK>`` or ``-l <CORELIST>`` * ``-c <COREMASK>`` or ``-l <CORELIST>``
@ -96,10 +96,10 @@ See the DPDK Getting Started Guides for more information on these options.
Add a virtual device. Add a virtual device.
Appication Options Application Options
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
The following are the appication command-line options: The following are the application command-line options:
* ``--ptest type`` * ``--ptest type``
@ -338,13 +338,13 @@ Test Vector File
The test vector file is a text file contain information about test vectors. The test vector file is a text file contain information about test vectors.
The file is made of the sections. The first section doesn't have header. The file is made of the sections. The first section doesn't have header.
It contain global information used in each test variant vectors - It contain global information used in each test variant vectors -
typically information about plaintext, ciphertext, cipher key, aut key, typically information about plaintext, ciphertext, cipher key, auth key,
initial vector. All other sections begin header. initial vector. All other sections begin header.
The sections contain particular information typically digest. The sections contain particular information typically digest.
**Format of the file:** **Format of the file:**
Each line beginig with sign '#' contain comment and it is ignored by parser:: Each line beginning with sign '#' contain comment and it is ignored by parser::
# <comment> # <comment>
@ -352,16 +352,16 @@ Header line is just name in square bracket::
[<section name>] [<section name>]
Data line contain information tocken then sign '=' and Data line contain information token then sign '=' and
a string of bytes in C byte array format:: a string of bytes in C byte array format::
<tocken> = <C byte array> <token> = <C byte array>
**Tockens list:** **Tokens list:**
* ``plaintext`` * ``plaintext``
Original plaintext to be crypted. Original plaintext to be encrypted.
* ``ciphertext`` * ``ciphertext``

View File

@ -44,7 +44,7 @@ If no port mask is specified xstats are reset for all DPDK ports.
**-m**: Print DPDK memory information. **-m**: Print DPDK memory information.
**--show-port** **--show-port**
The show-port parameter displays port level various configuration informationi The show-port parameter displays port level various configuration information
associated to RX port queue pair. associated to RX port queue pair.
**--show-tm** **--show-tm**
@ -56,7 +56,7 @@ The show-crypto parameter displays available cryptodev configurations,
settings and stats per node. settings and stats per node.
**--show-ring[=name]** **--show-ring[=name]**
The show-ring pararmeter display current allocation of all ring with The show-ring parameter display current allocation of all ring with
debug information. Specifying the name allows to display details for specific debug information. Specifying the name allows to display details for specific
ring. For invalid or no ring name, whole list is dump. ring. For invalid or no ring name, whole list is dump.
@ -76,7 +76,7 @@ Limitations
* When running ``dpdk-procinfo`` with shared library mode, it is required to * When running ``dpdk-procinfo`` with shared library mode, it is required to
pass the same NIC PMD libraries as used for the primary application. Any pass the same NIC PMD libraries as used for the primary application. Any
mismatch in PMD library arguments can lead to undefined behaviour and results mismatch in PMD library arguments can lead to undefined behavior and results
affecting primary application too. affecting primary application too.
* Stats retrieval using ``dpdk-procinfo`` is not supported for virtual devices like PCAP and TAP. * Stats retrieval using ``dpdk-procinfo`` is not supported for virtual devices like PCAP and TAP.

View File

@ -139,7 +139,7 @@ There are 6 main test cases that can be executed using testbbdev tool:
* Latency measurement [-c latency] * Latency measurement [-c latency]
- Measures the time consumed from the first enqueue until the first - Measures the time consumed from the first enqueue until the first
appearance of a dequeued result appearance of a dequeued result
- This measurment represents the full latency of a bbdev operation - This measurement represents the full latency of a bbdev operation
(encode or decode) to execute (encode or decode) to execute
* Poll-mode Throughput measurement [-c throughput] * Poll-mode Throughput measurement [-c throughput]