2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 14:25:26 +00:00

docs/dpdk/bridge: Add miniflow extract section.

This commit adds a section to the dpdk/bridge.rst netdev documentation,
detailing the added miniflow functionality. The newly added commands are
documented, and sample output is provided.

The use of auto-validator and special study function is also described
in detail as well as running fuzzy tests.

Signed-off-by: Kumar Amber <kumar.amber@intel.com>
Co-authored-by: Cian Ferriter <cian.ferriter@intel.com>
Signed-off-by: Cian Ferriter <cian.ferriter@intel.com>
Co-authored-by: Harry van Haaren <harry.van.haaren@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Flavio Leitner <fbl@sysclose.org>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
This commit is contained in:
Kumar Amber
2021-07-15 21:36:10 +05:30
committed by Ian Stokes
parent 72dd22a0df
commit 5c5c98cec2

View File

@@ -256,3 +256,54 @@ The following line should be seen in the configure output when the above option
is used ::
checking whether DPIF AVX512 is default implementation... yes
Miniflow Extract
----------------
Miniflow extract (MFEX) performs parsing of the raw packets and extracts the
important header information into a compressed miniflow. This miniflow is
composed of bits and blocks where the bits signify which blocks are set or
have values where as the blocks hold the metadata, ip, udp, vlan, etc. These
values are used by the datapath for switching decisions later. The Optimized
miniflow extract is traffic specific to speed up the lookup, whereas the
scalar works for ALL traffic patterns
Most modern CPUs have SIMD capabilities. These SIMD instructions are able
to process a vector rather than act on one variable. OVS provides multiple
implementations of miniflow extract. This allows the user to take advantage
of SIMD instructions like AVX512 to gain additional performance.
A list of implementations can be obtained by the following command. The
command also shows whether the CPU supports each implementation ::
$ ovs-appctl dpif-netdev/miniflow-parser-get
Available Optimized Miniflow Extracts:
autovalidator (available: True, pmds: none)
scalar (available: True, pmds: 1,15)
study (available: True, pmds: none)
An implementation can be selected manually by the following command ::
$ ovs-appctl dpif-netdev/miniflow-parser-set study
Also user can select the study implementation which studies the traffic for
a specific number of packets by applying all available implementations of
miniflow extract and then chooses the one with the most optimal result for
that traffic pattern.
Miniflow Extract Validation
~~~~~~~~~~~~~~~~~~~~~~~~~~~
As multiple versions of miniflow extract can co-exist, each with different
CPU ISA optimizations, it is important to validate that they all give the
exact same results. To easily test all miniflow implementations, an
``autovalidator`` implementation of the miniflow exists. This implementation
runs all other available miniflow extract implementations, and verifies that
the results are identical.
Running the OVS unit tests with the autovalidator enabled ensures all
implementations provide the same results.
To set the Miniflow autovalidator, use this command ::
$ ovs-appctl dpif-netdev/miniflow-parser-set autovalidator