Skip to content

Commit

Permalink
Merge branch 'DPDK:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
eroullit authored Jan 29, 2024
2 parents cde2a6c + 2ecc673 commit 9ef8d0a
Show file tree
Hide file tree
Showing 133 changed files with 5,398 additions and 2,265 deletions.
3 changes: 3 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@ Christoph Gysin <christoph.gysin@gmail.com>
Christos Ricudis <ricudis@niometrics.com>
Chris Wright <chrisw@redhat.com>
Chuanshe Zhang <zhangchuanshe@icloudshield.com>
Chuanyu Xue <chuanyu.xue@uconn.edu>
Chuhong Yao <ych@panath.cn>
Chunsong Feng <fengchunsong@huawei.com>
Churchill Khangar <churchill.khangar@intel.com>
Expand Down Expand Up @@ -815,6 +816,7 @@ Louise Kilheeney <louise.kilheeney@intel.com>
Louis Luo <llouis@vmware.com>
Louis Peens <louis.peens@corigine.com> <louis.peens@netronome.com>
Luca Boccassi <luca.boccassi@microsoft.com> <bluca@debian.org> <luca.boccassi@gmail.com> <lboccass@brocade.com> <luca.boccassi@intl.att.com>
Luca Vizzarro <luca.vizzarro@arm.com>
Luc Pelletier <lucp.at.work@gmail.com>
Lukasz Bartosik <lbartosik@marvell.com>
Lukasz Czapnik <lukasz.czapnik@intel.com>
Expand Down Expand Up @@ -1075,6 +1077,7 @@ Paul Greenwalt <paul.greenwalt@intel.com>
Paulis Gributs <paulis.gributs@intel.com>
Paul Luse <paul.e.luse@intel.com>
Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Paul Szczepanek <paul.szczepanek@arm.com>
Pavan Kumar Linga <pavan.kumar.linga@intel.com>
Pavan Nikhilesh <pbhagavatula@marvell.com> <pbhagavatula@caviumnetworks.com>
Pavel Belous <pavel.belous@aquantia.com>
Expand Down
4 changes: 2 additions & 2 deletions app/test-pmd/ieee1588fwd.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,8 @@ ieee1588_packet_fwd(struct fwd_stream *fs)
* Check that the received PTP packet is a PTP V2 packet of type
* PTP_SYNC_MESSAGE.
*/
ptp_hdr = (struct ptpv2_msg *) (rte_pktmbuf_mtod(mb, char *) +
sizeof(struct rte_ether_hdr));
ptp_hdr = rte_pktmbuf_mtod_offset(mb, struct ptpv2_msg *,
sizeof(struct rte_ether_hdr));
if (ptp_hdr->version != 0x02) {
printf("Port %u Received PTP V2 Ethernet frame with wrong PTP"
" protocol version 0x%x (should be 0x02)\n",
Expand Down
83 changes: 53 additions & 30 deletions app/test/test_cryptodev.c
Original file line number Diff line number Diff line change
Expand Up @@ -3268,8 +3268,9 @@ test_snow3g_authentication(const struct snow3g_hash_test_data *tdata)
ut_params->op);
ut_params->obuf = ut_params->op->sym->m_src;
TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf");
ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ plaintext_pad_len;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *,
plaintext_pad_len);

/* Validate obuf */
TEST_ASSERT_BUFFERS_ARE_EQUAL(
Expand Down Expand Up @@ -3362,8 +3363,9 @@ test_snow3g_authentication_verify(const struct snow3g_hash_test_data *tdata)
ut_params->op);
TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf");
ut_params->obuf = ut_params->op->sym->m_src;
ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ plaintext_pad_len;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *,
plaintext_pad_len);

/* Validate obuf */
if (ut_params->op->status == RTE_CRYPTO_OP_STATUS_SUCCESS)
Expand Down Expand Up @@ -3452,8 +3454,9 @@ test_kasumi_authentication(const struct kasumi_hash_test_data *tdata)

ut_params->obuf = ut_params->op->sym->m_src;
TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf");
ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ plaintext_pad_len;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *,
plaintext_pad_len);

/* Validate obuf */
TEST_ASSERT_BUFFERS_ARE_EQUAL(
Expand Down Expand Up @@ -3540,8 +3543,9 @@ test_kasumi_authentication_verify(const struct kasumi_hash_test_data *tdata)
ut_params->op);
TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf");
ut_params->obuf = ut_params->op->sym->m_src;
ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ plaintext_pad_len;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *,
plaintext_pad_len);

/* Validate obuf */
if (ut_params->op->status == RTE_CRYPTO_OP_STATUS_SUCCESS)
Expand Down Expand Up @@ -4994,8 +4998,9 @@ test_zuc_cipher_auth(const struct wireless_test_data *tdata)
tdata->validDataLenInBits.len,
"ZUC Ciphertext data not as expected");

ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ plaintext_pad_len;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *,
plaintext_pad_len);

/* Validate obuf */
TEST_ASSERT_BUFFERS_ARE_EQUAL(
Expand Down Expand Up @@ -5109,8 +5114,9 @@ test_snow3g_cipher_auth(const struct snow3g_test_data *tdata)
tdata->validDataLenInBits.len,
"SNOW 3G Ciphertext data not as expected");

ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ plaintext_pad_len;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *,
plaintext_pad_len);

/* Validate obuf */
TEST_ASSERT_BUFFERS_ARE_EQUAL(
Expand All @@ -5135,6 +5141,7 @@ test_snow3g_auth_cipher(const struct snow3g_test_data *tdata,
unsigned int plaintext_len;
unsigned int ciphertext_pad_len;
unsigned int ciphertext_len;
unsigned int digest_offset;

struct rte_cryptodev_info dev_info;

Expand Down Expand Up @@ -5278,9 +5285,12 @@ test_snow3g_auth_cipher(const struct snow3g_test_data *tdata,
debug_hexdump(stdout, "ciphertext expected:",
tdata->ciphertext.data, tdata->ciphertext.len >> 3);

ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ (tdata->digest.offset_bytes == 0 ?
plaintext_pad_len : tdata->digest.offset_bytes);
if (tdata->digest.offset_bytes == 0)
digest_offset = plaintext_pad_len;
else
digest_offset = tdata->digest.offset_bytes;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *, digest_offset);

debug_hexdump(stdout, "digest:", ut_params->digest,
tdata->digest.len);
Expand Down Expand Up @@ -5547,6 +5557,7 @@ test_kasumi_auth_cipher(const struct kasumi_test_data *tdata,
unsigned int plaintext_len;
unsigned int ciphertext_pad_len;
unsigned int ciphertext_len;
unsigned int digest_offset;

struct rte_cryptodev_info dev_info;

Expand Down Expand Up @@ -5692,10 +5703,12 @@ test_kasumi_auth_cipher(const struct kasumi_test_data *tdata,
debug_hexdump(stdout, "ciphertext expected:",
tdata->ciphertext.data, tdata->ciphertext.len >> 3);

ut_params->digest = rte_pktmbuf_mtod(
ut_params->obuf, uint8_t *) +
(tdata->digest.offset_bytes == 0 ?
plaintext_pad_len : tdata->digest.offset_bytes);
if (tdata->digest.offset_bytes == 0)
digest_offset = plaintext_pad_len;
else
digest_offset = tdata->digest.offset_bytes;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *, digest_offset);

debug_hexdump(stdout, "digest:", ut_params->digest,
tdata->digest.len);
Expand Down Expand Up @@ -6039,8 +6052,9 @@ test_kasumi_cipher_auth(const struct kasumi_test_data *tdata)
ciphertext = rte_pktmbuf_mtod_offset(ut_params->obuf, uint8_t *,
tdata->validCipherOffsetInBits.len >> 3);

ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ plaintext_pad_len;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *,
plaintext_pad_len);

const uint8_t *reference_ciphertext = tdata->ciphertext.data +
(tdata->validCipherOffsetInBits.len >> 3);
Expand Down Expand Up @@ -6459,8 +6473,9 @@ test_zuc_authentication(const struct wireless_test_data *tdata,
ut_params->op);
TEST_ASSERT_NOT_NULL(ut_params->op, "failed to retrieve obuf");
ut_params->obuf = ut_params->op->sym->m_src;
ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ plaintext_pad_len;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *,
plaintext_pad_len);

if (auth_op != RTE_CRYPTO_AUTH_OP_VERIFY) {
/* Validate obuf */
Expand Down Expand Up @@ -6495,6 +6510,7 @@ test_zuc_auth_cipher(const struct wireless_test_data *tdata,
unsigned int plaintext_len;
unsigned int ciphertext_pad_len;
unsigned int ciphertext_len;
unsigned int digest_offset;

struct rte_cryptodev_info dev_info;

Expand Down Expand Up @@ -6649,10 +6665,12 @@ test_zuc_auth_cipher(const struct wireless_test_data *tdata,
debug_hexdump(stdout, "ciphertext expected:",
tdata->ciphertext.data, tdata->ciphertext.len >> 3);

ut_params->digest = rte_pktmbuf_mtod(
ut_params->obuf, uint8_t *) +
(tdata->digest.offset_bytes == 0 ?
plaintext_pad_len : tdata->digest.offset_bytes);
if (tdata->digest.offset_bytes == 0)
digest_offset = plaintext_pad_len;
else
digest_offset = tdata->digest.offset_bytes;
ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *, digest_offset);

debug_hexdump(stdout, "digest:", ut_params->digest,
tdata->digest.len);
Expand Down Expand Up @@ -7937,6 +7955,7 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata,
unsigned int plaintext_len;
unsigned int ciphertext_pad_len;
unsigned int ciphertext_len;
unsigned int digest_offset;

struct rte_cryptodev_info dev_info;
struct rte_crypto_op *op;
Expand Down Expand Up @@ -8080,9 +8099,13 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata,
tdata->ciphertext.data,
tdata->ciphertext.len_bits >> 3);

ut_params->digest = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *)
+ (tdata->digest_enc.offset == 0 ?
plaintext_pad_len : tdata->digest_enc.offset);
if (tdata->digest_enc.offset == 0)
digest_offset = plaintext_pad_len;
else
digest_offset = tdata->digest_enc.offset;

ut_params->digest = rte_pktmbuf_mtod_offset(ut_params->obuf,
uint8_t *, digest_offset);

debug_hexdump(stdout, "digest:", ut_params->digest,
tdata->digest_enc.len);
Expand Down
8 changes: 8 additions & 0 deletions devtools/checkpatches.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,14 @@ check_forbidden_additions() { # <patch>
-f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
"$1" || res=1

# no output on stdout or stderr
awk -v FOLDERS="lib drivers" \
-v EXPRESSIONS="\\\<printf\\\> \\\<fprintf\\\(stdout, \\\<fprintf\\\(stderr," \
-v RET_ON_FAIL=1 \
-v MESSAGE='Writing to stdout or stderr' \
-f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
"$1" || res=1

# refrain from new additions of rte_panic() and rte_exit()
# multiple folders and expressions are separated by spaces
awk -v FOLDERS="lib drivers" \
Expand Down
4 changes: 4 additions & 0 deletions doc/guides/nics/i40e.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ For X710/XL710/XXV710,
+--------------+-----------------------+------------------+
| DPDK version | Kernel driver version | Firmware version |
+==============+=======================+==================+
| 23.11 | 2.23.17 | 9.30 |
+--------------+-----------------------+------------------+
| 23.07 | 2.22.20 | 9.20 |
+--------------+-----------------------+------------------+
| 23.03 | 2.22.18 | 9.20 |
Expand Down Expand Up @@ -167,6 +169,8 @@ For X722,
+--------------+-----------------------+------------------+
| DPDK version | Kernel driver version | Firmware version |
+==============+=======================+==================+
| 23.11 | 2.23.17 | 6.20 |
+--------------+-----------------------+------------------+
| 23.07 | 2.22.20 | 6.20 |
+--------------+-----------------------+------------------+
| 23.03 | 2.22.18 | 6.20 |
Expand Down
56 changes: 56 additions & 0 deletions doc/guides/nics/ice.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ are listed in the Tested Platforms section of the Release Notes for each release
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 23.07 | 1.12.6 | 1.3.35 | 1.3.45 | 1.3.13 | 4.3 |
+-----------+---------------+-----------------+-----------+--------------+-----------+
| 23.11 | 1.13.7 | 1.3.36 | 1.3.46 | 1.3.14 | 4.4 |
+-----------+---------------+-----------------+-----------+--------------+-----------+

Configuration
-------------
Expand Down Expand Up @@ -350,6 +352,26 @@ queue 3 using a raw pattern::

Currently, raw pattern support is limited to the FDIR and Hash engines.

Traffic Management Support
~~~~~~~~~~~~~~~~~~~~~~~~~~

The ice PMD provides support for the Traffic Management API (RTE_TM),
allow users to offload a 3-layers Tx scheduler on the E810 NIC:

- ``Port Layer``

This is the root layer, support peak bandwidth configuration,
max to 32 children.

- ``Queue Group Layer``

The middle layer, support peak / committed bandwidth, weight, priority configurations,
max to 8 children.

- ``Queue Layer``

The leaf layer, support peak / committed bandwidth, weight, priority configurations.

Additional Options
++++++++++++++++++

Expand Down Expand Up @@ -411,6 +433,40 @@ To start ``testpmd``, and add vlan 10 to port 0:
testpmd> rx_vlan add 10 0
Diagnostic Utilities
--------------------

Dump DDP Package
~~~~~~~~~~~~~~~~

Dump the runtime packet processing pipeline configuration into a binary file.
This helps the support team diagnose hardware configuration issues.

Usage::

testpmd> ddp dump <port_id> <output_file>

Dump Switch Configurations
~~~~~~~~~~~~~~~~~~~~~~~~~~

Dump detail hardware configurations related to the switch pipeline stage into a binary file.

Usage::

testpmd> ddp dump switch <port_id> <output_file>

Dump Tx Scheduling Tree
~~~~~~~~~~~~~~~~~~~~~~~

Dump the runtime Tx scheduling tree into a DOT file.

Usage::

testpmd> txsched dump <port_id> <brief|detail> <output_file>

In "brief" mode, all scheduling nodes in the tree are displayed.
In "detail" mode, each node's configuration parameters are also displayed.

Limitations or Known issues
---------------------------

Expand Down
17 changes: 17 additions & 0 deletions doc/guides/nics/intel_vf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,23 @@ Inline IPsec Support
documentation.


Diagnostic Utilities
--------------------

Register mbuf dynfield to test Tx LLDP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Register an mbuf dynfield ``IAVF_TX_LLDP_DYNFIELD`` on ``dev_start``
to indicate the need to send LLDP packet.
This dynfield needs to be set to 1 when preparing packet.

For ``dpdk-testpmd`` application, it needs to stop and restart Tx port to take effect.

Usage::

testpmd> set tx lldp on


Limitations or Knowing issues
-----------------------------

Expand Down
Loading

0 comments on commit 9ef8d0a

Please sign in to comment.