> > Add a Wycheproof JSON vector validation example for cryptodev PMDs.
> >
> > Create examples/crypto_validation for the validation applications.
> > Move the existing examples/fips_validation application into that
> > directory alongside Wycheproof.
> >
> > Support these algorithms when advertised by the selected PMD:
> > - AEAD: AES-GCM, AES-CCM, SM4-GCM, ChaCha20-Poly1305
> > - MAC: AES-CMAC, AES-GMAC, HMAC SHA-1/SHA-2/SHA-3/SM3
> > - Asymmetric: DSA (P1363 verify), ECDSA (P1363 verify),
> > ECDH (ecpoint shared-secret compute)
> >
> > Validate valid vectors against generated ciphertexts, tags, plaintexts,
> > digests, shared secrets, or signature verification, and require the
> > expected rejection for invalid vectors. Digest inputs for DSA and ECDSA
> > use the symmetric auth path, selecting a separate symmetric-capable
> > device when the target device is asymmetric-only.
> >
> > Skip parameter combinations outside PMD capability ranges and identify
> > recognized vector families without a compatible DPDK transform. A
> > --debug option lists every failed or skipped vector.
> >
> > Add Meson and standalone build integration, with usage documentation.
> >
> > Signed-off-by: Kai Ji <[email protected]>
> > ---
> > MAINTAINERS | 7 +-
> > doc/guides/rel_notes/release_26_11.rst | 6 +
> > doc/guides/sample_app_ug/index.rst | 1 +
> > .../sample_app_ug/wycheproof_validation.rst | 51 +
> > .../fips_validation/Makefile | 0
> > .../fips_validation/fips_dev_self_test.c | 0
> > .../fips_validation/fips_dev_self_test.h | 0
> > .../fips_validation/fips_validation.c | 0
> > .../fips_validation/fips_validation.h | 0
> > .../fips_validation/fips_validation_aes.c | 0
> > .../fips_validation/fips_validation_ccm.c | 0
> > .../fips_validation/fips_validation_cmac.c | 0
> > .../fips_validation/fips_validation_ecdsa.c | 0
> > .../fips_validation/fips_validation_eddsa.c | 0
> > .../fips_validation/fips_validation_gcm.c | 0
> > .../fips_validation/fips_validation_hmac.c | 0
> > .../fips_validation/fips_validation_rsa.c | 0
> > .../fips_validation/fips_validation_sha.c | 0
> > .../fips_validation/fips_validation_tdes.c | 0
> > .../fips_validation/fips_validation_xts.c | 0
> > .../fips_validation/main.c | 0
> > .../fips_validation/meson.build | 0
> > .../wycheproof_validation/Makefile | 40 +
> > .../wycheproof_validation/main.c | 2097 +++++++++++++++++
> > .../wycheproof_validation/meson.build | 18 +
> > examples/meson.build | 3 +-
> > 26 files changed, 2221 insertions(+), 2 deletions(-)
> > create mode 100644 doc/guides/sample_app_ug/wycheproof_validation.rst
> > rename examples/{ => crypto_validation}/fips_validation/Makefile (100%)
> > rename examples/{ =>
> > crypto_validation}/fips_validation/fips_dev_self_test.c
> > (100%)
> > rename examples/{ =>
> > crypto_validation}/fips_validation/fips_dev_self_test.h
> > (100%)
> > rename examples/{ => crypto_validation}/fips_validation/fips_validation.c
> > (100%)
> > rename examples/{ => crypto_validation}/fips_validation/fips_validation.h
> > (100%)
> > rename examples/{ =>
> > crypto_validation}/fips_validation/fips_validation_aes.c
> > (100%)
> > rename examples/{ =>
> crypto_validation}/fips_validation/fips_validation_ccm.c
> > (100%)
> > rename examples/{ =>
> crypto_validation}/fips_validation/fips_validation_cmac.c
> > (100%)
> > rename examples/{ =>
> > crypto_validation}/fips_validation/fips_validation_ecdsa.c (100%)
> > rename examples/{ =>
> > crypto_validation}/fips_validation/fips_validation_eddsa.c (100%)
> > rename examples/{ =>
> crypto_validation}/fips_validation/fips_validation_gcm.c
> > (100%)
> > rename examples/{ =>
> crypto_validation}/fips_validation/fips_validation_hmac.c
> > (100%)
> > rename examples/{ =>
> > crypto_validation}/fips_validation/fips_validation_rsa.c
> > (100%)
> > rename examples/{ =>
> > crypto_validation}/fips_validation/fips_validation_sha.c
> > (100%)
> > rename examples/{ =>
> crypto_validation}/fips_validation/fips_validation_tdes.c
> > (100%)
> > rename examples/{ =>
> > crypto_validation}/fips_validation/fips_validation_xts.c
> > (100%)
> > rename examples/{ => crypto_validation}/fips_validation/main.c (100%)
> > rename examples/{ => crypto_validation}/fips_validation/meson.build (100%)
> > create mode 100644
> > examples/crypto_validation/wycheproof_validation/Makefile
> > create mode 100644
> examples/crypto_validation/wycheproof_validation/main.c
> > create mode 100644
> > examples/crypto_validation/wycheproof_validation/meson.build
>
> Can we split this patch into 2 patches or more patches.
> - one to move fips. Rename fips_validation.rst to crypto_validation.rst and
> update
> it to have fips as one section
> - others to add new app(logical split if possible). Add another section in
> crypto_validation.rst for Wycheproof.
>
> Check multi_process.rst for reference.
>
Hi Kai,
As per the last DPDK call, Thomas suggested to move this app and the fips also
to apps/ folder
And update documentation accordingly.