|
Revision tags: v24.11, v24.11-rc4, v24.11-rc3 |
|
| #
952b24bd |
| 14-Nov-2024 |
Bruce Richardson <bruce.richardson@intel.com> |
eventdev: fix possible array underflow/overflow
If the number of interrupts is zero, then indexing an array by "nb_rx_intr - 1" will cause an out-of-bounds write Fix this by putting in a check that
eventdev: fix possible array underflow/overflow
If the number of interrupts is zero, then indexing an array by "nb_rx_intr - 1" will cause an out-of-bounds write Fix this by putting in a check that nb_rx_intr > 0 before doing the array write.
Coverity issue: 448870 Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter") Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
|
Revision tags: v24.11-rc2, v24.11-rc1, v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2, v24.07-rc1, v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2 |
|
| #
c6552d9a |
| 04-Mar-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
lib: move alignment attribute on types for MSVC
The current location used for __rte_aligned(a) for alignment of types is not compatible with MSVC. There is only a single location accepted by both to
lib: move alignment attribute on types for MSVC
The current location used for __rte_aligned(a) for alignment of types is not compatible with MSVC. There is only a single location accepted by both toolchains.
The standard offers no alignment facility that compatibly interoperates with C and C++ but it may be achieved by relocating the placement of __rte_aligned(a) to the aforementioned location accepted by all currently supported toolchains.
To allow alignment for both compilers, do the following:
* Expand __rte_aligned(a) to __declspec(align(a)) when building with MSVC.
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag.
The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers building both C and C++.
Note: this move has an additional benefit as Doxygen is not confused anymore like for the rte_event_vector struct definition.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
|
Revision tags: v24.03-rc1, v23.11, v23.11-rc4 |
|
| #
ae282b06 |
| 17-Nov-2023 |
David Marchand <david.marchand@redhat.com> |
lib: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Stephen Hemmi
lib: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
| #
c07da8e3 |
| 06-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
lib: use dedicated logtypes and macros
No printf! When a dedicated log helper exists, use it. And no usurpation please: a library should log under its logtype (see the eventdev rx adapter update for
lib: use dedicated logtypes and macros
No printf! When a dedicated log helper exists, use it. And no usurpation please: a library should log under its logtype (see the eventdev rx adapter update for example).
Note: the RTE_ETH_VALID_PORTID_OR_GOTO_ERR_RET macro is renamed for consistency with the rest of eventdev (private) macros.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
|
Revision tags: v23.11-rc3, v23.11-rc2, v23.11-rc1 |
|
| #
53b2eaa2 |
| 04-Oct-2023 |
Bruce Richardson <bruce.richardson@intel.com> |
eventdev: drop custom OS defines
The eventdev library doesn't need to put in place its own defines for Linux and BSD. There are already defines for the OS environment in rte_config.h that can be re-
eventdev: drop custom OS defines
The eventdev library doesn't need to put in place its own defines for Linux and BSD. There are already defines for the OS environment in rte_config.h that can be re-used, but since these are just for identifying Linux/non-Linux, we can just check for the standard define '__linux__' instead.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
5083736a |
| 20-Sep-2023 |
Rahul Bhansali <rbhansali@marvell.com> |
eventdev/eth_rx: fix timestamp field register in mbuf
For eventdev internal port, timestamp dynamic field registration in mbuf is not required as that will be done from net device. For SW eventdev,
eventdev/eth_rx: fix timestamp field register in mbuf
For eventdev internal port, timestamp dynamic field registration in mbuf is not required as that will be done from net device. For SW eventdev, Rx timestamp field registration will be done during rxa service initialization.
Fixes: 83ab470d1259 ("eventdev/eth_rx: use timestamp as dynamic mbuf field") Cc: stable@dpdk.org
Signed-off-by: Rahul Bhansali <rbhansali@marvell.com> Acked-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
show more ...
|
| #
1f07a41d |
| 21-Aug-2023 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_rx: add new adapter create API
Add new API rte_event_eth_rx_adapter_create_ext_with_params() for creating Rx adapter instance. This API is similar to rte_event_eth_rx_adapter_create_ext
eventdev/eth_rx: add new adapter create API
Add new API rte_event_eth_rx_adapter_create_ext_with_params() for creating Rx adapter instance. This API is similar to rte_event_eth_rx_adapter_create_ext() with an additional input argument for adapter configuration parameters of type struct rte_event_eth_rx_adapter_params.
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
2744cb6e |
| 13-Sep-2023 |
Thomas Monjalon <thomas@monjalon.net> |
lib: remove pthread.h from includes
The header files should have the minimum embedded includes. The file pthread.h can logically be removed from rte_per_lcore.h and rte_ethdev_core.h files.
Signed-
lib: remove pthread.h from includes
The header files should have the minimum embedded includes. The file pthread.h can logically be removed from rte_per_lcore.h and rte_ethdev_core.h files.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
show more ...
|
| #
1c1abf17 |
| 13-Sep-2023 |
Thomas Monjalon <thomas@monjalon.net> |
lib: convert to internal control threads
Calls to rte_ctrl_thread_create() are replaced with rte_thread_create_internal_control(). Other pthread-related functions are replaced with the rte_thread AP
lib: convert to internal control threads
Calls to rte_ctrl_thread_create() are replaced with rte_thread_create_internal_control(). Other pthread-related functions are replaced with the rte_thread API. Only pthread_cancel() has no replacement.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
show more ...
|
|
Revision tags: v23.07, v23.07-rc4, v23.07-rc3 |
|
| #
62774b78 |
| 03-Jul-2023 |
Thomas Monjalon <thomas@monjalon.net> |
set namespace prefix to threads
When looking at threads in a system, it can be confusing to find some unknown threads without a clue it is started by DPDK.
Let's start all thread names with "dpdk-"
set namespace prefix to threads
When looking at threads in a system, it can be confusing to find some unknown threads without a clue it is started by DPDK.
Let's start all thread names with "dpdk-" plus the driver name if it comes from a driver.
One more constraint: the thread names are generally limited to 16 characters, including the NUL character.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
show more ...
|
| #
971d2b57 |
| 11-Aug-2023 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
remove C11 compatibility macro
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension_
remove C11 compatibility macro
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary and then remove definition of RTE_STD_C11 macro.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|
|
Revision tags: v23.07-rc2, v23.07-rc1 |
|
| #
eda6477d |
| 07-Apr-2023 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev/eth_rx: fix invalid memory access
Rx adapter internal service structures are only initialized when non-internal port is added to the adapter. Check if Rx adapter service is initialized to d
eventdev/eth_rx: fix invalid memory access
Rx adapter internal service structures are only initialized when non-internal port is added to the adapter. Check if Rx adapter service is initialized to determine if runtime set/get parameters are supported.
Fixes: 3716f52186af ("eventdev/eth_rx: support runtime set/get parameters") Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
show more ...
|
|
Revision tags: v23.03, v23.03-rc4 |
|
| #
186ca6d3 |
| 23-Mar-2023 |
Ganapati Kundapura <ganapati.kundapura@intel.com> |
eventdev/eth_rx: add buffer size and count in telemetry
rx_event_buf_count and rx_event_buf_size is added to structure rte_event_eth_rx_adapter_stats but they are not displayed in rxa_stats telemetr
eventdev/eth_rx: add buffer size and count in telemetry
rx_event_buf_count and rx_event_buf_size is added to structure rte_event_eth_rx_adapter_stats but they are not displayed in rxa_stats telemetry handler.
Updated handle_rxa_stats() to display rx_event_buf_count and rx_event_buf_size.
Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
|
Revision tags: v23.03-rc3, v23.03-rc2, v23.03-rc1 |
|
| #
3716f521 |
| 10-Feb-2023 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_rx: support runtime set/get parameters
The adapter runtime configuration parameters defined in the struct rte_event_eth_rx_adapter_runtime_params can be configured and retrieved using r
eventdev/eth_rx: support runtime set/get parameters
The adapter runtime configuration parameters defined in the struct rte_event_eth_rx_adapter_runtime_params can be configured and retrieved using rte_event_eth_rx_adapter_runtime_params_set() and rte_event_eth_rx_adapter_runtime_params_get() respectively.
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
7f2d9df6 |
| 02-Feb-2023 |
Amit Prakash Shukla <amitprakashs@marvell.com> |
eventdev: add trace points
Add trace points for eventdev functions.
Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Shijith Thotton <sthotton@marvell.com>
|
| #
0aedd85f |
| 03-Jan-2023 |
Shijith Thotton <sthotton@marvell.com> |
eventdev/eth_rx: fix getting adapter instance
The API to get rx adapter instance is returning error for event devices with internal port capability and eth_rx_adapter_instance_get op undefined. But
eventdev/eth_rx: fix getting adapter instance
The API to get rx adapter instance is returning error for event devices with internal port capability and eth_rx_adapter_instance_get op undefined. But as the Rx adapter is internally maintaining the queue information needed to find the instance id, event devices can opt out from defining the op. Modified code to match this logic.
Fixes: a1793ee8aba0 ("eventdev/eth_rx: add adapter instance get API") Cc: stable@dpdk.org
Signed-off-by: Shijith Thotton <sthotton@marvell.com>
show more ...
|
| #
af0785a2 |
| 12-Jan-2023 |
Bruce Richardson <bruce.richardson@intel.com> |
rename telemetry u64 functions to uint versions
Within the DPDK code-base, replace all occurrences of "rte_tel_data_add_array_u64" with "rte_tel_data_add_array_uint", and similarly replace all occur
rename telemetry u64 functions to uint versions
Within the DPDK code-base, replace all occurrences of "rte_tel_data_add_array_u64" with "rte_tel_data_add_array_uint", and similarly replace all occurrences of "rte_tel_data_add_dict_u64" with "rte_tel_data_add_dict_uint". This allows us to later mark the older functions as deprecated without hitting warnings.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ciara Power <ciara.power@intel.com>
show more ...
|
| #
29bd868c |
| 12-Jan-2023 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_rx: update reconfigure logic
When rte_event_eth_rx_adapter_create() or rte_event_eth_rx_adapter_create_with_params() is used for creating adapter instance, eventdev is reconfigured with
eventdev/eth_rx: update reconfigure logic
When rte_event_eth_rx_adapter_create() or rte_event_eth_rx_adapter_create_with_params() is used for creating adapter instance, eventdev is reconfigured with additional ``rte_event_dev_config::nb_event_ports`` parameter.
This eventdev reconfig logic is enhanced to increment the ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter if the adapter event port config is of type ``RTE_EVENT_PORT_CFG_SINGLE_LINK``.
With this change the application no longer need to configure the eventdev with ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter required for eth_rx adapter when the adapter is created using above mentioned APIs.
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
|
Revision tags: v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2, v22.11-rc1 |
|
| #
7f33abd4 |
| 10-Oct-2022 |
Mattias Rönnblom <mattias.ronnblom@ericsson.com> |
eventdev/eth_rx: support appropriately report idle
Update the Event Ethernet Rx Adapter's service function to report as idle (i.e., return -EAGAIN) in case no Ethernet frames were received from the
eventdev/eth_rx: support appropriately report idle
Update the Event Ethernet Rx Adapter's service function to report as idle (i.e., return -EAGAIN) in case no Ethernet frames were received from the ethdev and no events were enqueued to the event device.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Reviewed-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
show more ...
|
| #
0fbb55ef |
| 21-Sep-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: add element offset to event vector
Add `rte_event_vector:elem_offset:12` bit field event vector structure the bits are taken from `rte_event_vector::rsvd:15`. The element offset defines th
eventdev: add element offset to event vector
Add `rte_event_vector:elem_offset:12` bit field event vector structure the bits are taken from `rte_event_vector::rsvd:15`. The element offset defines the offset into the vector array at which valid elements start.
The valid elements count will be equal to `rte_event_vector::nb_elem`.
Update Rx/Tx adapter SW implementation to use elem_offset.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
| #
f089d628 |
| 14-Sep-2022 |
Ganapati Kundapura <ganapati.kundapura@intel.com> |
eventdev/eth_rx: remove resetting sub-event type
In rte_event_eth_rx_adapter_queue_add(), sub_event_type of rte_event structure is reset which can be used by the application to determine the process
eventdev/eth_rx: remove resetting sub-event type
In rte_event_eth_rx_adapter_queue_add(), sub_event_type of rte_event structure is reset which can be used by the application to determine the processing function.
Removed resetting of rte_event::sub_event_type
Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
show more ...
|
| #
a1793ee8 |
| 29-Aug-2022 |
Ganapati Kundapura <ganapati.kundapura@intel.com> |
eventdev/eth_rx: add adapter instance get API
Added rte_event_eth_rx_adapter_instance_get() to get adapter instance id for specified ethernet device id and rx queue index.
Added telemetry handler f
eventdev/eth_rx: add adapter instance get API
Added rte_event_eth_rx_adapter_instance_get() to get adapter instance id for specified ethernet device id and rx queue index.
Added telemetry handler for rte_event_eth_rx_adapter_instance_get().
Added test case for rte_event_eth_rx_adapter_instance_get()
Added rte_event_eth_rx_adapter_instance_get() details in prog_guide/event_ethernet_rx_adapter.rst
Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com> Reviewed-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
1acb7f54 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver defi
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver definition. Update drivers and library to use the internal header.
Some applications may have been dereferencing rte_driver objects, mark this object's accessors as stable.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
| #
8f1d23ec |
| 23-Aug-2022 |
David Marchand <david.marchand@redhat.com> |
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
| #
72b452c5 |
| 27-Aug-2022 |
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> |
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directl
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directly from the files that need them.
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|