xref: /dpdk/doc/guides/tools/testbbdev.rst (revision 441ac2e0)
1f714a188SAmr Mokhtar..  SPDX-License-Identifier: BSD-3-Clause
2f714a188SAmr Mokhtar    Copyright(c) 2017 Intel Corporation
3f714a188SAmr Mokhtar
4f714a188SAmr Mokhtardpdk-test-bbdev Application
5f714a188SAmr Mokhtar===========================
6f714a188SAmr Mokhtar
7f714a188SAmr MokhtarThe ``dpdk-test-bbdev`` tool is a Data Plane Development Kit (DPDK) utility that
8f714a188SAmr Mokhtarallows measuring performance parameters of PMDs available in the bbdev framework.
9d9f94a92SSarosh ArifTests available for execution are: latency, throughput, validation,
10d793a6f4SNicolas Chautrubler and sanity tests. Execution of tests can be customized using various
11d793a6f4SNicolas Chautruparameters passed to a python running script.
12f714a188SAmr Mokhtar
13f714a188SAmr Mokhtar
14f714a188SAmr MokhtarRunning the Application
15f714a188SAmr Mokhtar-----------------------
16f714a188SAmr Mokhtar
17f714a188SAmr MokhtarThe tool application has a number of command line options:
18f714a188SAmr Mokhtar
19f714a188SAmr Mokhtar.. code-block:: console
20f714a188SAmr Mokhtar
21b1df4163SRobin Jarry    test-bbdev.py [-h] [-p TESTAPP_PATH] [-e EAL_PARAMS] [-t TIMEOUT]
22f714a188SAmr Mokhtar                       [-c TEST_CASE [TEST_CASE ...]]
23f714a188SAmr Mokhtar                       [-v TEST_VECTOR [TEST_VECTOR...]] [-n NUM_OPS]
24f714a188SAmr Mokhtar                       [-b BURST_SIZE [BURST_SIZE ...]] [-l NUM_LCORES]
25f41c6e4dSNicolas Chautru                       [-t MAX_ITERS [MAX_ITERS ...]]
26f41c6e4dSNicolas Chautru                       [-s SNR [SNR ...]]
27f714a188SAmr Mokhtar
28f714a188SAmr Mokhtarcommand-line Options
29f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~~~~
30f714a188SAmr Mokhtar
31f714a188SAmr MokhtarThe following are the command-line options:
32f714a188SAmr Mokhtar
33f714a188SAmr Mokhtar``-h, --help``
34f714a188SAmr Mokhtar Shows help message and exit.
35f714a188SAmr Mokhtar
36f714a188SAmr Mokhtar``-p TESTAPP_PATH, --testapp_path TESTAPP_PATH``
37f714a188SAmr Mokhtar Indicates the path to the bbdev test app. If not specified path is set based
3895fcf7bfSCiara Power on "../.." concatenated with "*/build/app/dpdk-test-bbdev*".
39f714a188SAmr Mokhtar
40f714a188SAmr Mokhtar``-e EAL_PARAMS, --eal_params EAL_PARAMS``
41f714a188SAmr Mokhtar Specifies EAL arguments which are passed to the test app. For more details,
4243628b3dSDavid Marchand refer to DPDK documentation at :doc:`../linux_gsg/linux_eal_parameters`.
43f714a188SAmr Mokhtar
44f714a188SAmr Mokhtar``-t TIMEOUT, --timeout TIMEOUT``
45f714a188SAmr Mokhtar Specifies timeout in seconds. If not specified timeout is set to 300 seconds.
46f714a188SAmr Mokhtar
47f714a188SAmr Mokhtar``-c TEST_CASE [TEST_CASE ...], --test_cases TEST_CASE [TEST_CASE ...]``
48f714a188SAmr Mokhtar Defines test cases to run. If not specified all available tests are run.
49f714a188SAmr Mokhtar
50f714a188SAmr Mokhtar **Example usage:**
51f714a188SAmr Mokhtar
52f714a188SAmr Mokhtar ``./test-bbdev.py -c validation``
53f714a188SAmr Mokhtar  Runs validation test suite
54f714a188SAmr Mokhtar
55f714a188SAmr Mokhtar ``./test-bbdev.py -c latency throughput``
56f714a188SAmr Mokhtar  Runs latency and throughput test suites
57f714a188SAmr Mokhtar
58f714a188SAmr Mokhtar``-v TEST_VECTOR [TEST_VECTOR ...], --test_vector TEST_VECTOR [TEST_VECTOR ...]``
59f714a188SAmr Mokhtar Specifies paths to the test vector files. If not specified path is set based
6095fcf7bfSCiara Power on "../.." concatenated with "*/app/test-bbdev/test_vectors/bbdev_null.data*"
6195fcf7bfSCiara Power and indicates default data file.
62f714a188SAmr Mokhtar
63f714a188SAmr Mokhtar **Example usage:**
64f714a188SAmr Mokhtar
65ae828b8cSKamil Chalupnik ``./test-bbdev.py -v app/test-bbdev/test_vectors/turbo_dec_test1.data``
66ae828b8cSKamil Chalupnik  Fills vector based on turbo_dec_test1.data file and runs all tests
67f714a188SAmr Mokhtar
68ae828b8cSKamil Chalupnik ``./test-bbdev.py -v turbo_dec_test1.data turbo_enc_test2.data``
69f714a188SAmr Mokhtar  The bbdev test app is executed twice. First time vector is filled based on
70ae828b8cSKamil Chalupnik  *turbo_dec_test1.data* file and second time based on
71ae828b8cSKamil Chalupnik  *turb_enc_test2.data* file. For both executions all tests are run.
72f714a188SAmr Mokhtar
73f714a188SAmr Mokhtar``-n NUM_OPS, --num_ops NUM_OPS``
74f714a188SAmr Mokhtar Specifies number of operations to process on device. If not specified num_ops
75f714a188SAmr Mokhtar is set to 32 operations.
76f714a188SAmr Mokhtar
77f714a188SAmr Mokhtar``-l NUM_LCORES, --num_lcores NUM_LCORES``
78f714a188SAmr Mokhtar Specifies number of lcores to run. If not specified num_lcores is set
79f714a188SAmr Mokhtar according to value from RTE configuration (EAL coremask)
80f714a188SAmr Mokhtar
81f714a188SAmr Mokhtar``-b BURST_SIZE [BURST_SIZE ...], --burst-size BURST_SIZE [BURST_SIZE ...]``
82f714a188SAmr Mokhtar Specifies operations enqueue/dequeue burst size. If not specified burst_size is
83f714a188SAmr Mokhtar set to 32. Maximum is 512.
84f714a188SAmr Mokhtar
85f41c6e4dSNicolas Chautru``-t MAX_ITERS [MAX_ITERS ...], --iter_max MAX_ITERS [MAX_ITERS ...]``
86f41c6e4dSNicolas Chautru Specifies LDPC decoder operations maximum number of iterations for throughput
87f41c6e4dSNicolas Chautru and bler tests. If not specified iter_max is set to 6.
88f41c6e4dSNicolas Chautru
89f41c6e4dSNicolas Chautru``-s SNR [SNR ...], --snr SNR [SNR ...]``
90f41c6e4dSNicolas Chautru Specifies for LDPC decoder operations the SNR in dB used when generating LLRs
91f41c6e4dSNicolas Chautru for bler tests. If not specified snr is set to 0 dB.
92f41c6e4dSNicolas Chautru
938723590eSKamil ChalupnikTest Cases
948723590eSKamil Chalupnik~~~~~~~~~~
95f714a188SAmr Mokhtar
96d793a6f4SNicolas ChautruThere are 7 main test cases that can be executed using testbbdev tool:
978723590eSKamil Chalupnik
988723590eSKamil Chalupnik* Sanity checks [-c unittest]
998723590eSKamil Chalupnik    - Performs sanity checks on BBDEV interface, validating basic functionality
1008723590eSKamil Chalupnik
1018723590eSKamil Chalupnik* Validation tests [-c validation]
1028723590eSKamil Chalupnik    - Performs full operation of enqueue and dequeue
1038723590eSKamil Chalupnik    - Compares the dequeued data buffer with a expected values in the test
1048723590eSKamil Chalupnik      vector (TV) being used
1058723590eSKamil Chalupnik    - Fails if any dequeued value does not match the data in the TV
1068723590eSKamil Chalupnik
1078723590eSKamil Chalupnik* Offload Cost measurement [-c offload]
1088723590eSKamil Chalupnik    - Measures the CPU cycles consumed from the receipt of a user enqueue
1098723590eSKamil Chalupnik      until it is put on the device queue
1108723590eSKamil Chalupnik    - The test measures 4 metrics
1118723590eSKamil Chalupnik        (a) *SW Enq Offload Cost*: Software only enqueue offload cost, the cycle
1128723590eSKamil Chalupnik            counts and time (us) from the point the enqueue API is called until
1138723590eSKamil Chalupnik            the point the operation is put on the accelerator queue.
1148723590eSKamil Chalupnik        (b) *Acc Enq Offload Cost*: The cycle count and time (us) from the
1158723590eSKamil Chalupnik            point the operation is put on the accelerator queue until the return
1168723590eSKamil Chalupnik            from enqueue.
1178723590eSKamil Chalupnik        (c) *SW Deq Offload Cost*: Software dequeue cost, the cycle counts and
1188723590eSKamil Chalupnik            time (us) consumed to dequeue one operation.
1198723590eSKamil Chalupnik        (d) *Empty Queue Enq Offload Cost*: The cycle count and time (us)
1208723590eSKamil Chalupnik            consumed to dequeue from an empty queue.
1218723590eSKamil Chalupnik
1228723590eSKamil Chalupnik* Latency measurement [-c latency]
1238723590eSKamil Chalupnik    - Measures the time consumed from the first enqueue until the first
1248723590eSKamil Chalupnik      appearance of a dequeued result
125d629b7b5SJohn McNamara    - This measurement represents the full latency of a bbdev operation
1268723590eSKamil Chalupnik      (encode or decode) to execute
1278723590eSKamil Chalupnik
1288723590eSKamil Chalupnik* Poll-mode Throughput measurement [-c throughput]
1298723590eSKamil Chalupnik    - Performs full operation of enqueue and dequeue
1308723590eSKamil Chalupnik    - Executes in poll mode
1318723590eSKamil Chalupnik    - Measures the achieved throughput on a subset or all available CPU cores
1328723590eSKamil Chalupnik    - Dequeued data is not validated against expected values stored in TV
1338723590eSKamil Chalupnik    - Results are printed in million operations per second and million bits
1348723590eSKamil Chalupnik      per second
1358723590eSKamil Chalupnik
136f41c6e4dSNicolas Chautru* BLER measurement [-c bler]
137f41c6e4dSNicolas Chautru    - Performs full operation of enqueue and dequeue
138f41c6e4dSNicolas Chautru    - Measures the achieved throughput on a subset or all available CPU cores
139f41c6e4dSNicolas Chautru    - Computed BLER (Block Error Rate, ratio of blocks not decoded at a given
140f41c6e4dSNicolas Chautru      SNR) in % based on the total number of operations.
141f41c6e4dSNicolas Chautru
1428723590eSKamil Chalupnik* Interrupt-mode Throughput [-c interrupt]
1438723590eSKamil Chalupnik    - Similar to Throughput test case, but using interrupts. No polling.
1448723590eSKamil Chalupnik
1458723590eSKamil Chalupnik
1468723590eSKamil ChalupnikParameter Globbing
147f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~~
148f714a188SAmr Mokhtar
149f714a188SAmr MokhtarThanks to the globbing functionality in python test-bbdev.py script allows to
150f714a188SAmr Mokhtarrun tests with different set of vector files without giving all of them explicitly.
151f714a188SAmr Mokhtar
152d793a6f4SNicolas Chautru**Example usage for 4G:**
153f714a188SAmr Mokhtar
154f714a188SAmr Mokhtar.. code-block:: console
155f714a188SAmr Mokhtar
156ae828b8cSKamil Chalupnik  ./test-bbdev.py -v app/test-bbdev/test_vectors/turbo_<enc/dec>_c<c>_k<k>_r<r>_e<e>_<extra-info>.data
157f714a188SAmr Mokhtar
158f714a188SAmr MokhtarIt runs all tests with following vectors:
159f714a188SAmr Mokhtar
160ae828b8cSKamil Chalupnik- ``bbdev_null.data``
161f714a188SAmr Mokhtar
16243b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_sbd_negllr.data``
16347d5a049SKamil Chalupnik
16447d5a049SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1196_rm.data``
16547d5a049SKamil Chalupnik
16643b767f6SKamil Chalupnik- ``turbo_enc_c2_k5952_r0_e17868_crc24b.data``
16743b767f6SKamil Chalupnik
16843b767f6SKamil Chalupnik- ``turbo_dec_c1_k40_r0_e17280_sbd_negllr.data``
16943b767f6SKamil Chalupnik
17043b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_sbd_posllr.data``
17143b767f6SKamil Chalupnik
17247d5a049SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e272_rm.data``
173f714a188SAmr Mokhtar
17443b767f6SKamil Chalupnik- ``turbo_enc_c3_k4800_r2_e14412_crc24b.data``
17543b767f6SKamil Chalupnik
17643b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data``
17743b767f6SKamil Chalupnik
17843b767f6SKamil Chalupnik- ``turbo_dec_c2_k3136_r0_e4920_sbd_negllr_crc24b.data``
17943b767f6SKamil Chalupnik
18043b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e120_rm_rvidx.data``
18143b767f6SKamil Chalupnik
18243b767f6SKamil Chalupnik- ``turbo_enc_c4_k4800_r2_e14412_crc24b.data``
18343b767f6SKamil Chalupnik
18443b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_low_snr.data``
18543b767f6SKamil Chalupnik
18643b767f6SKamil Chalupnik- ``turbo_dec_c2_k3136_r0_e4920_sbd_negllr.data``
18743b767f6SKamil Chalupnik
18843b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e18444.data``
18943b767f6SKamil Chalupnik
19043b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_negllr.data``
19143b767f6SKamil Chalupnik
19243b767f6SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1190_rm.data``
19343b767f6SKamil Chalupnik
19443b767f6SKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e18448_crc24a.data``
19543b767f6SKamil Chalupnik
19643b767f6SKamil Chalupnik- ``turbo_dec_c1_k6144_r0_e34560_posllr.data``
19743b767f6SKamil Chalupnik
19843b767f6SKamil Chalupnik- ``turbo_enc_c1_k40_r0_e1194_rm.data``
19943b767f6SKamil Chalupnik
200ae828b8cSKamil Chalupnik- ``turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data``
201ae828b8cSKamil Chalupnik
202f714a188SAmr Mokhtar.. code-block:: console
203f714a188SAmr Mokhtar
204ae828b8cSKamil Chalupnik  ./test-bbdev.py -v app/test-bbdev/turbo_*_default.data
205f714a188SAmr Mokhtar
206ae828b8cSKamil ChalupnikIt runs all tests with "default" vectors.
207f714a188SAmr Mokhtar
208ae828b8cSKamil Chalupnik* ``turbo_dec_default.data`` is a soft link to
209ae828b8cSKamil Chalupnik  ``turbo_dec_c1_k6144_r0_e10376_crc24b_sbd_negllr_high_snr.data``
210f714a188SAmr Mokhtar
211ae828b8cSKamil Chalupnik* ``turbo_enc_default.data`` is a soft link to
212ae828b8cSKamil Chalupnik  ``turbo_enc_c1_k6144_r0_e32256_crc24b_rm.data``
213f714a188SAmr Mokhtar
214d793a6f4SNicolas Chautru* ``ldpc_dec_default.data`` is a soft link to
215d793a6f4SNicolas Chautru  ``ldpc_dec_v6563.data``
216d793a6f4SNicolas Chautru
217d793a6f4SNicolas Chautru* ``ldpc_enc_default.data`` is a soft link to
218d793a6f4SNicolas Chautru  ``ldpc_enc_c1_k8148_r0_e9372_rm.data``
219f714a188SAmr Mokhtar
220f714a188SAmr MokhtarRunning Tests
221f714a188SAmr Mokhtar-------------
222f714a188SAmr Mokhtar
223d793a6f4SNicolas ChautruAll default reference test-vectors are stored in the test_vector
224d793a6f4SNicolas Chautrudirectory below.
225d793a6f4SNicolas ChautruThe prefix trivially defines which type of operation is included :
226d793a6f4SNicolas Chautruturbo_enc, turbo_dec, ldpc_enc, ldpc_dec.
227d793a6f4SNicolas ChautruThe details of the configuration are captured in the file but some
228d793a6f4SNicolas Chautruvector name refer more explicitly processing specificity such as
229d793a6f4SNicolas Chautru'HARQ' when HARQ retransmission is used, 'loopback' when the data
230d793a6f4SNicolas Chautruis purely read/written for external DDR, lbrm when limited buffer
231d793a6f4SNicolas Chautrurate matching is expected, or crc_fail when a CRC failure is expected.
232d793a6f4SNicolas ChautruThey are chosen to have a good coverage across sizes and processing
233d793a6f4SNicolas Chautruparameters while still keeping their number limited as part of sanity
234d793a6f4SNicolas Chautruregression.
235d793a6f4SNicolas Chautru
23695fcf7bfSCiara PowerShortened tree of isg_cid-wireless_dpdk_ae with dpdk compiled and output
23795fcf7bfSCiara Powerto the build directory:
238f714a188SAmr Mokhtar
239f714a188SAmr Mokhtar::
240f714a188SAmr Mokhtar
241f714a188SAmr Mokhtar |-- app
242f714a188SAmr Mokhtar     |-- test-bbdev
243f714a188SAmr Mokhtar         |-- test_vectors
244f714a188SAmr Mokhtar
24595fcf7bfSCiara Power |-- build
246f714a188SAmr Mokhtar     |-- app
24795fcf7bfSCiara Power         |-- dpdk-test-bbdev
248f714a188SAmr Mokhtar
249f714a188SAmr MokhtarAll bbdev devices
250f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~
251f714a188SAmr Mokhtar
252f714a188SAmr Mokhtar.. code-block:: console
253f714a188SAmr Mokhtar
25495fcf7bfSCiara Power  ./test-bbdev.py -p ../../build/app/dpdk-test-bbdev
255ae828b8cSKamil Chalupnik  -v turbo_dec_default.data
256f714a188SAmr Mokhtar
257f714a188SAmr MokhtarIt runs all available tests using the test vector filled based on
258ae828b8cSKamil Chalupnik*turbo_dec_default.data* file.
259f714a188SAmr MokhtarBy default number of operations to process on device is set to 32, timeout is
260f714a188SAmr Mokhtarset to 300s and operations enqueue/dequeue burst size is set to 32.
2617ce00bf3SKamil ChalupnikMoreover a bbdev (*baseband_null*) device will be created.
262f714a188SAmr Mokhtar
2637ce00bf3SKamil Chalupnikbaseband turbo_sw device
2647ce00bf3SKamil Chalupnik~~~~~~~~~~~~~~~~~~~~~~~~
265f714a188SAmr Mokhtar
266f714a188SAmr Mokhtar.. code-block:: console
267f714a188SAmr Mokhtar
26895fcf7bfSCiara Power  ./test-bbdev.py -p ../../build/app/dpdk-test-bbdev
2697ce00bf3SKamil Chalupnik  -e="--vdev=baseband_turbo_sw" -t 120 -c validation
270d793a6f4SNicolas Chautru  -v ./test_vectors/* -n 64 -b 8 32
271f714a188SAmr Mokhtar
272f714a188SAmr MokhtarIt runs **validation** test for each vector file that matches the given pattern.
273f714a188SAmr MokhtarNumber of operations to process on device is set to 64 and operations timeout is
274f714a188SAmr Mokhtarset to 120s and enqueue/dequeue burst size is set to 8 and to 32.
2757ce00bf3SKamil ChalupnikMoreover a bbdev (*baseband_turbo_sw*) device will be created.
276f714a188SAmr Mokhtar
277f714a188SAmr Mokhtar
278f714a188SAmr Mokhtarbbdev null device
279f714a188SAmr Mokhtar~~~~~~~~~~~~~~~~~
280f714a188SAmr Mokhtar
281ae828b8cSKamil ChalupnikExecuting bbdev null device with *bbdev_null.data* helps in measuring the
282f714a188SAmr Mokhtaroverhead introduced by the bbdev framework.
283f714a188SAmr Mokhtar
284f714a188SAmr Mokhtar.. code-block:: console
285f714a188SAmr Mokhtar
2867ce00bf3SKamil Chalupnik  ./test-bbdev.py -e="--vdev=baseband_null0"
287ae828b8cSKamil Chalupnik  -v ./test_vectors/bbdev_null.data
288f714a188SAmr Mokhtar
289f714a188SAmr Mokhtar**Note:**
290f714a188SAmr Mokhtar
2917ce00bf3SKamil Chalupnikbaseband_null device does not have to be defined explicitly as it is created by default.
292f714a188SAmr Mokhtar
293f714a188SAmr Mokhtar
294f714a188SAmr Mokhtar
295f714a188SAmr MokhtarTest Vector files
296c5e2e085SThomas Monjalon-----------------
297f714a188SAmr Mokhtar
298f714a188SAmr MokhtarTest Vector files contain the data which is used to set turbo decoder/encoder
299f714a188SAmr Mokhtarparameters and buffers for validation purpose. New test vector files should be
300f714a188SAmr Mokhtarstored in ``app/test-bbdev/test_vectors/`` directory. Detailed description of
301f714a188SAmr Mokhtarthe syntax of the test vector files is in the following section.
302f714a188SAmr Mokhtar
303f714a188SAmr Mokhtar
304f714a188SAmr MokhtarBasic principles for test vector files
305c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
306f714a188SAmr MokhtarLine started with ``#`` is treated as a comment and is ignored.
307f714a188SAmr Mokhtar
308f714a188SAmr MokhtarIf variable is a chain of values, values should be separated by a comma. If
309f714a188SAmr Mokhtarassignment is split into several lines, each line (except the last one) has to
310f714a188SAmr Mokhtarbe ended with a comma.
311f714a188SAmr MokhtarThere is no comma after last value in last line. Correct assignment should
312f714a188SAmr Mokhtarlook like the following:
313f714a188SAmr Mokhtar
314f714a188SAmr Mokhtar.. parsed-literal::
315f714a188SAmr Mokhtar
316f714a188SAmr Mokhtar variable =
317f714a188SAmr Mokhtar value, value, value, value,
318f714a188SAmr Mokhtar value, value
319f714a188SAmr Mokhtar
320f714a188SAmr MokhtarIn case where variable is a single value correct assignment looks like the
321f714a188SAmr Mokhtarfollowing:
322f714a188SAmr Mokhtar
323f714a188SAmr Mokhtar.. parsed-literal::
324f714a188SAmr Mokhtar
325f714a188SAmr Mokhtar variable =
326f714a188SAmr Mokhtar value
327f714a188SAmr Mokhtar
328f714a188SAmr MokhtarLength of chain variable is calculated by parser. Can not be defined
329f714a188SAmr Mokhtarexplicitly.
330f714a188SAmr Mokhtar
331f714a188SAmr MokhtarVariable op_type has to be defined as a first variable in file. It specifies
332d793a6f4SNicolas Chautruwhat type of operations will be executed. For 4G decoder op_type has to be set to
333d793a6f4SNicolas Chautru``RTE_BBDEV_OP_TURBO_DEC`` and for 4G encoder to ``RTE_BBDEV_OP_TURBO_ENC``.
334f714a188SAmr Mokhtar
335*441ac2e0SNipun GuptaBbdev-test adjusts the byte endianness based on the PMD capability (data_endianness)
336*441ac2e0SNipun Guptaand all the test vectors input/output data are assumed to be LE by default
337*441ac2e0SNipun Gupta
338f714a188SAmr MokhtarFull details of the meaning and valid values for the below fields are
339f714a188SAmr Mokhtardocumented in *rte_bbdev_op.h*
340f714a188SAmr Mokhtar
341f714a188SAmr Mokhtar
342f714a188SAmr MokhtarTurbo decoder test vectors template
343c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
344f714a188SAmr Mokhtar
345f714a188SAmr MokhtarFor turbo decoder it has to be always set to ``RTE_BBDEV_OP_TURBO_DEC``
346f714a188SAmr Mokhtar
347f714a188SAmr Mokhtar.. parsed-literal::
348f714a188SAmr Mokhtar
349f714a188SAmr Mokhtar    op_type =
350f714a188SAmr Mokhtar    RTE_BBDEV_OP_TURBO_DEC
351f714a188SAmr Mokhtar
352f714a188SAmr MokhtarChain of uint32_t values. Note that it is possible to define more than one
353f714a188SAmr Mokhtarinput/output entries which will result in chaining two or more data structures
354f714a188SAmr Mokhtarfor *segmented Transport Blocks*
355f714a188SAmr Mokhtar
356f714a188SAmr Mokhtar.. parsed-literal::
357f714a188SAmr Mokhtar
358f714a188SAmr Mokhtar    input0 =
359f714a188SAmr Mokhtar    0x00000000, 0x7f817f00, 0x7f7f8100, 0x817f8100, 0x81008100, 0x7f818100, 0x81817f00, 0x7f818100,
360f714a188SAmr Mokhtar    0x81007f00, 0x7f818100, 0x817f8100, 0x81817f00, 0x81008100, 0x817f7f00, 0x7f7f8100, 0x81817f00
361f714a188SAmr Mokhtar
362f714a188SAmr MokhtarChain of uint32_t values
363f714a188SAmr Mokhtar
364f714a188SAmr Mokhtar.. parsed-literal::
365f714a188SAmr Mokhtar
366f714a188SAmr Mokhtar    input1 =
367f714a188SAmr Mokhtar    0x7f7f0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
368f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
369f714a188SAmr Mokhtar
370f714a188SAmr MokhtarChain of uint32_t values
371f714a188SAmr Mokhtar
372f714a188SAmr Mokhtar.. parsed-literal::
373f714a188SAmr Mokhtar
374f714a188SAmr Mokhtar    input2 =
375f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
376f714a188SAmr Mokhtar    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
377f714a188SAmr Mokhtar
378f714a188SAmr MokhtarChain of uint32_t values
379f714a188SAmr Mokhtar
380f714a188SAmr Mokhtar.. parsed-literal::
381f714a188SAmr Mokhtar
382f714a188SAmr Mokhtar    hard_output0 =
383f714a188SAmr Mokhtar    0xa7d6732e
384f714a188SAmr Mokhtar
385f714a188SAmr MokhtarChain of uint32_t values
386f714a188SAmr Mokhtar
387f714a188SAmr Mokhtar.. parsed-literal::
388f714a188SAmr Mokhtar
389f714a188SAmr Mokhtar    hard_output1 =
390f714a188SAmr Mokhtar    0xa61
391f714a188SAmr Mokhtar
392f714a188SAmr MokhtarChain of uint32_t values
393f714a188SAmr Mokhtar
394f714a188SAmr Mokhtar.. parsed-literal::
395f714a188SAmr Mokhtar
396f714a188SAmr Mokhtar    soft_output0 =
397f714a188SAmr Mokhtar    0x817f817f, 0x7f817f7f, 0x81818181, 0x817f7f81, 0x7f818181, 0x8181817f, 0x817f817f, 0x8181817f
398f714a188SAmr Mokhtar
399f714a188SAmr MokhtarChain of uint32_t values
400f714a188SAmr Mokhtar
401f714a188SAmr Mokhtar.. parsed-literal::
402f714a188SAmr Mokhtar
403f714a188SAmr Mokhtar    soft_output1 =
404f714a188SAmr Mokhtar    0x817f7f81, 0x7f7f7f81, 0x7f7f8181
405f714a188SAmr Mokhtar
406f714a188SAmr Mokhtaruint32_t value
407f714a188SAmr Mokhtar
408f714a188SAmr Mokhtar.. parsed-literal::
409f714a188SAmr Mokhtar
410f714a188SAmr Mokhtar    e =
411f714a188SAmr Mokhtar    44
412f714a188SAmr Mokhtar
413f714a188SAmr Mokhtaruint16_t value
414f714a188SAmr Mokhtar
415f714a188SAmr Mokhtar.. parsed-literal::
416f714a188SAmr Mokhtar
417f714a188SAmr Mokhtar    k =
418f714a188SAmr Mokhtar    40
419f714a188SAmr Mokhtar
420f714a188SAmr Mokhtaruint8_t value
421f714a188SAmr Mokhtar
422f714a188SAmr Mokhtar.. parsed-literal::
423f714a188SAmr Mokhtar
424f714a188SAmr Mokhtar    rv_index =
425f714a188SAmr Mokhtar    0
426f714a188SAmr Mokhtar
427f714a188SAmr Mokhtaruint8_t value
428f714a188SAmr Mokhtar
429f714a188SAmr Mokhtar.. parsed-literal::
430f714a188SAmr Mokhtar
431f714a188SAmr Mokhtar    iter_max =
432f714a188SAmr Mokhtar    8
433f714a188SAmr Mokhtar
434f714a188SAmr Mokhtaruint8_t value
435f714a188SAmr Mokhtar
436f714a188SAmr Mokhtar.. parsed-literal::
437f714a188SAmr Mokhtar
438f714a188SAmr Mokhtar    iter_min =
439f714a188SAmr Mokhtar    4
440f714a188SAmr Mokhtar
441f714a188SAmr Mokhtaruint8_t value
442f714a188SAmr Mokhtar
443f714a188SAmr Mokhtar.. parsed-literal::
444f714a188SAmr Mokhtar
445f714a188SAmr Mokhtar    expected_iter_count =
446f714a188SAmr Mokhtar    8
447f714a188SAmr Mokhtar
448f714a188SAmr Mokhtaruint8_t value
449f714a188SAmr Mokhtar
450f714a188SAmr Mokhtar.. parsed-literal::
451f714a188SAmr Mokhtar
452f714a188SAmr Mokhtar    ext_scale =
453f714a188SAmr Mokhtar    15
454f714a188SAmr Mokhtar
455f714a188SAmr Mokhtaruint8_t value
456f714a188SAmr Mokhtar
457f714a188SAmr Mokhtar.. parsed-literal::
458f714a188SAmr Mokhtar
459f714a188SAmr Mokhtar    num_maps =
460f714a188SAmr Mokhtar    0
461f714a188SAmr Mokhtar
462d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_td_flag_bitmasks:
463f714a188SAmr Mokhtar
464f714a188SAmr MokhtarExample:
465f714a188SAmr Mokhtar
466f714a188SAmr Mokhtar    .. parsed-literal::
467f714a188SAmr Mokhtar
468f714a188SAmr Mokhtar        op_flags =
469f714a188SAmr Mokhtar        RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE, RTE_BBDEV_TURBO_EQUALIZER,
470f714a188SAmr Mokhtar        RTE_BBDEV_TURBO_SOFT_OUTPUT
471f714a188SAmr Mokhtar
472f714a188SAmr MokhtarChain of operation statuses that are expected after operation is performed.
473f714a188SAmr MokhtarFollowing statuses can be used:
474f714a188SAmr Mokhtar
475f714a188SAmr Mokhtar- ``DMA``
476f714a188SAmr Mokhtar
477f714a188SAmr Mokhtar- ``FCW``
478f714a188SAmr Mokhtar
479f714a188SAmr Mokhtar- ``CRC``
480f714a188SAmr Mokhtar
481f714a188SAmr Mokhtar- ``OK``
482f714a188SAmr Mokhtar
483f714a188SAmr Mokhtar``OK`` means no errors are expected. Cannot be used with other values.
484f714a188SAmr Mokhtar
485f714a188SAmr Mokhtar.. parsed-literal::
486f714a188SAmr Mokhtar
487f714a188SAmr Mokhtar    expected_status =
488f714a188SAmr Mokhtar    FCW, CRC
489f714a188SAmr Mokhtar
490f714a188SAmr Mokhtar
491f714a188SAmr MokhtarTurbo encoder test vectors template
492c5e2e085SThomas Monjalon~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
493f714a188SAmr Mokhtar
494f714a188SAmr MokhtarFor turbo encoder it has to be always set to ``RTE_BBDEV_OP_TURBO_ENC``
495f714a188SAmr Mokhtar
496f714a188SAmr Mokhtar.. parsed-literal::
497f714a188SAmr Mokhtar
498f714a188SAmr Mokhtar    op_type =
499f714a188SAmr Mokhtar    RTE_BBDEV_OP_TURBO_ENC
500f714a188SAmr Mokhtar
501f714a188SAmr MokhtarChain of uint32_t values
502f714a188SAmr Mokhtar
503f714a188SAmr Mokhtar.. parsed-literal::
504f714a188SAmr Mokhtar
505f714a188SAmr Mokhtar    input0 =
506f714a188SAmr Mokhtar    0x11d2bcac, 0x4d
507f714a188SAmr Mokhtar
508f714a188SAmr MokhtarChain of uint32_t values
509f714a188SAmr Mokhtar
510f714a188SAmr Mokhtar.. parsed-literal::
511f714a188SAmr Mokhtar
512f714a188SAmr Mokhtar    output0 =
513f714a188SAmr Mokhtar    0xd2399179, 0x640eb999, 0x2cbaf577, 0xaf224ae2, 0x9d139927, 0xe6909b29,
514f714a188SAmr Mokhtar    0xa25b7f47, 0x2aa224ce, 0x79f2
515f714a188SAmr Mokhtar
516f714a188SAmr Mokhtaruint32_t value
517f714a188SAmr Mokhtar
518f714a188SAmr Mokhtar.. parsed-literal::
519f714a188SAmr Mokhtar
520f714a188SAmr Mokhtar    e =
521f714a188SAmr Mokhtar    272
522f714a188SAmr Mokhtar
523f714a188SAmr Mokhtaruint16_t value
524f714a188SAmr Mokhtar
525f714a188SAmr Mokhtar.. parsed-literal::
526f714a188SAmr Mokhtar
527f714a188SAmr Mokhtar    k =
528f714a188SAmr Mokhtar    40
529f714a188SAmr Mokhtar
530f714a188SAmr Mokhtaruint16_t value
531f714a188SAmr Mokhtar
532f714a188SAmr Mokhtar.. parsed-literal::
533f714a188SAmr Mokhtar
534f714a188SAmr Mokhtar    ncb =
535f714a188SAmr Mokhtar    192
536f714a188SAmr Mokhtar
537f714a188SAmr Mokhtaruint8_t value
538f714a188SAmr Mokhtar
539f714a188SAmr Mokhtar.. parsed-literal::
540f714a188SAmr Mokhtar
541f714a188SAmr Mokhtar    rv_index =
542f714a188SAmr Mokhtar    0
543f714a188SAmr Mokhtar
544d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_te_flag_bitmasks:
545f714a188SAmr Mokhtar
546f714a188SAmr Mokhtar``RTE_BBDEV_TURBO_ENC_SCATTER_GATHER`` is used to indicate the parser to
547f714a188SAmr Mokhtarforce the input data to be memory split and formed as a segmented mbuf.
548f714a188SAmr Mokhtar
549f714a188SAmr Mokhtar
550f714a188SAmr Mokhtar.. parsed-literal::
551f714a188SAmr Mokhtar
552f714a188SAmr Mokhtar    op_flags =
553f714a188SAmr Mokhtar    RTE_BBDEV_TURBO_RATE_MATCH
554f714a188SAmr Mokhtar
555f714a188SAmr MokhtarChain of operation statuses that are expected after operation is performed.
556f714a188SAmr MokhtarFollowing statuses can be used:
557f714a188SAmr Mokhtar
558f714a188SAmr Mokhtar- ``DMA``
559f714a188SAmr Mokhtar
560f714a188SAmr Mokhtar- ``FCW``
561f714a188SAmr Mokhtar
562f714a188SAmr Mokhtar- ``OK``
563f714a188SAmr Mokhtar
564f714a188SAmr Mokhtar``OK`` means no errors are expected. Cannot be used with other values.
565f714a188SAmr Mokhtar
566f714a188SAmr Mokhtar.. parsed-literal::
567f714a188SAmr Mokhtar
568f714a188SAmr Mokhtar    expected_status =
569f714a188SAmr Mokhtar    OK
570d793a6f4SNicolas Chautru
571d793a6f4SNicolas ChautruLDPC decoder test vectors template
572d793a6f4SNicolas Chautru~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
573d793a6f4SNicolas Chautru
574d793a6f4SNicolas ChautruFor LDPC decoder it has to be always set to ``RTE_BBDEV_OP_LDPC_DEC``
575d793a6f4SNicolas Chautru
576d793a6f4SNicolas Chautru.. parsed-literal::
577d793a6f4SNicolas Chautru
578d793a6f4SNicolas Chautru    op_type =
579d793a6f4SNicolas Chautru    RTE_BBDEV_OP_LDPC_DEC
580d793a6f4SNicolas Chautru
581d793a6f4SNicolas ChautruChain of uint32_t values. Note that it is possible to define more than one
582d793a6f4SNicolas Chautruinput/output entries which will result in chaining two or more data structures
583d793a6f4SNicolas Chautrufor *segmented Transport Blocks*
584d793a6f4SNicolas Chautru
585d793a6f4SNicolas Chautru.. parsed-literal::
586d793a6f4SNicolas Chautru
587d793a6f4SNicolas Chautru    input0 =
588d793a6f4SNicolas Chautru    0x00000000, 0x7f817f00, 0x7f7f8100, 0x817f8100, 0x81008100, 0x7f818100, 0x81817f00, 0x7f818100,
589d793a6f4SNicolas Chautru    0x81007f00, 0x7f818100, 0x817f8100, 0x81817f00, 0x81008100, 0x817f7f00, 0x7f7f8100, 0x81817f00
590d793a6f4SNicolas Chautru
591d793a6f4SNicolas Chautru.. parsed-literal::
592d793a6f4SNicolas Chautru
593d793a6f4SNicolas Chautru    output0 =
594d793a6f4SNicolas Chautru    0xa7d6732e
595d793a6f4SNicolas Chautru
596d793a6f4SNicolas Chautruuint8_t value
597d793a6f4SNicolas Chautru
598d793a6f4SNicolas Chautru.. parsed-literal::
599d793a6f4SNicolas Chautru
600d793a6f4SNicolas Chautru    basegraph=
601d793a6f4SNicolas Chautru    1
602d793a6f4SNicolas Chautru
603d793a6f4SNicolas Chautruuint16_t value
604d793a6f4SNicolas Chautru
605d793a6f4SNicolas Chautru.. parsed-literal::
606d793a6f4SNicolas Chautru
607d793a6f4SNicolas Chautru    z_c=
608d793a6f4SNicolas Chautru    224
609d793a6f4SNicolas Chautru
610d793a6f4SNicolas Chautruuint16_t value
611d793a6f4SNicolas Chautru
612d793a6f4SNicolas Chautru.. parsed-literal::
613d793a6f4SNicolas Chautru
614d793a6f4SNicolas Chautru    n_cb=
615d793a6f4SNicolas Chautru    14784
616d793a6f4SNicolas Chautru
617d793a6f4SNicolas Chautruuint8_t value
618d793a6f4SNicolas Chautru
619d793a6f4SNicolas Chautru.. parsed-literal::
620d793a6f4SNicolas Chautru
621d793a6f4SNicolas Chautru    q_m=
622d793a6f4SNicolas Chautru    1
623d793a6f4SNicolas Chautru
624d793a6f4SNicolas Chautruuint16_t value
625d793a6f4SNicolas Chautru
626d793a6f4SNicolas Chautru.. parsed-literal::
627d793a6f4SNicolas Chautru
628d793a6f4SNicolas Chautru    n_filler=
629d793a6f4SNicolas Chautru    40
630d793a6f4SNicolas Chautru
631d793a6f4SNicolas Chautruuint32_t value
632d793a6f4SNicolas Chautru
633d793a6f4SNicolas Chautru.. parsed-literal::
634d793a6f4SNicolas Chautru
635d793a6f4SNicolas Chautru    e=
636d793a6f4SNicolas Chautru    13072
637d793a6f4SNicolas Chautru
638d793a6f4SNicolas Chautruuint8_t value
639d793a6f4SNicolas Chautru
640d793a6f4SNicolas Chautru.. parsed-literal::
641d793a6f4SNicolas Chautru
642d793a6f4SNicolas Chautru    rv_index=
643d793a6f4SNicolas Chautru    2
644d793a6f4SNicolas Chautru
645d793a6f4SNicolas Chautruuint8_t value
646d793a6f4SNicolas Chautru
647d793a6f4SNicolas Chautru.. parsed-literal::
648d793a6f4SNicolas Chautru    code_block_mode=
649d793a6f4SNicolas Chautru    1
650d793a6f4SNicolas Chautru
651d793a6f4SNicolas Chautruuint8_t value
652d793a6f4SNicolas Chautru
653d793a6f4SNicolas Chautru.. parsed-literal::
654d793a6f4SNicolas Chautru
655d793a6f4SNicolas Chautru    iter_max=
656d793a6f4SNicolas Chautru    20
657d793a6f4SNicolas Chautru
658d793a6f4SNicolas Chautruuint8_t value
659d793a6f4SNicolas Chautru
660d793a6f4SNicolas Chautru.. parsed-literal::
661d793a6f4SNicolas Chautru
662d793a6f4SNicolas Chautru    expected_iter_count=
663d793a6f4SNicolas Chautru    8
664d793a6f4SNicolas Chautru
665d793a6f4SNicolas Chautru
666d793a6f4SNicolas ChautruChain of flags for LDPC decoder operation based on the rte_bbdev_op_ldpcdec_flag_bitmasks:
667d793a6f4SNicolas Chautru
668d793a6f4SNicolas ChautruExample:
669d793a6f4SNicolas Chautru
670d793a6f4SNicolas Chautru    .. parsed-literal::
671d793a6f4SNicolas Chautru
672d793a6f4SNicolas Chautru        op_flags =
673d793a6f4SNicolas Chautru        RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE, RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE,
674d793a6f4SNicolas Chautru        RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE, RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
675d793a6f4SNicolas Chautru
676d793a6f4SNicolas ChautruChain of operation statuses that are expected after operation is performed.
677d793a6f4SNicolas ChautruFollowing statuses can be used:
678d793a6f4SNicolas Chautru
679d793a6f4SNicolas Chautru- ``OK`` : No error reported.
680d793a6f4SNicolas Chautru
681d793a6f4SNicolas Chautru- ``SYN`` : LDPC syndrome parity check is failing.
682d793a6f4SNicolas Chautru
683d793a6f4SNicolas Chautru- ``CRC`` : CRC parity check is failing when CRC check operation is included.
684d793a6f4SNicolas Chautru
685d793a6f4SNicolas Chautru- ``SYNCRC`` : Both CRC and LDPC syndromes parity checks are failing.
686d793a6f4SNicolas Chautru
687d793a6f4SNicolas Chautru``OK`` means no errors are expected. Cannot be used with other values.
688d793a6f4SNicolas Chautru
689d793a6f4SNicolas Chautru.. parsed-literal::
690d793a6f4SNicolas Chautru
691d793a6f4SNicolas Chautru    expected_status =
692d793a6f4SNicolas Chautru    CRC
693d793a6f4SNicolas Chautru
694d793a6f4SNicolas Chautru
695d793a6f4SNicolas ChautruLDPC encoder test vectors template
696d793a6f4SNicolas Chautru~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
697d793a6f4SNicolas Chautru
698d793a6f4SNicolas ChautruFor turbo encoder it has to be always set to ``RTE_BBDEV_OP_LDPC_ENC``
699d793a6f4SNicolas Chautru
700d793a6f4SNicolas Chautru.. parsed-literal::
701d793a6f4SNicolas Chautru
702d793a6f4SNicolas Chautru    op_type =
703d793a6f4SNicolas Chautru    RTE_BBDEV_OP_LDPC_ENC
704d793a6f4SNicolas Chautru
705d793a6f4SNicolas ChautruChain of uint32_t values
706d793a6f4SNicolas Chautru
707d793a6f4SNicolas Chautru.. parsed-literal::
708d793a6f4SNicolas Chautru
709d793a6f4SNicolas Chautru    input0 =
710d793a6f4SNicolas Chautru    0x11d2bcac, 0x4d
711d793a6f4SNicolas Chautru
712d793a6f4SNicolas ChautruChain of uint32_t values
713d793a6f4SNicolas Chautru
714d793a6f4SNicolas Chautru.. parsed-literal::
715d793a6f4SNicolas Chautru
716d793a6f4SNicolas Chautru    output0 =
717d793a6f4SNicolas Chautru    0xd2399179, 0x640eb999, 0x2cbaf577, 0xaf224ae2, 0x9d139927, 0xe6909b29,
718d793a6f4SNicolas Chautru    0xa25b7f47, 0x2aa224ce, 0x79f2
719d793a6f4SNicolas Chautru
720d793a6f4SNicolas Chautru
721d793a6f4SNicolas Chautruuint8_t value
722d793a6f4SNicolas Chautru
723d793a6f4SNicolas Chautru.. parsed-literal::
724d793a6f4SNicolas Chautru
725d793a6f4SNicolas Chautru    basegraph=
726d793a6f4SNicolas Chautru    1
727d793a6f4SNicolas Chautru
728d793a6f4SNicolas Chautruuint16_t value
729d793a6f4SNicolas Chautru
730d793a6f4SNicolas Chautru.. parsed-literal::
731d793a6f4SNicolas Chautru
732d793a6f4SNicolas Chautru    z_c=
733d793a6f4SNicolas Chautru    52
734d793a6f4SNicolas Chautru
735d793a6f4SNicolas Chautruuint16_t value
736d793a6f4SNicolas Chautru
737d793a6f4SNicolas Chautru.. parsed-literal::
738d793a6f4SNicolas Chautru
739d793a6f4SNicolas Chautru    n_cb=
740d793a6f4SNicolas Chautru    3432
741d793a6f4SNicolas Chautru
742d793a6f4SNicolas Chautruuint8_t value
743d793a6f4SNicolas Chautru
744d793a6f4SNicolas Chautru.. parsed-literal::
745d793a6f4SNicolas Chautru
746d793a6f4SNicolas Chautru    q_m=
747d793a6f4SNicolas Chautru    6
748d793a6f4SNicolas Chautru
749d793a6f4SNicolas Chautruuint16_t value
750d793a6f4SNicolas Chautru
751d793a6f4SNicolas Chautru.. parsed-literal::
752d793a6f4SNicolas Chautru
753d793a6f4SNicolas Chautru    n_filler=
754d793a6f4SNicolas Chautru    0
755d793a6f4SNicolas Chautru
756d793a6f4SNicolas Chautruuint32_t value
757d793a6f4SNicolas Chautru
758d793a6f4SNicolas Chautru.. parsed-literal::
759d793a6f4SNicolas Chautru
760d793a6f4SNicolas Chautru    e =
761d793a6f4SNicolas Chautru    1380
762d793a6f4SNicolas Chautru
763d793a6f4SNicolas Chautruuint8_t value
764d793a6f4SNicolas Chautru
765d793a6f4SNicolas Chautru.. parsed-literal::
766d793a6f4SNicolas Chautru
767d793a6f4SNicolas Chautru    rv_index =
768d793a6f4SNicolas Chautru    1
769d793a6f4SNicolas Chautru
770d793a6f4SNicolas Chautruuint8_t value
771d793a6f4SNicolas Chautru
772d793a6f4SNicolas Chautru.. parsed-literal::
773d793a6f4SNicolas Chautru
774d793a6f4SNicolas Chautru    code_block_mode =
775d793a6f4SNicolas Chautru    1
776d793a6f4SNicolas Chautru
777d793a6f4SNicolas Chautru
778d793a6f4SNicolas ChautruChain of flags for LDPC encoder operation based on the
779d793a6f4SNicolas Chautrurte_bbdev_op_ldpcenc_flag_bitmasks:
780d793a6f4SNicolas Chautru
781d793a6f4SNicolas Chautru.. parsed-literal::
782d793a6f4SNicolas Chautru
783d793a6f4SNicolas Chautru    op_flags =
784d793a6f4SNicolas Chautru    RTE_BBDEV_LDPC_RATE_MATCH
785d793a6f4SNicolas Chautru
786d793a6f4SNicolas ChautruChain of operation statuses that are expected after operation is performed.
787d793a6f4SNicolas ChautruFollowing statuses can be used:
788d793a6f4SNicolas Chautru
789d793a6f4SNicolas Chautru- ``DMA``
790d793a6f4SNicolas Chautru
791d793a6f4SNicolas Chautru- ``FCW``
792d793a6f4SNicolas Chautru
793d793a6f4SNicolas Chautru- ``OK``
794d793a6f4SNicolas Chautru
795d793a6f4SNicolas Chautru``OK`` means no errors are expected. Cannot be used with other values.
796d793a6f4SNicolas Chautru
797d793a6f4SNicolas Chautru.. parsed-literal::
798d793a6f4SNicolas Chautru
799d793a6f4SNicolas Chautru    expected_status =
800d793a6f4SNicolas Chautru    OK
801