#
f9e1d67f |
| 25-Oct-2024 |
Bruce Richardson <bruce.richardson@intel.com> |
net: add IPv4 cksum function for simple cases
There are multiple instances in the DPDK app folder where we set up an IP header and then compute the checksum field by direct addition of nine uint16_t
net: add IPv4 cksum function for simple cases
There are multiple instances in the DPDK app folder where we set up an IP header and then compute the checksum field by direct addition of nine uint16_t values in the header (20 bytes less the cksum field). The existing rte_ip.h checksum function is more general than necessary here and requires that the checksum field is already set to zero - rather than having it skipped.
Fix the code duplication present in the apps by creating a new rte_ipv4_cksum_simple function - taking the code from the existing testpmd icmpecho.c file - and using that in app/test, testpmd and testeventdev.
Within that new function, we can adjust slightly how the typecasting to uint16_t is done, and thereby ensure that the app can all be compiled without -Wno-address-of-packed-member compiler flag.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
5f111f92 |
| 31-Oct-2022 |
Volodymyr Fialko <vfialko@marvell.com> |
app/eventdev: fix limits in error message
Swap min and max values to match their labels.
Fixes: 2eaa37b86635 ("app/eventdev: add vector mode in pipeline test") Cc: stable@dpdk.org
Signed-off-by: V
app/eventdev: fix limits in error message
Swap min and max values to match their labels.
Fixes: 2eaa37b86635 ("app/eventdev: add vector mode in pipeline test") Cc: stable@dpdk.org
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
#
6dc1d293 |
| 26-Sep-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: fix cleanup flush
During cleanup `rte_event_port_quiesce` should be called irrespective of whether an event has been dequeued or not to flush any prefetched events.
Fixes: 7da008df0c8
app/eventdev: fix cleanup flush
During cleanup `rte_event_port_quiesce` should be called irrespective of whether an event has been dequeued or not to flush any prefetched events.
Fixes: 7da008df0c8d ("app/eventdev: use port quiescing") Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
#
3a304711 |
| 21-Sep-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
examples: update event vector free routine
Update event vector free routine to account for element offset while freeing elements.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
|
#
c9043624 |
| 25-May-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: add Tx first option to pipeline mode
Add Tx first support to pipeline mode tests, the transmission is done on all the ethernet ports. This helps in testing eventdev performance with st
app/eventdev: add Tx first option to pipeline mode
Add Tx first support to pipeline mode tests, the transmission is done on all the ethernet ports. This helps in testing eventdev performance with standalone loopback interfaces.
Example: ./dpdk-test-eventdev ... -- ... --tx_first 512
512 defines the number of packets to transmit. Add an option Tx packet size, the default packet size is 64.
Following example can change packet size value as 320.
Example: ./dpdk-test-eventdev ... -- ... --tx_first 512 --tx_pkt_sz 320
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
d67332bc |
| 23-May-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: use mempool cache for vector pool
Use mempool cache for vector mempool as vectors are freed by the Tx routine, also increase the minimum pool size to 512 to avoid resource contention o
app/eventdev: use mempool cache for vector pool
Use mempool cache for vector mempool as vectors are freed by the Tx routine, also increase the minimum pool size to 512 to avoid resource contention on Rx.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
7da008df |
| 13-May-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: use port quiescing
Quiesce event ports used by the workers core on exit to free up any outstanding resources.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin
app/eventdev: use port quiescing
Quiesce event ports used by the workers core on exit to free up any outstanding resources.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
f0b68c0b |
| 13-May-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: clean up worker state before exit
Event ports are configured to implicitly release the scheduler contexts currently held in the next call to rte_event_dequeue_burst(). A worker core mi
app/eventdev: clean up worker state before exit
Event ports are configured to implicitly release the scheduler contexts currently held in the next call to rte_event_dequeue_burst(). A worker core might still hold a scheduling context during exit, as the next call to rte_event_dequeue_burst() is never made. This might lead to deadlock based on the worker exit timing and when there are very less number of flows.
Add clean up function to release any scheduling contexts held by the worker by using RTE_EVENT_OP_RELEASE.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
a734e738 |
| 13-May-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: simplify signal handling and teardown
Remove rte_*_dev calls from signal handler callback as signal handlers are supposed to be light weight.
Split ethdev teardown into Rx and Tx sect
app/eventdev: simplify signal handling and teardown
Remove rte_*_dev calls from signal handler callback as signal handlers are supposed to be light weight.
Split ethdev teardown into Rx and Tx sections, wait for workers to finish processing after disabling Rx to allow workers to complete processing currently held packets.
Verified SW event device on ARM64 using the following command:
./build/app/dpdk-test-eventdev -l 7-23 -s 0xf00 --vdev=event_sw0 -a 0002:02:00.0 -- --prod_type_ethdev --nb_pkts=0 --verbose 2 --test=pipeline_queue --stlist=o --wlcores 16-23
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
295968d1 |
| 22-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to have 'rte_eth' prefix.
All internal components switched to using new names.
Syntax fixed on lines that this patch touches.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Wisam Jaddo <wisamm@nvidia.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
929ebdd5 |
| 15-Sep-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev/eth_rx: simplify event vector config
Include vector configuration into the structure ``rte_event_eth_rx_adapter_queue_conf`` that is used to configure Rx adapter ethernet device Rx queue pa
eventdev/eth_rx: simplify event vector config
Include vector configuration into the structure ``rte_event_eth_rx_adapter_queue_conf`` that is used to configure Rx adapter ethernet device Rx queue parameters. This simplifies event vector configuration as it avoids splitting configuration per Rx queue.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
b563c142 |
| 18-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: remove jumbo offload flag
Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.
Instead of drivers announce this capability, application can deduct the capability by checking reported 'dev_in
ethdev: remove jumbo offload flag
Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.
Instead of drivers announce this capability, application can deduct the capability by checking reported 'dev_info.max_mtu' or 'dev_info.max_rx_pktlen'.
And instead of application setting this flag explicitly to enable jumbo frames, this can be deduced by driver by comparing requested 'mtu' to 'RTE_ETHER_MTU'.
Removing this additional configuration for simplification.
Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Acked-by: Michal Krawczyk <mk@semihalf.com>
show more ...
|
#
1bb4a528 |
| 18-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: fix max Rx packet length
There is a confusion on setting max Rx packet length, this patch aims to clarify it.
'rte_eth_dev_configure()' API accepts max Rx packet size via 'uint32_t max_rx_p
ethdev: fix max Rx packet length
There is a confusion on setting max Rx packet length, this patch aims to clarify it.
'rte_eth_dev_configure()' API accepts max Rx packet size via 'uint32_t max_rx_pkt_len' field of the config struct 'struct rte_eth_conf'.
Also 'rte_eth_dev_set_mtu()' API can be used to set the MTU, and result stored into '(struct rte_eth_dev)->data->mtu'.
These two APIs are related but they work in a disconnected way, they store the set values in different variables which makes hard to figure out which one to use, also having two different method for a related functionality is confusing for the users.
Other issues causing confusion is: * maximum transmission unit (MTU) is payload of the Ethernet frame. And 'max_rx_pkt_len' is the size of the Ethernet frame. Difference is Ethernet frame overhead, and this overhead may be different from device to device based on what device supports, like VLAN and QinQ. * 'max_rx_pkt_len' is only valid when application requested jumbo frame, which adds additional confusion and some APIs and PMDs already discards this documented behavior. * For the jumbo frame enabled case, 'max_rx_pkt_len' is an mandatory field, this adds configuration complexity for application.
As solution, both APIs gets MTU as parameter, and both saves the result in same variable '(struct rte_eth_dev)->data->mtu'. For this 'max_rx_pkt_len' updated as 'mtu', and it is always valid independent from jumbo frame.
For 'rte_eth_dev_configure()', 'dev->data->dev_conf.rxmode.mtu' is user request and it should be used only within configure function and result should be stored to '(struct rte_eth_dev)->data->mtu'. After that point both application and PMD uses MTU from this variable.
When application doesn't provide an MTU during 'rte_eth_dev_configure()' default 'RTE_ETHER_MTU' value is used.
Additional clarification done on scattered Rx configuration, in relation to MTU and Rx buffer size. MTU is used to configure the device for physical Rx/Tx size limitation, Rx buffer is where to store Rx packets, many PMDs use mbuf data buffer size as Rx buffer size. PMDs compare MTU against Rx buffer size to decide enabling scattered Rx or not. If scattered Rx is not supported by device, MTU bigger than Rx buffer size should fail.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|
#
dbd4defe |
| 01-Jul-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: add option to enable per port pool
Add option to configure unique mempool for each ethernet device port. The new option available with `pipeline_atq` and `pipeline_queue` tests.
Signe
app/eventdev: add option to enable per port pool
Add option to configure unique mempool for each ethernet device port. The new option available with `pipeline_atq` and `pipeline_queue` tests.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
2eaa37b8 |
| 31-Mar-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: add vector mode in pipeline test
Add event vector support in pipeline tests. By default this mode is disabled, it can be enabled by using the option --enable_vector. example: dpdk-tes
app/eventdev: add vector mode in pipeline test
Add event vector support in pipeline tests. By default this mode is disabled, it can be enabled by using the option --enable_vector. example: dpdk-test-eventdev -l 7-23 -s 0xff00 -- --prod_type_ethdev --nb_pkts=0 --verbose 2 --test=pipeline_atq --stlist=a --wlcores=20-23 --enable_vector
Additional options to configure vector size and vector timeout are also implemented and can be used by specifying --vector_size and --vector_tmo_ns
This patch also adds a new option to set the number of Rx queues configured per event eth rx adapter. example: dpdk-test-eventdev -l 7-23 -s 0xff00 -- --prod_type_ethdev --nb_pkts=0 --verbose 2 --test=pipeline_atq --stlist=a --wlcores=20-23 --nb_eth_queues 4
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
c56563f1 |
| 14-Jan-2021 |
Feifei Wang <feifei.wang2@arm.com> |
app/eventdev: remove unnecessary barrier in pipeline test
For "processed_pkts" function, no operations should keep the order that being executed before loading "worker[i].processed_pkts".
Signed-of
app/eventdev: remove unnecessary barrier in pipeline test
For "processed_pkts" function, no operations should keep the order that being executed before loading "worker[i].processed_pkts".
Signed-off-by: Feifei Wang <feifei.wang2@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
#
cb056611 |
| 15-Oct-2020 |
Stephen Hemminger <stephen@networkplumber.org> |
eal: rename lcore master and slave
Replace master lcore with main lcore and replace slave lcore with worker lcore.
Keep the old functions and macros but mark them as deprecated for this release.
T
eal: rename lcore master and slave
Replace master lcore with main lcore and replace slave lcore with worker lcore.
Keep the old functions and macros but mark them as deprecated for this release.
The "--master-lcore" command line option is also deprecated and any usage will print a warning and use "--main-lcore" as replacement.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
#
95aef851 |
| 08-Oct-2020 |
Harman Kalra <hkalra@marvell.com> |
app/eventdev: enable fast free offload
Since we are not holding the mbufs or creating any references in the app, hence mbuf fast free offload can be enabled.
Signed-off-by: Harman Kalra <hkalra@mar
app/eventdev: enable fast free offload
Since we are not holding the mbufs or creating any references in the app, hence mbuf fast free offload can be enabled.
Signed-off-by: Harman Kalra <hkalra@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
40984bf2 |
| 13-May-2020 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: check Tx adapter service ID
Fix unchecked return values reported by coverity.
Coverity issue: 357755 Fixes: 032a965a8f1d ("app/eventdev: support Tx adapter") Cc: stable@dpdk.org
Sign
app/eventdev: check Tx adapter service ID
Fix unchecked return values reported by coverity.
Coverity issue: 357755 Fixes: 032a965a8f1d ("app/eventdev: support Tx adapter") Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
9fdc9986 |
| 02-Apr-2020 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: validate producer type
Validate the producer type used for pipeline and order test suites.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
|
#
a8d88bfb |
| 21-Nov-2019 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: check function errors
Fix unchecked return values reported by coverity.
Coverity Issue: 336861 Coverity Issue: 349906 Fixes: 032a965a8f1d ("app/eventdev: support Tx adapter") Cc: stab
app/eventdev: check function errors
Fix unchecked return values reported by coverity.
Coverity Issue: 336861 Coverity Issue: 349906 Fixes: 032a965a8f1d ("app/eventdev: support Tx adapter") Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
99c25664 |
| 07-Nov-2019 |
Andrzej Ostruszka <aostruszka@marvell.com> |
app/eventdev: clean LTO warnings
During LTO build compiler reports some 'false positive' warnings about variables being possibly used uninitialized. This patch silences these warnings.
Exemplary c
app/eventdev: clean LTO warnings
During LTO build compiler reports some 'false positive' warnings about variables being possibly used uninitialized. This patch silences these warnings.
Exemplary compiler warning to suppress (with LTO enabled): error: ‘service_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized] ret = evt_service_setup(service_id);
Signed-off-by: Andrzej Ostruszka <aostruszka@marvell.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
fc8b96fb |
| 30-Sep-2019 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: add options for mbuf and packet sizes
Add options to set mbuf size and max packet size which allow the user to enable jumbo frames and Rx/Tx scatter gather. Arrange `struct evt_options
app/eventdev: add options for mbuf and packet sizes
Add options to set mbuf size and max packet size which allow the user to enable jumbo frames and Rx/Tx scatter gather. Arrange `struct evt_options` based on ascending order of data type to make it more readable.
Packet mbuf size can be modified by using `--mbuf_sz=N`. Max packet size can be modified by using `--max_pkt_sz=N`. These options are only applicable `pipeline_atq` and `pipeline_queue` tests.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
70e51a0e |
| 14-Sep-2019 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
app: check code of promiscuous mode switch
rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across
app: check code of promiscuous mode switch
rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across apps according to new return type.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
77339255 |
| 12-Sep-2019 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
app: check status of getting ethdev info
rte_eth_dev_info_get() return value was changed from void to int, so this patch modify rte_eth_dev_info_get() usage across apps according to its new return t
app: check status of getting ethdev info
rte_eth_dev_info_get() return value was changed from void to int, so this patch modify rte_eth_dev_info_get() usage across apps according to its new return type.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|