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:
parent
194a83d837
commit
d629b7b5fe
@ -18,7 +18,7 @@ Supported Feature Flags
|
||||
without making any modifications to it (no compression done).
|
||||
|
||||
- "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
|
||||
(i.e. both can consists of multiple segments).
|
||||
|
||||
|
@ -8,7 +8,7 @@ Contributing 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:
|
||||
`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.
|
||||
|
@ -129,7 +129,7 @@ Extra notes
|
||||
For AES Counter mode (AES-CTR), the library supports two different sizes for Initialization
|
||||
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
|
||||
(no padding required from the user)
|
||||
|
||||
|
@ -18,7 +18,7 @@ Supported Feature Flags
|
||||
being the operation in-place (input address = output address).
|
||||
|
||||
- "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
|
||||
(i.e. both can consists of multiple segments).
|
||||
|
||||
|
@ -165,7 +165,7 @@ operation:
|
||||
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.
|
||||
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.
|
||||
Each worker uses its own slave cryptodev. Only software cryptodevs
|
||||
are supported. Only the same type of cryptodevs should be used concurrently.
|
||||
|
@ -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\
|
||||
processing workloads that have high throughput and low latency requirements.\
|
||||
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\
|
||||
do not go out of order
|
||||
|
||||
|
@ -70,7 +70,7 @@ Credit Quanta
|
||||
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
|
||||
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 the atomics.
|
||||
|
||||
@ -100,7 +100,7 @@ feature would be significant.
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
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.
|
||||
|
||||
The reason to not allow Atomic, Ordered and Parallel event types in the
|
||||
|
@ -328,7 +328,7 @@ On host_server_2: Terminal 1
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
testomd> show port info all
|
||||
testpmd> show port info all
|
||||
testpmd> show port stats all
|
||||
testpmd> show bonding config 2
|
||||
testpmd> port attach 0000:00:04.0
|
||||
|
@ -243,7 +243,7 @@ On host_server_2: Terminal 1
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
testomd> show port info all
|
||||
testpmd> show port info all
|
||||
testpmd> show port stats all
|
||||
|
||||
Virtio traffic is seen at P0 and P1.
|
||||
@ -338,7 +338,7 @@ reset_vf_on_212_131.sh
|
||||
#!/bin/sh
|
||||
# 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
|
||||
echo 0 > /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
|
||||
cat /sys/bus/pci/devices/0000\:06\:00.0/max_vfs
|
||||
|
@ -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
|
||||
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
|
||||
|
||||
Code
|
||||
@ -118,7 +118,7 @@ a mask.
|
||||
This code is equivalent to the following testpmd command (wrapped for
|
||||
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 /
|
||||
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
|
||||
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
|
||||
|
||||
Code
|
||||
|
@ -1,7 +1,7 @@
|
||||
.. SPDX-License-Identifier: BSD-3-Clause
|
||||
Copyright(c) 2016 Intel Corporation.
|
||||
|
||||
.. _virtio_user_as_excpetional_path:
|
||||
.. _virtio_user_as_exceptional_path:
|
||||
|
||||
Virtio_user as Exceptional Path
|
||||
===============================
|
||||
@ -22,7 +22,7 @@ solution is very promising in:
|
||||
* Features
|
||||
|
||||
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
|
||||
|
||||
@ -38,7 +38,7 @@ in :numref:`figure_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
|
||||
@ -75,7 +75,7 @@ compiling the kernel and those kernel modules should be inserted.
|
||||
|
||||
* ``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
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
--------------------------------
|
||||
|
||||
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);
|
||||
* ``qpairs`` - number of Rx and Tx queues (optional, default 1);
|
||||
|
@ -18,7 +18,7 @@ Supported features
|
||||
- Port statistics
|
||||
- RSS (Receive Side Scaling)
|
||||
- Checksum offload
|
||||
- Jumbo Frame upto 16K
|
||||
- Jumbo Frame up to 16K
|
||||
- MACSEC offload
|
||||
|
||||
Experimental API features
|
||||
|
@ -126,7 +126,7 @@ enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_CXGBE_TPUT`` (default **y**)
|
||||
|
||||
Toggle behaviour to prefer Throughput or Latency.
|
||||
Toggle behavior to prefer Throughput or Latency.
|
||||
|
||||
Runtime Options
|
||||
~~~~~~~~~~~~~~~
|
||||
@ -140,7 +140,7 @@ be passed as part of EAL arguments. For example,
|
||||
|
||||
- ``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,
|
||||
the outer VLAN tag is stripped in Q-in-Q packets.
|
||||
|
||||
|
@ -251,7 +251,7 @@ state during application initialization:
|
||||
automatically be assigned from the these high perf PUSH queues. Any queue
|
||||
configuration beyond that will be standard Rx queues. The application can
|
||||
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.
|
||||
Currently these queues are not used for LS1023/LS1043 platform by default.
|
||||
|
||||
|
@ -379,7 +379,7 @@ active -- Ethernet, crypto, compression, etc.
|
||||
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.
|
||||
|
||||
DPAA2 NIC Driver
|
||||
|
@ -189,7 +189,7 @@ Prerequisites
|
||||
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
|
||||
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
|
||||
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
|
||||
|
@ -76,7 +76,7 @@ Supported ENETC SoCs
|
||||
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:
|
||||
|
||||
1. **ARM 64 Tool Chain**
|
||||
|
@ -224,7 +224,7 @@ the use of SR-IOV.
|
||||
passthrough devices do not require libvirt, port profiles, and VM-FEX.
|
||||
|
||||
|
||||
.. _enic-genic-flow-api:
|
||||
.. _enic-generic-flow-api:
|
||||
|
||||
Generic Flow API support
|
||||
------------------------
|
||||
|
@ -495,7 +495,7 @@ Supports adding traffic mirroring rules.
|
||||
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_txconf,rte_eth_txmode**: ``offloads:DEV_TX_OFFLOAD_SECURITY``.
|
||||
|
@ -580,7 +580,7 @@ bandwidth 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.
|
||||
It means if APP has set the max bandwidth for that TC, it comes to no
|
||||
effect.
|
||||
|
@ -203,8 +203,8 @@ as a workaround.
|
||||
X550 does not support legacy interrupt mode
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Desccription
|
||||
^^^^^^^^^^^^
|
||||
Description
|
||||
^^^^^^^^^^^
|
||||
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
|
||||
that the Interrupt Status bit is not implemented. The errata is the item #22
|
||||
|
@ -65,7 +65,7 @@ backend device by default.
|
||||
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``
|
||||
|
||||
With ``no_request_thread`` option, pthread is not created and control commands
|
||||
|
@ -83,7 +83,7 @@ These options can be modified in the ``.config`` file.
|
||||
|
||||
- ``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.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_MLX4_DEBUG`` (default **n**)
|
||||
|
@ -168,7 +168,7 @@ Limitations
|
||||
- must specify the VXLAN item with tunnel outer parameters.
|
||||
- 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 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 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**)
|
||||
|
||||
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.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_MLX5_DEBUG`` (default **n**)
|
||||
|
@ -91,7 +91,7 @@ Limitations
|
||||
chance to start in a sane state.
|
||||
|
||||
- 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.
|
||||
|
||||
|
@ -89,7 +89,7 @@ operations:
|
||||
|
||||
.. 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
|
||||
|
@ -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.
|
||||
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).
|
||||
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
|
||||
|
@ -149,8 +149,8 @@ PF multiprocess support
|
||||
-----------------------
|
||||
|
||||
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
|
||||
ports is limitted to only one.
|
||||
to use specific registers inside the chip, the number of secondary processes with PF
|
||||
ports is limited to only one.
|
||||
|
||||
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
|
||||
|
@ -96,7 +96,7 @@ Non-supported Features
|
||||
|
||||
The features not yet supported include:
|
||||
|
||||
- Receive queue interupts
|
||||
- Receive queue interrupts
|
||||
|
||||
- Priority-based flow control
|
||||
|
||||
@ -209,12 +209,12 @@ Validating flow rules depends on the firmware variant.
|
||||
|
||||
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
|
||||
in the mask of destination address. If destinaton address in the spec is
|
||||
multicast, it matches all multicast (and broadcast) packets, oherwise it
|
||||
in the mask of destination address. If destination address in the spec is
|
||||
multicast, it matches all multicast (and broadcast) packets, otherwise it
|
||||
matches unicast packets that are not filtered by other flow rules.
|
||||
|
||||
Exceptions to flow rules
|
||||
@ -348,10 +348,10 @@ boolean parameters value.
|
||||
|
||||
- ``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.
|
||||
**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**)
|
||||
|
||||
|
@ -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.
|
||||
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).
|
||||
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
|
||||
|
@ -40,7 +40,7 @@ actual MAC address: ``00:64:74:61:70:[00-FF]``.
|
||||
--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
|
||||
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``.
|
||||
|
||||
It is possible to specify a remote netdevice to capture packets from by adding
|
||||
|
@ -4,7 +4,7 @@
|
||||
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
|
||||
hw block drivers of **NXP QorIQ DPAA** SoC family.
|
||||
|
||||
@ -38,7 +38,7 @@ Common Offload HW Block Drivers
|
||||
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:
|
||||
|
||||
1. **ARM 64 Tool Chain**
|
||||
|
@ -4,7 +4,7 @@
|
||||
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
|
||||
**NXP QorIQ DPAA2** SoC family.
|
||||
|
||||
@ -48,7 +48,7 @@ Common Offload HW Block Drivers
|
||||
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:
|
||||
|
||||
1. **ARM 64 Tool Chain**
|
||||
|
@ -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
|
||||
different capabilities (e.g. support different operation types), all queues on
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
|
@ -17,7 +17,7 @@ Device Creation
|
||||
|
||||
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.
|
||||
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
|
||||
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;
|
||||
}
|
||||
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 {
|
||||
num_deque = rte_compressdev_dequeue_burst(cdev_id, 0 , &processed_ops, NUM_OPS);
|
||||
} 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->input_chksum = 0;
|
||||
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 {
|
||||
num_deqd = rte_compressdev_dequeue_burst(cdev_id, 0 , &processed_ops, 1);
|
||||
} while (num_deqd < num_enqd);
|
||||
|
@ -14,7 +14,7 @@ and AEAD symmetric and asymmetric Crypto operations.
|
||||
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
|
||||
framework which supports both physical (hardware) and virtual (software) Crypto
|
||||
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
|
||||
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'``
|
||||
|
||||
@ -396,7 +396,7 @@ Operation Management and Allocation
|
||||
|
||||
The cryptodev library provides an API set for managing Crypto operations which
|
||||
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.
|
||||
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.
|
||||
@ -602,7 +602,7 @@ Sample code
|
||||
|
||||
There are various sample applications that show how to use the cryptodev library,
|
||||
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
|
||||
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
|
||||
* are proccessed in the crypto device.
|
||||
* are processed in the crypto device.
|
||||
*/
|
||||
uint16_t num_dequeued_ops, total_num_dequeued_ops = 0;
|
||||
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
|
||||
asymmetric crypto chaining is Diffie-Hellman private key generation followed by
|
||||
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:
|
||||
* RSA
|
||||
|
@ -204,7 +204,7 @@ Creates the following symbol:
|
||||
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
|
||||
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
|
||||
|
||||
|
@ -423,6 +423,6 @@ References
|
||||
|
||||
1- EFD is based on collaborative research work between Intel and
|
||||
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`)
|
||||
for more information.
|
||||
|
@ -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
|
||||
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
|
||||
necessarily be IOVA-contiguous either - each malloc element is only guaranteed
|
||||
to be virtually contiguous.
|
||||
|
@ -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
|
||||
has to enable Rx queue interrupts when configuring the ethernet device
|
||||
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
|
||||
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
|
||||
``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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
@ -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:
|
||||
|
||||
* ``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
|
||||
the same event_type (see above)
|
||||
* ``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
|
||||
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
|
||||
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
|
||||
can be achieved like this:
|
||||
@ -276,7 +276,7 @@ can be achieved like this:
|
||||
uint8_t tx_port_id = 5;
|
||||
uint8_t atomic_qs[] = {0, 1};
|
||||
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++) {
|
||||
int links_made = rte_event_port_link(dev_id, worker_port_id, atomic_qs, NULL, 2);
|
||||
|
@ -65,7 +65,7 @@ In that mode the library functions perform
|
||||
|
||||
- check SQN
|
||||
- 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
|
||||
- check padding data
|
||||
- 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:
|
||||
|
||||
- verify that integity check and decryption performed by *rte_security*
|
||||
- verify that integrity check and decryption performed by *rte_security*
|
||||
device completed successfully
|
||||
- check SQN
|
||||
- check padding data
|
||||
@ -101,10 +101,10 @@ In that mode the library functions perform
|
||||
- generate SQN and IV
|
||||
- add outer IP header (tunnel mode) / update IP header (transport mode)
|
||||
- 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
|
||||
- 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
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -113,15 +113,15 @@ In that mode the library functions perform
|
||||
|
||||
* 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
|
||||
|
||||
* 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
|
||||
- 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
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -131,7 +131,7 @@ In that mode the library functions perform
|
||||
* for inbound packets:
|
||||
|
||||
- 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
|
||||
|
||||
* for outbound packets:
|
||||
|
@ -227,7 +227,7 @@ application functions:
|
||||
|
||||
``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
|
||||
[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
|
||||
|
@ -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``
|
||||
- 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
|
||||
|
@ -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
|
||||
replied)
|
||||
* ``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!
|
||||
|
||||
For asynchronous requests, a function pointer to the callback function must be
|
||||
|
@ -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.
|
||||
|
||||
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
|
||||
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
|
||||
@ -75,7 +75,7 @@ scheme. Application can choose the PMU based implementation with
|
||||
``CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU``.
|
||||
|
||||
The example below shows the steps to configure the PMU based cycle counter on
|
||||
an armv8 machine.
|
||||
an ARMv8 machine.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@ -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
|
||||
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.
|
||||
When applied to the original packet the resulting packet must be a
|
||||
valid packet.
|
||||
@ -2279,7 +2279,7 @@ Action: ``DEC_TTL``
|
||||
Decrease TTL value.
|
||||
|
||||
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:
|
||||
|
||||
@ -2297,7 +2297,7 @@ Action: ``SET_TTL``
|
||||
Assigns a new TTL value.
|
||||
|
||||
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:
|
||||
|
||||
@ -2725,7 +2725,7 @@ Caveats
|
||||
- API operations are synchronous and blocking (``EAGAIN`` cannot be
|
||||
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
|
||||
time. PMDs may protect their control path functions accordingly.
|
||||
|
||||
|
@ -40,7 +40,7 @@ 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
|
||||
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 processing the packet is presented to host as a regular Rx packet
|
||||
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
|
||||
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
|
||||
@ -111,7 +111,7 @@ Inline protocol offload
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
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
|
||||
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 processing the packet is presented to the host as a regular Rx packet
|
||||
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
|
||||
will contains the decrypted packet only. The driver Rx path checks the
|
||||
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 device shall support crypto processing for all kind of packets matching
|
||||
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
|
||||
the packets or pass them to driver with error flags set in the descriptor.
|
||||
|
||||
@ -150,7 +150,7 @@ to cross the MTU size.
|
||||
.. note::
|
||||
|
||||
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
|
||||
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
|
||||
protocol processing. The device will decrypt the packet and it will also
|
||||
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
|
||||
plain data only.
|
||||
|
||||
.. 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
|
||||
the packets or pass them to driver with error flags set in descriptor.
|
||||
|
||||
@ -217,7 +217,7 @@ for any protocol header addition.
|
||||
|
||||
.. 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
|
||||
overflow.
|
||||
|
||||
@ -549,7 +549,7 @@ IPsec related configuration parameters are defined in ``rte_security_ipsec_xform
|
||||
struct rte_security_ipsec_sa_options options;
|
||||
/**< various SA options */
|
||||
enum rte_security_ipsec_sa_direction direction;
|
||||
/**< IPSec SA Direction - Egress/Ingress */
|
||||
/**< IPsec SA Direction - Egress/Ingress */
|
||||
enum rte_security_ipsec_sa_protocol proto;
|
||||
/**< IPsec SA Protocol - AH/ESP */
|
||||
enum rte_security_ipsec_sa_mode mode;
|
||||
|
@ -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
|
||||
parameters such as maximum number of nodes, maximum number of hierarchical
|
||||
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.
|
||||
|
||||
Likewise, users can query the capability of the TM at the hierarchical level to
|
||||
|
@ -63,7 +63,7 @@ The following is an overview of some key Vhost API functions:
|
||||
512).
|
||||
|
||||
* 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
|
||||
PMD driver consume the mbuf but not release them timely.
|
||||
|
@ -91,7 +91,7 @@ Run-time parameters
|
||||
-------------------
|
||||
|
||||
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.
|
||||
|
||||
The following device parameters are supported:
|
||||
|
@ -676,7 +676,7 @@ igb uio legacy mode can not be used in X710/XL710/XXV710
|
||||
|
||||
**Description**:
|
||||
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>`_.
|
||||
|
||||
**Implication**:
|
||||
@ -722,9 +722,9 @@ Linux kernel 4.10.0 iommu attribute read error
|
||||
**Description**:
|
||||
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.
|
||||
This bug is fixed in `Linux commmit a7fdb6e648fb
|
||||
This bug is fixed in `Linux commit a7fdb6e648fb
|
||||
<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/>`_,
|
||||
|
||||
**Implication**:
|
||||
@ -842,7 +842,7 @@ AVX-512 support disabled
|
||||
drop.
|
||||
|
||||
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**:
|
||||
Generated ``AVX-512`` code cause crash:
|
||||
|
@ -168,7 +168,7 @@ New Features
|
||||
* The DES CBC 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.
|
||||
|
||||
* **Updated the OpenSSL PMD.**
|
||||
@ -198,7 +198,7 @@ New Features
|
||||
* **Added the Security Offload Library.**
|
||||
|
||||
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.
|
||||
|
||||
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 PMD to support ``rte_security`` lookaside
|
||||
protocol offload for IPSec.
|
||||
protocol offload for IPsec.
|
||||
|
||||
* **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.**
|
||||
|
||||
@ -509,7 +509,7 @@ ABI Changes
|
||||
* **New parameter added to rte_eth_dev.**
|
||||
|
||||
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.**
|
||||
|
||||
|
@ -68,7 +68,7 @@ The application accepts a number of command line options:
|
||||
|
||||
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)
|
||||
* ``p ETH_PORT_ID``: ethernet port 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 \
|
||||
--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
|
||||
device gets linked to a corresponding ethernet port as whitelisted by
|
||||
|
@ -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
|
||||
|
||||
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:
|
||||
|
||||
.. code-block:: console
|
||||
|
@ -106,7 +106,7 @@ examples are highlighted below.
|
||||
(packet arrival) and TX (packet transmission) by adding callbacks to the RX
|
||||
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
|
||||
example. This is also a good example of an application using the DPDK
|
||||
Cryptodev framework.
|
||||
|
@ -113,7 +113,7 @@ Application stages
|
||||
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
|
||||
is displayed and the application is terminated.
|
||||
|
||||
@ -185,7 +185,7 @@ Examples
|
||||
+-----------------------+----------------------+----------------+------------------------------------+
|
||||
| IP routing | LPM (IPv4) | Forward | 1. Mempool 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 |
|
||||
| | * Table size = 4K | | 5. Pipeline table |
|
||||
| | | | 6. Pipeline port in table |
|
||||
|
@ -25,8 +25,8 @@ The application classifies the ports as *Protected* and *Unprotected*.
|
||||
Thus, traffic received on an Unprotected or Protected port is consider
|
||||
Inbound or Outbound respectively.
|
||||
|
||||
The application also supports complete IPSec protocol offload to hardware
|
||||
(Look aside crypto accelarator or using ethernet device). It also support
|
||||
The application also supports complete IPsec protocol offload to hardware
|
||||
(Look aside crypto accelerator or using ethernet device). It also support
|
||||
inline ipsec processing by the supported ethernet device during transmission.
|
||||
These modes can be selected during the SA creation configuration.
|
||||
|
||||
@ -124,7 +124,7 @@ Where:
|
||||
* ``-e``: enables Security Association extended sequence number processing
|
||||
(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).
|
||||
|
||||
* ``--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
|
||||
|
||||
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
|
||||
~~~~~
|
||||
|
@ -500,8 +500,8 @@ An application may save and retrieve a single pointer to application data in
|
||||
the L-thread struct.
|
||||
|
||||
For legacy and backward compatibility reasons two alternative methods are also
|
||||
offered, the first is modelled directly on the pthread get/set specific APIs,
|
||||
the second approach is modelled on the ``RTE_PER_LCORE`` macros, whereby
|
||||
offered, the first is modeled directly on the pthread get/set specific APIs,
|
||||
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
|
||||
the L-thread.
|
||||
|
||||
|
@ -151,5 +151,5 @@ In this particular case:
|
||||
* For the rest of the cases, the color is changed to red.
|
||||
|
||||
.. 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.
|
||||
|
@ -32,7 +32,7 @@ Compiling the Application
|
||||
-------------------------
|
||||
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
|
||||
|
@ -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 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.
|
||||
- 2 means hardware mode packet forwarding between guests, it allows packets
|
||||
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 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
|
||||
dma mapping for guest memory.
|
||||
|
||||
|
@ -63,7 +63,7 @@ Vhost_scsi Common Issues
|
||||
|
||||
* 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
|
||||
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
|
||||
|
@ -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
|
||||
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
|
||||
branch ratio to increase. When the ratio goes above the ratio threshold, the
|
||||
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 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:
|
||||
|
||||
.. 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
|
||||
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.
|
||||
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'
|
||||
|
||||
.. code-block:: console
|
||||
@ -742,7 +742,7 @@ policy down to the host application. These parameters are as follows:
|
||||
--busy-hours {list of busy hours}
|
||||
|
||||
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.
|
||||
|
||||
.. code-block:: console
|
||||
@ -750,7 +750,7 @@ policy down to the host application. These parameters are as follows:
|
||||
--quiet-hours {list of quiet hours}
|
||||
|
||||
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.
|
||||
|
||||
.. code-block:: console
|
||||
|
@ -381,7 +381,7 @@ The command line options are:
|
||||
|
||||
* ``--hot-plug``
|
||||
|
||||
Enable device event monitor mechanism for hot plug.
|
||||
Enable device event monitor mechanism for hotplug.
|
||||
|
||||
* ``--vxlan-gpe-port=N``
|
||||
|
||||
@ -421,23 +421,23 @@ The command line options are:
|
||||
|
||||
* ``--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.
|
||||
|
||||
|
||||
* ``--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.
|
||||
|
||||
* ``--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.
|
||||
|
||||
* ``--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.
|
||||
|
||||
* ``--no-iova-contig``
|
||||
|
@ -303,7 +303,7 @@ The available information categories are:
|
||||
This is the default mode.
|
||||
|
||||
* ``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
|
||||
'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
|
||||
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
|
||||
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
|
||||
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)
|
||||
|
||||
@ -2297,7 +2297,7 @@ when in mode 4 (link-aggregration-802.3ad)::
|
||||
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)
|
||||
|
||||
@ -2691,8 +2691,8 @@ where:
|
||||
|
||||
* ``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::
|
||||
|
||||
@ -2743,7 +2743,7 @@ Delete the WRED profile::
|
||||
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) \
|
||||
(priority) (weight) (level_id) (shaper_profile_id) \
|
||||
@ -2758,7 +2758,7 @@ where:
|
||||
* ``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
|
||||
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
|
||||
the node.
|
||||
* ``n_sp_priorities``: Number of strict priorities.
|
||||
@ -2769,7 +2769,7 @@ where:
|
||||
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) \
|
||||
(priority) (weight) (level_id) (shaper_profile_id) \
|
||||
@ -2784,7 +2784,7 @@ where:
|
||||
* ``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
|
||||
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
|
||||
the node.
|
||||
* ``cman_mode``: Congestion management mode to be enabled for this node.
|
||||
@ -2796,7 +2796,7 @@ where:
|
||||
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)
|
||||
|
||||
@ -3989,7 +3989,7 @@ This section lists supported actions and their attributes, if any.
|
||||
|
||||
- ``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
|
||||
|
||||
- ``set_mac_src``: set source MAC address
|
||||
@ -4522,7 +4522,7 @@ The following sections show functions to load/unload eBPF based filters.
|
||||
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)
|
||||
|
||||
@ -4560,7 +4560,7 @@ To load (not JITed) t1.o at TX queue 0, port 0::
|
||||
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)
|
||||
|
||||
|
@ -59,7 +59,7 @@ To set on the linearization options add below definition to the
|
||||
**Step 3: Build the application**
|
||||
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
* ``-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.
|
||||
|
||||
Appication Options
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
Application Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following are the appication command-line options:
|
||||
The following are the application command-line options:
|
||||
|
||||
* ``--ptest type``
|
||||
|
||||
@ -338,13 +338,13 @@ Test Vector File
|
||||
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.
|
||||
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.
|
||||
The sections contain particular information typically digest.
|
||||
|
||||
**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>
|
||||
|
||||
@ -352,16 +352,16 @@ Header line is just name in square bracket::
|
||||
|
||||
[<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::
|
||||
|
||||
<tocken> = <C byte array>
|
||||
<token> = <C byte array>
|
||||
|
||||
**Tockens list:**
|
||||
**Tokens list:**
|
||||
|
||||
* ``plaintext``
|
||||
|
||||
Original plaintext to be crypted.
|
||||
Original plaintext to be encrypted.
|
||||
|
||||
* ``ciphertext``
|
||||
|
||||
|
@ -44,7 +44,7 @@ If no port mask is specified xstats are reset for all DPDK ports.
|
||||
**-m**: Print DPDK memory information.
|
||||
|
||||
**--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.
|
||||
|
||||
**--show-tm**
|
||||
@ -56,7 +56,7 @@ The show-crypto parameter displays available cryptodev configurations,
|
||||
settings and stats per node.
|
||||
|
||||
**--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
|
||||
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
|
||||
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.
|
||||
|
||||
* Stats retrieval using ``dpdk-procinfo`` is not supported for virtual devices like PCAP and TAP.
|
||||
|
@ -139,7 +139,7 @@ There are 6 main test cases that can be executed using testbbdev tool:
|
||||
* Latency measurement [-c latency]
|
||||
- Measures the time consumed from the first enqueue until the first
|
||||
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
|
||||
|
||||
* Poll-mode Throughput measurement [-c throughput]
|
||||
|
Loading…
Reference in New Issue
Block a user