@@ -15,7 +15,7 @@ Overview
The L2 Forwarding with Crypto sample application performs a crypto operation (cipher/hash)
specified by the user from command line (or using the default values),
with a crypto device capable of doing that operation,
-for each packet that is received on a RX_PORT and performs L2 forwarding.
+for each packet that is received on an RX_PORT and performs L2 forwarding.
The destination port is the adjacent port from the enabled portmask, that is,
if the first four ports are enabled (portmask 0xf),
ports 0 and 1 forward into each other, and ports 2 and 3 forward into each other.
@@ -54,37 +54,37 @@ The application requires a number of command line options:
where,
-* p PORTMASK: A hexadecimal bitmask of the ports to configure (default is all the ports)
+* p PORTMASK: A hexadecimal bitmask of the ports to configure. (Default is all the ports.)
-* q NQ: A number of queues (=ports) per lcore (default is 1)
+* q NQ: A number of queues (=ports) per lcore. (Default is 1.)
-* s: manage all ports from single core
+* s: manage all ports from a single core.
-* T PERIOD: statistics will be refreshed each PERIOD seconds
+* T PERIOD: statistics will be refreshed each PERIOD seconds.
- (0 to disable, 10 default, 86400 maximum)
+ (0 to disable, 10 default, 86400 maximum.)
-* cdev_type: select preferred crypto device type: HW, SW or anything (ANY)
+* cdev_type: select preferred crypto device type: HW, SW or anything (ANY).
- (default is ANY)
+ (Default is ANY.)
* chain: select the operation chaining to perform: Cipher->Hash (CIPHER_HASH),
Hash->Cipher (HASH_CIPHER), Cipher (CIPHER_ONLY), Hash (HASH_ONLY)
- or AEAD (AEAD)
+ or AEAD (AEAD).
- (default is Cipher->Hash)
+ (Default is Cipher->Hash.)
-* cipher_algo: select the ciphering algorithm (default is aes-cbc)
+* cipher_algo: select the ciphering algorithm. (Default is aes-cbc.)
-* cipher_op: select the ciphering operation to perform: ENCRYPT or DECRYPT
+* cipher_op: select the ciphering operation to perform: ENCRYPT or DECRYPT.
- (default is ENCRYPT)
+ (Default is ENCRYPT.)
* cipher_dataunit_len: set the length of the cipher data-unit.
-* cipher_key: set the ciphering key to be used. Bytes has to be separated with ":"
+* cipher_key: set the ciphering key to be used. Bytes have to be separated with ":".
* cipher_key_random_size: set the size of the ciphering key,
@@ -92,19 +92,19 @@ where,
Note that if --cipher_key is used, this will be ignored.
-* cipher_iv: set the cipher IV to be used. Bytes has to be separated with ":"
+* cipher_iv: set the cipher IV to be used. Bytes have to be separated with ":".
* cipher_iv_random_size: set the size of the cipher IV, which will be generated randomly.
Note that if --cipher_iv is used, this will be ignored.
-* auth_algo: select the authentication algorithm (default is sha1-hmac)
+* auth_algo: select the authentication algorithm. (Default is sha1-hmac.)
-* auth_op: select the authentication operation to perform: GENERATE or VERIFY
+* auth_op: select the authentication operation to perform: GENERATE or VERIFY.
- (default is GENERATE)
+ (Default is GENERATE.)
-* auth_key: set the authentication key to be used. Bytes has to be separated with ":"
+* auth_key: set the authentication key to be used. Bytes have to be separated with ":".
* auth_key_random_size: set the size of the authentication key,
@@ -112,19 +112,19 @@ where,
Note that if --auth_key is used, this will be ignored.
-* auth_iv: set the auth IV to be used. Bytes has to be separated with ":"
+* auth_iv: set the auth IV to be used. Bytes have to be separated with ":".
* auth_iv_random_size: set the size of the auth IV, which will be generated randomly.
Note that if --auth_iv is used, this will be ignored.
-* aead_algo: select the AEAD algorithm (default is aes-gcm)
+* aead_algo: select the AEAD algorithm. (Default is aes-gcm.)
-* aead_op: select the AEAD operation to perform: ENCRYPT or DECRYPT
+* aead_op: select the AEAD operation to perform: ENCRYPT or DECRYPT.
- (default is ENCRYPT)
+ (Default is ENCRYPT.)
-* aead_key: set the AEAD key to be used. Bytes has to be separated with ":"
+* aead_key: set the AEAD key to be used. Bytes have to be separated with ":".
* aead_key_random_size: set the size of the AEAD key,
@@ -132,13 +132,13 @@ where,
Note that if --aead_key is used, this will be ignored.
-* aead_iv: set the AEAD IV to be used. Bytes has to be separated with ":"
+* aead_iv: set the AEAD IV to be used. Bytes have to be separated with ":".
* aead_iv_random_size: set the size of the AEAD IV, which will be generated randomly.
Note that if --aead_iv is used, this will be ignored.
-* aad: set the AAD to be used. Bytes has to be separated with ":"
+* aad: set the AAD to be used. Bytes have to be separated with ":".
* aad_random_size: set the size of the AAD, which will be generated randomly.
@@ -151,9 +151,9 @@ where,
* cryptodev_mask: A hexadecimal bitmask of the cryptodevs to be used by the
application.
- (default is all cryptodevs).
+ (Default is all cryptodevs.)
-* [no-]mac-updating: Enable or disable MAC addresses updating (enabled by default).
+* [no-]mac-updating: Enable or disable MAC addresses updating. (Enabled by default.)
The application requires that crypto devices capable of performing
@@ -165,7 +165,7 @@ To run the application in linux environment with 2 lcores, 2 ports and 2 crypto
.. code-block:: console
- $ ./<build_dir>/examples/dpdk-l2fwd-crypto -l 0-1 -n 4 --vdev "crypto_aesni_mb0" \
+ $ ./<build_dir>/examples/dpdk-l2fwd-crypto -l 0-1 --vdev "crypto_aesni_mb0" \
--vdev "crypto_aesni_mb1" -- -p 0x3 --chain CIPHER_HASH \
--cipher_op ENCRYPT --cipher_algo aes-cbc \
--cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f \
@@ -179,7 +179,7 @@ and the Environment Abstraction Layer (EAL) options.
* The ``l2fwd-crypto`` sample application requires IPv4 packets for crypto operation.
- * If multiple Ethernet ports is passed, then equal number of crypto devices are to be passed.
+ * If multiple Ethernet ports are passed, then equal number of crypto devices are to be passed.
* All crypto devices shall use the same session.
@@ -187,7 +187,7 @@ Explanation
-----------
The L2 forward with Crypto application demonstrates the performance of a crypto operation
-on a packet received on a RX PORT before forwarding it to a TX PORT.
+on a packet received on an RX PORT before forwarding it to a TX PORT.
The following figure illustrates a sample flow of a packet in the application,
from reception until transmission.
@@ -196,7 +196,7 @@ from reception until transmission.
.. figure:: img/l2_fwd_encrypt_flow.*
- Encryption flow Through the L2 Forwarding with Crypto Application
+ Encryption flow through the L2 Forwarding with Crypto Application
The following sections provide some explanation of the application.
@@ -206,8 +206,8 @@ Crypto operation specification
All the packets received in all the ports get transformed by the crypto device/s
(ciphering and/or authentication).
-The crypto operation to be performed on the packet is parsed from the command line
-(go to "Running the Application" section for all the options).
+The crypto operation to be performed on the packet is parsed from the command line.
+(Go to "Running the Application" section for all the options.)
If no parameter is passed, the default crypto operation is:
@@ -244,7 +244,7 @@ when running the application.
The initialize_cryptodevs() function performs the device initialization.
It iterates through the list of the available crypto devices and
-check which ones are capable of performing the operation.
+checks which ones are capable of performing the operation.
Each device has a set of capabilities associated with it,
which are stored in the device info structure, so the function checks if the operation
is within the structure of each device.
@@ -291,7 +291,7 @@ This session is created and is later attached to the crypto operation:
Crypto operation creation
~~~~~~~~~~~~~~~~~~~~~~~~~
-Given N packets received from a RX PORT, N crypto operations are allocated
+Given N packets received from an RX PORT, N crypto operations are allocated
and filled:
.. literalinclude:: ../../../examples/l2fwd-crypto/main.c