| #
73f7ae1d |
| 06-Dec-2024 |
Gavin Hu <gahu@nvidia.com> |
net/mlx5: fix polling CQEs
In certain situations, the receive queue (rxq) fails to replenish its internal ring with memory buffers (mbufs) from the pool. This can happen when the pool has a limited
net/mlx5: fix polling CQEs
In certain situations, the receive queue (rxq) fails to replenish its internal ring with memory buffers (mbufs) from the pool. This can happen when the pool has a limited number of mbufs allocated, and the user application holds incoming packets for an extended period, resulting in a delayed release of mbufs. Consequently, the pool becomes depleted, preventing the rxq from replenishing from it.
There was a bug in the behavior of the vectorized rxq_cq_process_v routine, which handled completion queue entries (CQEs) in batches of four. This routine consistently accessed four mbufs from the internal queue ring, regardless of whether they had been replenished. As a result, it could access mbufs that no longer belonged to the poll mode driver (PMD).
The fix involves checking if there are four replenished mbufs available before allowing rxq_cq_process_v to handle the batch. Once replenishment succeeds during the polling process, the routine will resume its operation.
Fixes: 1ded26239aa0 ("net/mlx5: refactor vectorized Rx") Cc: stable@dpdk.org
Reported-by: Changqi Dingluo <dingluochangqi.ck@bytedance.com> Signed-off-by: Gavin Hu <gahu@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
| #
950820f1 |
| 20-Jan-2025 |
Zaiyu Wang <zaiyuwang@trustnetic.com> |
net/ngbe: add probe and remove for VF device
Introduce virtual function driver in ngbe PMD, add simple init and uninit function to probe and remove the device.
Signed-off-by: Zaiyu Wang <zaiyuwang@
net/ngbe: add probe and remove for VF device
Introduce virtual function driver in ngbe PMD, add simple init and uninit function to probe and remove the device.
Signed-off-by: Zaiyu Wang <zaiyuwang@trustnetic.com>
show more ...
|
| #
7d73fa47 |
| 15-Jan-2025 |
Ariel Otilibili <otilibil@eurecom.fr> |
examples/flow_filtering: remove duplicate assignment
Last action in template was being assigned twice.
Coverity issue: 451221 Fixes: 16158f349000 ("examples/flow_filtering: introduce use cases snip
examples/flow_filtering: remove duplicate assignment
Last action in template was being assigned twice.
Coverity issue: 451221 Fixes: 16158f349000 ("examples/flow_filtering: introduce use cases snippets") Cc: stable@dpdk.org
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
show more ...
|
| #
c4f16ab0 |
| 12-Dec-2024 |
Shai Brandes <shaibran@amazon.com> |
net/ena: fix missing default LLQ policy
The driver failed to set a default llq_header_policy, causing LLQ to be disabled when the devarg value is not specified by the application.
Fixes: d7918d19d2
net/ena: fix missing default LLQ policy
The driver failed to set a default llq_header_policy, causing LLQ to be disabled when the devarg value is not specified by the application.
Fixes: d7918d19d25e ("net/ena: restructure LLQ policy user setting") Cc: stable@dpdk.org
Signed-off-by: Yosef Raisman <yraisman@amazon.com> Signed-off-by: Shai Brandes <shaibran@amazon.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
5b856206 |
| 14-Jan-2025 |
Andre Muezerie <andremue@linux.microsoft.com> |
eal/x86: fix some intrinsics header include for Windows
Error reported: ../lib/net/net_crc_sse.c:49:17: error: call to undeclared function '_mm_clmulepi64_si128'; ISO C99 and later do not support im
eal/x86: fix some intrinsics header include for Windows
Error reported: ../lib/net/net_crc_sse.c:49:17: error: call to undeclared function '_mm_clmulepi64_si128'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
The fix is to remove the unnecessary ifdef around the inclusion of header file immintrin.h. This header also contains functions that do not require AVX instructions, so should not be included only when AVX is available.
Bugzilla ID: 1595 Fixes: da826b7135a4 ("eal: introduce ymm type for AVX 256-bit") Cc: stable@dpdk.org
Reported-by: Pier Damouny <pdamouny@nvidia.com> Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
|
Revision tags: v24.11 |
|
| #
1846fe76 |
| 27-Nov-2024 |
Jianping Zhao <zhao305149619@gmail.com> |
vhost: clear ring addresses when getting vring base
Clear ring addresses during vring base retrieval to handle guest reboot scenarios correctly. This is particularly important for vdpa-blk devices w
vhost: clear ring addresses when getting vring base
Clear ring addresses during vring base retrieval to handle guest reboot scenarios correctly. This is particularly important for vdpa-blk devices where the following issue occurs:
When a guest OS with vdpa-blk device reboots, during UEFI stage, only one vring is actually used and configured. However, QEMU still sends enable messages for all configured queues. The remaining queues retain their addresses from before reboot, which reference invalid memory mappings in the rebooted guest.
The issue manifests in vq_is_ready():
static bool vq_is_ready(struct virtio_net *dev, struct vhost_virtqueue *vq) { /* Only checks pointer validity, not address freshness */ rings_ok = vq->desc && vq->avail && vq->used; ... }
vq_is_ready() incorrectly considers these queues as ready because it only checks if desc/avail/used pointers are non-NULL, but cannot detect that these addresses are stale from the previous boot.
Clear the ring addresses in vhost_user_get_vring_base() to force the guest driver to reconfigure them before use. This ensures that vq_is_ready() will return false for queues with stale addresses until they are properly reconfigured by the guest driver.
Fixes: 3ea7052f4b1b ("vhost: postpone rings addresses translation") Cc: stable@dpdk.org
Signed-off-by: Jianping Zhao <zhao305149619@gmail.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
| #
700989f5 |
| 06-Dec-2024 |
Eimear Morrissey <eimear.morrissey@huawei.com> |
ring: make dump function more verbose
The current rte_ring_dump function uses the generic rte_ring_headtail structure to access head/tail positions. This is incorrect for the RTS case where the head
ring: make dump function more verbose
The current rte_ring_dump function uses the generic rte_ring_headtail structure to access head/tail positions. This is incorrect for the RTS case where the head is stored in a different offset in the union of structs. Switching to a separate function for each sync type allows to dump correct head/tail values and extra metadata.
Signed-off-by: Eimear Morrissey <eimear.morrissey@huawei.com> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@huawei.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
|
Revision tags: v24.11-rc4, v24.11-rc3, v24.11-rc2, v24.11-rc1 |
|
| #
8750576f |
| 14-Oct-2024 |
Nandini Persad <nandinipersad361@gmail.com> |
doc: reword some sample app guides
I have reviewed these sections for grammar/clarity and made small modifications to the formatting of sections to adhere to a template which will create uniformalit
doc: reword some sample app guides
I have reviewed these sections for grammar/clarity and made small modifications to the formatting of sections to adhere to a template which will create uniformality in the sample application user guides overall.
Signed-off-by: Nandini Persad <nandinipersad361@gmail.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
| #
f5418c97 |
| 13-Nov-2024 |
Luca Vizzarro <luca.vizzarro@arm.com> |
dts: add l2fwd test suite
Add a basic L2 forwarding test suite which tests the correct functionality of the forwarding facility built-in in the DPDK.
The tests are performed with different queues n
dts: add l2fwd test suite
Add a basic L2 forwarding test suite which tests the correct functionality of the forwarding facility built-in in the DPDK.
The tests are performed with different queues numbers per port.
Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com> Signed-off-by: Thomas Wilks <thomas.wilks@arm.com> Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com> Reviewed-by: Dean Marx <dmarx@iol.unh.edu> Reviewed-by: Patrick Robb <probb@iol.unh.edu> Tested-by: Patrick Robb <probb@iol.unh.edu>
show more ...
|
| #
ecaff610 |
| 27-Sep-2024 |
Tomáš Ďurovec <tomas.durovec@pantheon.tech> |
dts: rename build target to DPDK build
Since the DPDK may already be built, some more general name is needed that includes both the DPDK location and the build config (if we are going to build).
Si
dts: rename build target to DPDK build
Since the DPDK may already be built, some more general name is needed that includes both the DPDK location and the build config (if we are going to build).
Signed-off-by: Tomáš Ďurovec <tomas.durovec@pantheon.tech> Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
show more ...
|
| #
30495f54 |
| 14-Nov-2024 |
Yong Zhang <zhang.yong25@zte.com.cn> |
raw/gdtc: introduce driver skeleton
Introduce rawdev driver support for GDTC which can help to connect two separate hosts with each other.
Signed-off-by: Yong Zhang <zhang.yong25@zte.com.cn>
|
| #
c77887ad |
| 12-Nov-2024 |
Rogelio Domínguez Hernández <rogelio.dominguez@gmail.com> |
usertools/devbind: support all VFIO no-IOMMU sysfs values
This patch adds support for 'y' and 'Y' values when reading vfio-pci unsafe_noiommu_mode flag.
Possible values were taken from linux kernel
usertools/devbind: support all VFIO no-IOMMU sysfs values
This patch adds support for 'y' and 'Y' values when reading vfio-pci unsafe_noiommu_mode flag.
Possible values were taken from linux kernel (sysfs__read_bool() in tools/lib/api/fs/fs.c)
Signed-off-by: Rogelio Domínguez Hernández <rogelio.dominguez@gmail.com> Reviewed-by: Robin Jarry <rjarry@redhat.com>
show more ...
|
| #
5d5dcd84 |
| 11-Nov-2024 |
Andre Muezerie <andremue@linux.microsoft.com> |
doc: modernize build instructions on Windows
Meson 0.57 was an unstable version and is now outdated. The referenced bug in Meson 0.58 is fixed in stable releases. Recommend the first version contain
doc: modernize build instructions on Windows
Meson 0.57 was an unstable version and is now outdated. The referenced bug in Meson 0.58 is fixed in stable releases. Recommend the first version containing the fix: 1.5.2.
Building DPDK applications that run on 32-bit Windows is currently not supported. However, some Visual Studio environments default to producing 32-bit binaries. Recommend instructing the developer prompt to produce 64-bit binaries when that is the case.
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
show more ...
|
| #
9b170cfc |
| 13-Nov-2024 |
Howard Wang <howard_wang@realsil.com.cn> |
net/r8169: add driver skeleton
Meson build infrastructure, r8169_ethdev minimal skeleton, header with Realtek NIC device and vendor IDs.
Signed-off-by: Howard Wang <howard_wang@realsil.com.cn> Revi
net/r8169: add driver skeleton
Meson build infrastructure, r8169_ethdev minimal skeleton, header with Realtek NIC device and vendor IDs.
Signed-off-by: Howard Wang <howard_wang@realsil.com.cn> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
|
Revision tags: v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2, v24.07-rc1 |
|
| #
019c1816 |
| 02-Apr-2024 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: fix LRO offload capability
Fix LRO offload capability for P7 devices. Export the capability to the application only if compressed Rx CQE mode is not enabled.
LRO aka TPA is not supported
net/bnxt: fix LRO offload capability
Fix LRO offload capability for P7 devices. Export the capability to the application only if compressed Rx CQE mode is not enabled.
LRO aka TPA is not supported when compressed CQE mode is set.
Fixes: 3b56c3ffc182 ("net/bnxt: refactor code to support P7 devices") Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Vasuthevan Maheswaran <vasuthevan.maheswaran@broadcom.com>
show more ...
|
| #
7b840046 |
| 12-Aug-2024 |
Peter Morrow <peter@graphiant.com> |
net/bnxt: fix reading SFF-8436 SFP EEPROMs
If a SFP which supports SFF-8436 is present then currently the DDM information present in the eeprom is not read. Furthermore bnxt_get_module_eeprom() will
net/bnxt: fix reading SFF-8436 SFP EEPROMs
If a SFP which supports SFF-8436 is present then currently the DDM information present in the eeprom is not read. Furthermore bnxt_get_module_eeprom() will return -EINVAL for these eeproms since the length of these eeproms is 512 bytes but we are only ever selecting 2 pages (256 bytes) to read.
Fixes: 6253a23491a4 ("net/bnxt: dump SFP module info") Cc: stable@dpdk.org
Signed-off-by: Peter Morrow <peter@graphiant.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
| #
1190f2f8 |
| 07-Nov-2024 |
Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> |
net/bnxt/tf_core: fix slice count in case of HA entry move
When entries are moved during HA, a shared move function transfers TCAM entries by using get/set message APIs, and the slice number of the
net/bnxt/tf_core: fix slice count in case of HA entry move
When entries are moved during HA, a shared move function transfers TCAM entries by using get/set message APIs, and the slice number of the entry is required to accomplish the movement. The slice number is calculated as the product of row_slice and entry size. Before calling get/set message APIs, the source entry size should be updated with the destination entry size; otherwise, it might corrupt the slice number field, which may result in writing an incorrect entry. A fix is made which now copies the entry size from the source to the destination before calling get/set message APIs, ensuring the correct slice number is modified.
Fixes: 97435d7906d7 ("net/bnxt: update Truflow core") Cc: stable@dpdk.org
Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com> Reviewed-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
| #
19da63cc |
| 30-Oct-2024 |
Lukas Sismis <sismis@cesnet.cz> |
net/bonding: promote experimental API stable
Remove rte_experimental macros from the stable functions as they have been part of the stable API since 23.11.
Signed-off-by: Lukas Sismis <sismis@cesne
net/bonding: promote experimental API stable
Remove rte_experimental macros from the stable functions as they have been part of the stable API since 23.11.
Signed-off-by: Lukas Sismis <sismis@cesnet.cz> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
29e89288 |
| 04-Nov-2024 |
Junlong Wang <wang.junlong1@zte.com.cn> |
net/zxdh: add driver skeleton
Add basic zxdh ethdev init and register PCI probe functions. Update doc files.
Signed-off-by: Junlong Wang <wang.junlong1@zte.com.cn> Acked-by: Ferruh Yigit <ferruh.yi
net/zxdh: add driver skeleton
Add basic zxdh ethdev init and register PCI probe functions. Update doc files.
Signed-off-by: Junlong Wang <wang.junlong1@zte.com.cn> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
| #
ebab0e8b |
| 07-Nov-2024 |
Konstantin Ananyev <konstantin.ananyev@huawei.com> |
examples/l3fwd: fix read beyond boundaries
ASAN report: ERROR: AddressSanitizer: unknown-crash on address 0x7ffffef92e32 at pc 0x00000053d1e9 bp 0x7ffffef92c00 sp 0x7ffffef92bf8 READ of size 16 at 0
examples/l3fwd: fix read beyond boundaries
ASAN report: ERROR: AddressSanitizer: unknown-crash on address 0x7ffffef92e32 at pc 0x00000053d1e9 bp 0x7ffffef92c00 sp 0x7ffffef92bf8 READ of size 16 at 0x7ffffef92e32 thread T0 #0 0x53d1e8 in _mm_loadu_si128 /usr/lib64/gcc/x86_64-suse-linux/11/include/emmintrin.h:703 #1 0x53d1e8 in send_packets_multi ../examples/l3fwd/l3fwd_sse.h:125 #2 0x53d1e8 in acl_send_packets ../examples/l3fwd/l3fwd_acl.c:1048 #3 0x53ec18 in acl_main_loop ../examples/l3fwd/l3fwd_acl.c:1127 #4 0x12151eb in rte_eal_mp_remote_launch ../lib/eal/common/eal_common_launch.c:83 #5 0x5bf2df in main ../examples/l3fwd/main.c:1647 #6 0x7f6d42a0d2bc in __libc_start_main (/lib64/libc.so.6+0x352bc) #7 0x527499 in _start (/home/kananyev/dpdk-l3fwd-acl/x86_64-native-linuxapp-gcc-dbg-b1/examples/dpdk-l3fwd+0x527499)
Reason for that is that send_packets_multi() uses 16B loads to access input dst_port[]and might read beyond array boundaries. Right now, it doesn't cause any real issue - junk values are ignored, also inside l3fwd we always allocate dst_port[] array on the stack, so memory beyond it is always available. Anyway, it probably need to be fixed. The patch below simply allocates extra space for dst_port[], so send_packets_multi() will never read beyond its boundaries.
Probably a better fix would be to change send_packets_multi() itself to avoid access beyond 'nb_rx' entries.
Bugzilla ID: 1502 Fixes: 94c54b4158d5 ("examples/l3fwd: rework exact-match") Cc: stable@dpdk.org
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@huawei.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
776d4753 |
| 25-Oct-2024 |
Mattias Rönnblom <mattias.ronnblom@ericsson.com> |
doc: add lcore variables guide
Add lcore variables programmer's guide. This guide gives both an overview of the API, its implementation, and alternatives to the use of lcore variables for maintainin
doc: add lcore variables guide
Add lcore variables programmer's guide. This guide gives both an overview of the API, its implementation, and alternatives to the use of lcore variables for maintaining per-lcore id data.
It has pictures, too.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Reviewed-by: Luka Jankovic <luka.jankovic@ericsson.com>
show more ...
|
| #
27918f0d |
| 14-Oct-2024 |
Tim Martin <timothym@nvidia.com> |
net/mlx5: fix real time counter reading from PCI BAR
There is the mlx5_txpp_read_clock() routine reading the 64-bit real time counter from the device PCI BAR. It introduced two issues:
- it check
net/mlx5: fix real time counter reading from PCI BAR
There is the mlx5_txpp_read_clock() routine reading the 64-bit real time counter from the device PCI BAR. It introduced two issues:
- it checks the PCI BAR mapping into process address space and tries to map this on demand. This might be problematic if something goes wrong and mapping fails. It happens on every read_clock API call, invokes kernel taking a long time and causing application malfunction.
- the 64-bit counter should be read in single atomic transaction
Fixes: 9b31fc9007f9 ("net/mlx5: fix read device clock in real time mode") Cc: stable@dpdk.org
Signed-off-by: Tim Martin <timothym@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
| #
dcb035b0 |
| 15-Oct-2024 |
Gur Stavi <gur.stavi@huawei.com> |
net/af_packet: support link status update
For net_af_packet PMD, eth_link_update was an empty function. Application may be interested in link up/down status. This patch adds implementation that upda
net/af_packet: support link status update
For net_af_packet PMD, eth_link_update was an empty function. Application may be interested in link up/down status. This patch adds implementation that updates dev_link->link_status based on socket IFF_RUNNING flag.
Signed-off-by: Gur Stavi <gur.stavi@huawei.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
aa6b4a80 |
| 14-Oct-2024 |
Huaxing Zhu <huaxing.zhu@corigine.com> |
net/nfp: add more failure logs
Add more logs to debug probe process, and modify some log level.
Signed-off-by: Huaxing Zhu <huaxing.zhu@corigine.com> Reviewed-by: Long Wu <long.wu@corigine.com> Rev
net/nfp: add more failure logs
Add more logs to debug probe process, and modify some log level.
Signed-off-by: Huaxing Zhu <huaxing.zhu@corigine.com> Reviewed-by: Long Wu <long.wu@corigine.com> Reviewed-by: Peng Zhang <peng.zhang@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
show more ...
|
| #
f5ead8f8 |
| 05-Sep-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
net/pcap: fix blocking Rx
Use pcap_next_ex rather than just pcap_next because pcap_next always blocks if there is no packets to receive.
Bugzilla ID: 1526 Fixes: 4c173302c307 ("pcap: add new driver
net/pcap: fix blocking Rx
Use pcap_next_ex rather than just pcap_next because pcap_next always blocks if there is no packets to receive.
Bugzilla ID: 1526 Fixes: 4c173302c307 ("pcap: add new driver") Cc: stable@dpdk.org
Reported-by: Ofer Dagan <ofer.d@claroty.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Tested-by: Ofer Dagan <ofer.d@claroty.com>
show more ...
|