All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
	Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Subject: [PATCH 17/29] doc/guides: improve FIPS validation sample app guide
Date: Wed, 14 Jan 2026 14:21:58 -0800	[thread overview]
Message-ID: <20260114222458.87119-18-stephen@networkplumber.org> (raw)
In-Reply-To: <20260114222458.87119-1-stephen@networkplumber.org>

Improve the FIPS validation sample application documentation:
- restructure CAVP and ACVP as subsections under Limitations
- fix indentation of code blocks and bullet lists
- improve grammar and clarify explanations
- use consistent formatting for options

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/sample_app_ug/fips_validation.rst | 117 ++++++++++---------
 1 file changed, 60 insertions(+), 57 deletions(-)

diff --git a/doc/guides/sample_app_ug/fips_validation.rst b/doc/guides/sample_app_ug/fips_validation.rst
index 613c5afd19..4c96452b65 100644
--- a/doc/guides/sample_app_ug/fips_validation.rst
+++ b/doc/guides/sample_app_ug/fips_validation.rst
@@ -17,32 +17,35 @@ Automated Crypto Validation Protocol (ACVP) test vectors.
 
 For an algorithm implementation to be listed on a cryptographic module
 validation certificate as an Approved security function, the algorithm
-implementation must meet all the requirements of FIPS 140-2 (in case of CAVP)
-and FIPS 140-3 (in case of ACVP) and must successfully complete the
+implementation must meet all the requirements of FIPS 140-2 (in the case of CAVP)
+and FIPS 140-3 (in the case of ACVP) and must successfully complete the
 cryptographic algorithm validation process.
 
 Limitations
 -----------
 
+The following sections describe limitations for CAVP and ACVP.
+
 CAVP
-----
+~~~~
 
 * The version of request file supported is ``CAVS 21.0``.
-* If the header comment in a ``.req`` file does not contain a Algo tag
-  i.e ``AES,TDES,GCM`` you need to manually add it into the header comment for
-  example::
+* If the header comment in a ``.req`` file does not contain an Algo tag
+  (i.e., ``AES,TDES,GCM``), you need to manually add it into the header comment.
+  For example::
 
       # VARIABLE KEY - KAT for CBC / # TDES VARIABLE KEY - KAT for CBC
 
 * The application does not supply the test vectors. The user is expected to
-  obtain the test vector files from `CAVP
-  <https://csrc.nist.gov/projects/cryptographic-algorithm-validation-
-  program/block-ciphers>`_ website. To obtain the ``.req`` files you need to
+  obtain the test vector files from the `CAVP
+  <https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/block-ciphers>`_
+  website. To obtain the ``.req`` files, you need to
   email a person from the NIST website and pay for the ``.req`` files.
   The ``.rsp`` files from the site can be used to validate and compare with
   the ``.rsp`` files created by the FIPS application.
 
-* Supported test vectors
+* Supported test vectors:
+
     * AES-CBC (128,192,256) - GFSbox, KeySbox, MCT, MMT
     * AES-GCM (128,192,256) - EncryptExtIV, Decrypt
     * AES-CCM (128) - VADT, VNT, VPT, VTT, DVPT
@@ -52,12 +55,14 @@ CAVP
       VarText
 
 ACVP
-----
+~~~~
 
 * The application does not supply the test vectors. The user is expected to
-  obtain the test vector files from `ACVP  <https://pages.nist.gov/ACVP>`_
+  obtain the test vector files from the `ACVP <https://pages.nist.gov/ACVP>`_
   website.
-* Supported test vectors
+
+* Supported test vectors:
+
     * AES-CBC (128,192,256) - AFT, MCT
     * AES-GCM (128,192,256) - AFT
     * AES-CCM (128,192,256) - AFT
@@ -78,74 +83,72 @@ ACVP
 Application Information
 -----------------------
 
-If a ``.req`` is used as the input file after the application is finished
-running it will generate a response file or ``.rsp``. Differences between the
-two files are, the ``.req`` file has missing information for instance if doing
-encryption you will not have the cipher text and that will be generated in the
-response file. Also if doing decryption it will not have the plain text until it
-finished the work and in the response file it will be added onto the end of each
-operation.
-
-The application can be run with a ``.rsp`` file and what the outcome of that
-will be is it will add a extra line in the generated ``.rsp`` which should be
-the same as the ``.rsp`` used to run the application, this is useful for
-validating if the application has done the operation correctly.
+If a ``.req`` file is used as the input file, after the application finishes
+running it generates a response file (``.rsp``). The differences between
+the two files are as follows: the ``.req`` file has missing information (for instance,
+if performing encryption, you do not have the cipher text, and that is
+generated in the response file); and if performing decryption, it does not
+have plain text until the work has finished. In the response file, this information
+is added onto the end of each operation.
 
+The application can be run with a ``.rsp`` file as input. The outcome is that
+an extra line in the generated ``.rsp`` file is added. This should be the same
+as the ``.rsp`` used to run the application. This is useful for validating if
+the application has performed the operation correctly.
 
 Compiling the Application
 -------------------------
 
-* Compile Application
+To compile the sample application, see :doc:`compiling`.
 
-    To compile the sample application see :doc:`compiling`.
+Run ``dos2unix`` on the request files:
 
-*  Run ``dos2unix`` on the request files
-
-    .. code-block:: console
+.. code-block:: console
 
-         dos2unix AES/req/*
-         dos2unix GCM/req/*
-         dos2unix CCM/req/*
-         dos2unix CMAC/req/*
-         dos2unix HMAC/req/*
-         dos2unix TDES/req/*
-         dos2unix SHA/req/*
+     dos2unix AES/req/*
+     dos2unix GCM/req/*
+     dos2unix CCM/req/*
+     dos2unix CMAC/req/*
+     dos2unix HMAC/req/*
+     dos2unix TDES/req/*
+     dos2unix SHA/req/*
 
 Running the Application
 -----------------------
 
 The application requires a number of command line options:
 
-    .. code-block:: console
+.. code-block:: console
+
+     ./dpdk-fips_validation [EAL options]
+     -- --req-file FILE_PATH/FOLDER_PATH
+     --rsp-file FILE_PATH/FOLDER_PATH
+     [--cryptodev DEVICE_NAME] [--cryptodev-id ID] [--path-is-folder]
+     --mbuf-dataroom DATAROOM_SIZE
 
-         ./dpdk-fips_validation [EAL options]
-         -- --req-file FILE_PATH/FOLDER_PATH
-         --rsp-file FILE_PATH/FOLDER_PATH
-         [--cryptodev DEVICE_NAME] [--cryptodev-id ID] [--path-is-folder]
-         --mbuf-dataroom DATAROOM_SIZE
+where:
 
-where,
-  * req-file: The path of the request file or folder, separated by
+*   req-file: The path of the request file or folder, separated by the
     ``path-is-folder`` option.
 
-  * rsp-file: The path that the response file or folder is stored. separated by
+*   rsp-file: The path that the response file or folder is stored, separated by the
     ``path-is-folder`` option.
 
-  * cryptodev: The name of the target DPDK Crypto device to be validated.
+*   cryptodev: The name of the target DPDK Crypto device to be validated.
 
-  * cryptodev-id: The id of the target DPDK Crypto device to be validated.
+*   cryptodev-id: The ID of the target DPDK Crypto device to be validated.
 
-  * path-is-folder: If presented the application expects req-file and rsp-file
-    are folder paths.
+*   path-is-folder: If present, the application expects req-file and rsp-file
+    to be folder paths.
 
-  * mbuf-dataroom: By default the application creates mbuf pool with maximum
-    possible data room (65535 bytes). If the user wants to test scatter-gather
-    list feature of the PMD he or she may set this value to reduce the dataroom
+*   mbuf-dataroom: By default, the application creates an mbuf pool with maximum
+    possible data room (65535 bytes). If the user wants to test the scatter-gather
+    list feature of the PMD, this value can be set to reduce the dataroom
     size so that the input data may be divided into multiple chained mbufs.
 
 
-To run the application in linux environment to test one AES FIPS test data
-file for crypto_aesni_mb PMD, issue the command:
+To run the application in a Linux environment to test one AES FIPS test data
+file for the crypto_aesni_mb PMD, issue the command:
 
 .. code-block:: console
 
@@ -153,8 +156,8 @@ file for crypto_aesni_mb PMD, issue the command:
     --req-file /PATH/TO/REQUEST/FILE.req --rsp-file ./PATH/TO/RESPONSE/FILE.rsp
     --cryptodev crypto_aesni_mb
 
-To run the application in linux environment to test all AES-GCM FIPS test
-data files in one folder for crypto_aesni_gcm PMD, issue the command:
+To run the application in a Linux environment to test all AES-GCM FIPS test
+data files in one folder for the crypto_aesni_gcm PMD, issue the command:
 
 .. code-block:: console
 
-- 
2.51.0


  parent reply	other threads:[~2026-01-14 22:26 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-14 22:21 [PATCH 00/29] doc/guides: sample application documentation improvements Stephen Hemminger
2026-01-14 22:21 ` [PATCH 01/29] examples/timer: correct documentation errors Stephen Hemminger
2026-01-14 22:21 ` [PATCH 02/29] examples/packet_ordering: " Stephen Hemminger
2026-01-14 22:21 ` [PATCH 03/29] examples/service_cores: " Stephen Hemminger
2026-01-14 22:21 ` [PATCH 04/29] examples/rxtx_callbacks: " Stephen Hemminger
2026-01-14 22:21 ` [PATCH 05/29] examples/ip_fragmentation: " Stephen Hemminger
2026-01-14 22:21 ` [PATCH 06/29] examples/eventdev_pipeline: " Stephen Hemminger
2026-01-14 22:21 ` [PATCH 07/29] doc/guides: improve VMDq sample application documentation Stephen Hemminger
2026-01-14 22:21 ` [PATCH 08/29] examples/distributor: correct documentation errors Stephen Hemminger
2026-01-14 22:21 ` [PATCH 09/29] examples/ipv4_multicast: correct documentation typo Stephen Hemminger
2026-01-14 22:21 ` [PATCH 10/29] examples/test_pipeline: correct documentation errors Stephen Hemminger
2026-01-14 22:21 ` [PATCH 11/29] examples/qos: improve sample application documentation Stephen Hemminger
2026-01-14 22:21 ` [PATCH 12/29] examples/vhost: " Stephen Hemminger
2026-01-14 22:21 ` [PATCH 13/29] examples/ptpclient: " Stephen Hemminger
2026-01-14 22:21 ` [PATCH 14/29] doc/guides: improve vDPA sample application guide Stephen Hemminger
2026-01-14 22:21 ` [PATCH 15/29] doc/guides: improve command line sample app guide Stephen Hemminger
2026-01-14 22:21 ` [PATCH 16/29] doc/guides: improve DMA " Stephen Hemminger
2026-01-19  0:47   ` fengchengwen
2026-01-14 22:21 ` Stephen Hemminger [this message]
2026-01-19  5:59   ` [EXTERNAL] [PATCH 17/29] doc/guides: improve FIPS validation " Gowrishankar Muthukrishnan
2026-01-14 22:21 ` [PATCH 18/29] doc/guides: improve Hello World " Stephen Hemminger
2026-01-14 22:22 ` [PATCH 19/29] doc/guides: improve sample applications introduction Stephen Hemminger
2026-01-14 22:22 ` [PATCH 20/29] doc/guides: improve IP pipeline sample app guide Stephen Hemminger
2026-01-14 22:22 ` [PATCH 21/29] doc/guides: improve IP reassembly " Stephen Hemminger
2026-01-14 22:22 ` [PATCH 22/29] doc/guides: improve IPsec security gateway guide Stephen Hemminger
2026-01-14 22:22 ` [PATCH 23/29] doc/guides: improve link status interrupt sample app guide Stephen Hemminger
2026-01-14 22:22 ` [PATCH 24/29] doc/guides: improve multi-process " Stephen Hemminger
2026-01-14 22:22 ` [PATCH 25/29] doc/guides: improve pipeline " Stephen Hemminger
2026-01-14 22:22 ` [PATCH 26/29] doc/guides: improve VM power management " Stephen Hemminger
2026-01-14 22:22 ` [PATCH 27/29] doc/guides: improve keep alive " Stephen Hemminger
2026-01-14 22:22 ` [PATCH 28/29] fix ipsec gw Stephen Hemminger
2026-01-14 23:00   ` Stephen Hemminger
2026-01-14 22:22 ` [PATCH 29/29] fix pipeline Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260114222458.87119-18-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=gmuthukrishn@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.