#
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 ...
|
#
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 ...
|
#
45ced711 |
| 17-May-2023 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: fix runtime parameter test
TX adapter capability check logic is simplified. The UT has been updated to skip the test, if the API to set runtime parameters is not supported.
Fixes:
eventdev/eth_tx: fix runtime parameter test
TX adapter capability check logic is simplified. The UT has been updated to skip the test, if the API to set runtime parameters is not supported.
Fixes: 1d176c7add08 ("eventdev/eth_tx: support runtime set/get parameters") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
show more ...
|
#
1d176c7a |
| 10-Feb-2023 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: support runtime set/get parameters
The adapter runtime configuration parameters defined in the struct rte_event_eth_tx_adapter_runtime_params can be configured and retrieved using r
eventdev/eth_tx: support runtime set/get parameters
The adapter runtime configuration parameters defined in the struct rte_event_eth_tx_adapter_runtime_params can be configured and retrieved using rte_event_eth_tx_adapter_runtime_params_set() and rte_event_eth_tx_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>
|
#
a870c7e8 |
| 07-Jan-2023 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: fix devices loop
Adapter service function is using RTE_ETH_FOREACH_DEV() macro for looping through all available eth devices and flushing any pending buffered packets.
When Traffic
eventdev/eth_tx: fix devices loop
Adapter service function is using RTE_ETH_FOREACH_DEV() macro for looping through all available eth devices and flushing any pending buffered packets.
When Traffic Management nodes (vports) are added and deleted dynamically, there is a possibility of accessing the device info memory beyond the allocated limit which can result in segfaults. Fixed the logic to prevent illegal memory access.
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
show more ...
|
#
72fc5337 |
| 12-Jan-2023 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: update reconfigure logic
When rte_event_eth_tx_adapter_create() is used for creating adapter instance, eventdev is reconfigured with additional ``rte_event_dev_config::nb_event_port
eventdev/eth_tx: update reconfigure logic
When rte_event_eth_tx_adapter_create() 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 is no longer need to configure the eventdev with ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter required for eth_tx adapter when the adapter is created using above mentioned API.
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 ...
|
#
75c5bfc3 |
| 21-Oct-2022 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: fix queue delete
To delete all the queues of an ethdev device associated with adapter instance the queue_id can be passed as -1 to the queue delete API.
When a subset of queues of
eventdev/eth_tx: fix queue delete
To delete all the queues of an ethdev device associated with adapter instance the queue_id can be passed as -1 to the queue delete API.
When a subset of queues of a ethdev device are associated, the queue delete logic is exiting without deleting the queues in some cases (higher numbered associated queues) for above scenario as the queue delete logic is not checking all the queue association status.
This patch fixes this issue by checking the queue association status of all the queues of the ethernet device.
Fixes: 741b499e6421 ("eventdev/eth_tx: fix queue delete logic") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
show more ...
|
#
35d05235 |
| 10-Oct-2022 |
Mattias Rönnblom <mattias.ronnblom@ericsson.com> |
eventdev/eth_tx: support appropriately report idle
Update the Event Ethernet Tx Adapter's service function to report as idle (i.e., return -EAGAIN) in case no events were dequeued from the event dev
eventdev/eth_tx: support appropriately report idle
Update the Event Ethernet Tx Adapter's service function to report as idle (i.e., return -EAGAIN) in case no events were dequeued from the event device and no Ethernet frames were sent out on the wire.
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 ...
|
#
3c3328ae |
| 26-Sep-2022 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: add queue start/stop API
Add support to start or stop a particular queue that is associated with the adapter.
Start function enables the Tx adapter to start enqueueing packets to t
eventdev/eth_tx: add queue start/stop API
Add support to start or stop a particular queue that is associated with the adapter.
Start function enables the Tx adapter to start enqueueing packets to the Tx queue.
Stop function stops the Tx adapter from enqueueing any packets to the Tx queue. The stop API also frees any packets that may have been buffered for this queue. All in-flight packets destined to the queue are freed by the adapter runtime until the queue is started again.
Signed-off-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 ...
|
#
fbb9f7e2 |
| 26-Jul-2022 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: fix adapter stop
adapter_stop function is stopping the adapter service using rte_service_runstate_set() API and waiting until rte_service_may_be_active() API returns stopped state i
eventdev/eth_tx: fix adapter stop
adapter_stop function is stopping the adapter service using rte_service_runstate_set() API and waiting until rte_service_may_be_active() API returns stopped state in an infinite loop.
This results in hang issues if application calls rte_service_lcore_stop() before adapter stop.
Remove the state check after setting the service state which avoids running into hang issues. This also makes Tx adapter stop inline with remaining adapters.
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
show more ...
|
#
2ab9869c |
| 26-Jul-2022 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: add spinlock for adapter start/stop
Add spinlock protection for tx adapter stop and start APIs add null check for tx adapter service pointer in adapter start/stop APIs.
Fixes: a3bb
eventdev/eth_tx: add spinlock for adapter start/stop
Add spinlock protection for tx adapter stop and start APIs add null check for tx adapter service pointer in adapter start/stop APIs.
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
show more ...
|
#
b2963cbd |
| 29-Aug-2022 |
Ganapati Kundapura <ganapati.kundapura@intel.com> |
eventdev/eth_tx: add adapter instance get API
Added rte_event_eth_tx_adapter_instance_get() to get the adapter instance id for specified ethernet device id and tx queue index.
Added testcase for rt
eventdev/eth_tx: add adapter instance get API
Added rte_event_eth_tx_adapter_instance_get() to get the adapter instance id for specified ethernet device id and tx queue index.
Added testcase for rte_event_eth_tx_adapter_instance_get().
Added rte_event_eth_tx_adapter_instance_get() details in prog_guide/event_ethernet_tx_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 ...
|
#
881d4b4d |
| 23-Jun-2022 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: fix queue delete
Add spinlock protection in queue delete function. This protects the data path while the queue delete operation is in progress.
Fixes: a3bbf2e09756 ("eventdev: add
eventdev/eth_tx: fix queue delete
Add spinlock protection in queue delete function. This protects the data path while the queue delete operation is in progress.
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
show more ...
|
#
3d6e9dd4 |
| 16-Jun-2022 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: fix adapter creation
During adapter create, memory is allocated for storing event port configuration which is freed during adapter free. The following error is seen during free "EAL
eventdev/eth_tx: fix adapter creation
During adapter create, memory is allocated for storing event port configuration which is freed during adapter free. The following error is seen during free "EAL: Error: Invalid memory"
The service data pointer storage for txa_service_data_array is allocated during adapter create with incorrect size which is less than the required size. Initialization of this memory causes buffer overflow and result in metadata overwrite of event port config memory allocated above and results in the above error message during free.
Allocating the correct size of memory for txa_service_data_array prevents overwriting other memory areas like event port config memory.
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
show more ...
|
#
bd0a32d1 |
| 09-Feb-2022 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: fix queue add error code
The internal function txa_service_queue_add() is returning 0 in case of error, correct this logic to return a negative value to indicate failure.
Fixes: a3
eventdev/eth_tx: fix queue add error code
The internal function txa_service_queue_add() is returning 0 in case of error, correct this logic to return a negative value to indicate failure.
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
show more ...
|
#
741b499e |
| 09-Nov-2021 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev/eth_tx: fix queue delete logic
This patch fixes heap-use-after-free reported by ASan.
The application can use the queue_id as `-1` to delete all the queues of the eth_device that are added
eventdev/eth_tx: fix queue delete logic
This patch fixes heap-use-after-free reported by ASan.
The application can use the queue_id as `-1` to delete all the queues of the eth_device that are added to tx_adapter instance. In above case, the queue_del API is trying to use number of queues from adapter level instead of eth_device queues. When there are queues added from multiple eth devices, it will result in heap-use-after-free as reported by ASAN.
This patch fixes the queue_del API to use correct number of queues.
Bugzilla ID: 869 Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Tested-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
f26f2ca6 |
| 18-Oct-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: make trace API internal
Slowpath trace APIs are only used in rte_eventdev.c so make them as internal.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jay Jayatheerthan
eventdev: make trace API internal
Slowpath trace APIs are only used in rte_eventdev.c so make them as internal.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
#
f9bdee26 |
| 13-Oct-2021 |
Konstantin Ananyev <konstantin.ananyev@intel.com> |
ethdev: hide internal structures
Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related data into private header (ethdev_driver.h). Few minor changes to keep DPDK building after that.
ethdev: hide internal structures
Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related data into private header (ethdev_driver.h). Few minor changes to keep DPDK building after that.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Tested-by: Feifei Wang <feifei.wang2@arm.com>
show more ...
|
#
6922655c |
| 24-Jul-2021 |
Naga Harish K S V <s.v.naga.harish.k@intel.com> |
eventdev: fix event port setup in Tx adapter
The event port config set by application in rte_event_eth_tx_adapter_create API is modified in default configuration callback function. This patch remove
eventdev: fix event port setup in Tx adapter
The event port config set by application in rte_event_eth_tx_adapter_create API is modified in default configuration callback function. This patch removes this hardcode to use application provided event port config value.
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
show more ...
|
#
99a2dd95 |
| 20-Apr-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also m
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal'
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|