#
655131cc |
| 20-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: factorize fwd engines Tx
Reduce code duplication by introducing a helper that takes care of transmitting, retrying if enabled and incrementing tx counter. inc_tx_burst_stats() is then u
app/testpmd: factorize fwd engines Tx
Reduce code duplication by introducing a helper that takes care of transmitting, retrying if enabled and incrementing tx counter. inc_tx_burst_stats() is then unneeded and removed.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
d3dae396 |
| 20-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: factorize fwd engines Rx
Reduce code duplication by introducing a helper that takes care of receiving packets and incrementing rx counter. inc_rx_burst_stats() is then unneeded and remo
app/testpmd: factorize fwd engines Rx
Reduce code duplication by introducing a helper that takes care of receiving packets and incrementing rx counter. inc_rx_burst_stats() is then unneeded and removed.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
180ba023 |
| 20-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: factorize fwd engines init
Reduce code duplication by introducing a helper that takes care of initialising the fs object.
While at it, remove unneeded initialisation of fwd_engine empt
app/testpmd: factorize fwd engines init
Reduce code duplication by introducing a helper that takes care of initialising the fs object.
While at it, remove unneeded initialisation of fwd_engine empty fields.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
06c20561 |
| 20-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: factorize core cycles record
Rather than have each forward engines deal with core cycles recording, move this to testpmd common code. fwd engines just need to report that they did some
app/testpmd: factorize core cycles record
Rather than have each forward engines deal with core cycles recording, move this to testpmd common code. fwd engines just need to report that they did some busy work.
By doing this, get_*_cycles() helpers are unneeded and removed.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
d00fee5d |
| 20-Feb-2023 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: bulk free mbufs
Use the bulk free helper.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Stephen Hemminger <stephe
app/testpmd: bulk free mbufs
Use the bulk free helper.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
1bcb7ba9 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: drop PCI register commands
Those commands date back to the early stages of DPDK when only PCI devices were supported. At the time, developers may have used those commands to help in deb
app/testpmd: drop PCI register commands
Those commands date back to the early stages of DPDK when only PCI devices were supported. At the time, developers may have used those commands to help in debugging their buggy^Wwork in progress drivers.
Removing them, we can drop the dependency on the PCI bus and library and make testpmd bus agnostic.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
3c4426db |
| 07-Mar-2022 |
Dmitry Kozlyuk <dkozlyuk@nvidia.com> |
app/testpmd: do not poll stopped queues
Calling Rx/Tx functions on a stopped queue is not supported. Do not run packet forwarding for streams that use stopped queues.
Each stream has a read-only "d
app/testpmd: do not poll stopped queues
Calling Rx/Tx functions on a stopped queue is not supported. Do not run packet forwarding for streams that use stopped queues.
Each stream has a read-only "disabled" field, so that lcore function can skip such streams. Forwarding engines can set this field using a new "stream_init" callback function by checking relevant queue states, which are stored along with queue configurations (not all PMDs implement rte_eth_rx/tx_queue_info_get() to query the state from there).
Fixes: 5f4ec54f1d16 ("testpmd: queue start and stop") Cc: stable@dpdk.org
Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
#
1f8cc1a3 |
| 17-Nov-2021 |
Joyce Kong <joyce.kong@arm.com> |
app: remove unneeded atomic header include
Remove the unnecessary rte_atomic.h included in app modules.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.co
app: remove unneeded atomic header include
Remove the unnecessary rte_atomic.h included in app modules.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
daa02b5c |
| 15-Oct-2021 |
Olivier Matz <olivier.matz@6wind.com> |
mbuf: add namespace to offload flags
Fix the mbuf offload flags namespace by adding an RTE_ prefix to the name. The old flags remain usable, but a deprecation warning is issued at compilation.
Sign
mbuf: add namespace to offload flags
Fix the mbuf offload flags namespace by adding an RTE_ prefix to the name. The old flags remain usable, but a deprecation warning is issued at compilation.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
5b634932 |
| 15-Oct-2021 |
Olivier Matz <olivier.matz@6wind.com> |
mbuf: mark old VLAN offload flags as deprecated
The flags PKT_TX_VLAN_PKT and PKT_TX_QINQ_PKT are marked as deprecated since commit 380a7aab1ae2 ("mbuf: rename deprecated VLAN flags") (2017). But th
mbuf: mark old VLAN offload flags as deprecated
The flags PKT_TX_VLAN_PKT and PKT_TX_QINQ_PKT are marked as deprecated since commit 380a7aab1ae2 ("mbuf: rename deprecated VLAN flags") (2017). But they were not using the RTE_DEPRECATED macro, because it did not exist at this time. Add it, and replace usage of these flags.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.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 ...
|
#
a78040c9 |
| 23-Sep-2021 |
Alvin Zhang <alvinx.zhang@intel.com> |
app/testpmd: update forward engine beginning
For each forward engine, there may be some special conditions must be met before the forwarding runs.
Adding checks for these conditions in configuring
app/testpmd: update forward engine beginning
For each forward engine, there may be some special conditions must be met before the forwarding runs.
Adding checks for these conditions in configuring is not suitable, because one condition may rely on multiple configurations, and the conditions required by each forward engine is not general.
The best solution is each forward engine has a callback to check whether these conditions are met, and then testpmd can call the callback to determine whether the forwarding can be started.
There was a void callback 'port_fwd_begin' in forward engine, it did some initialization for forwarding, this patch updates its return value then we can add some checks in it to confirm whether the forwarding can be started. In addition, this patch calls the callback before the forwarding stats is reset and then launches the forwarding engine.
Bugzilla ID: 797 Cc: stable@dpdk.org
Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
04d43857 |
| 07-Oct-2021 |
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> |
net: rename Ethernet header fields
Definition of `rte_ether_addr` structure used a workaround allowing DPDK and Windows SDK headers to be used in the same file, because Windows SDK defines `s_addr`
net: rename Ethernet header fields
Definition of `rte_ether_addr` structure used a workaround allowing DPDK and Windows SDK headers to be used in the same file, because Windows SDK defines `s_addr` as a macro. Rename `s_addr` to `src_addr` and `d_addr` to `dst_addr` to avoid the conflict and remove the workaround. Deprecation notice: https://mails.dpdk.org/archives/dev/2021-July/215270.html
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
show more ...
|
#
861e7684 |
| 19-Aug-2021 |
Zhihong Wang <wangzhihong.wzh@bytedance.com> |
app/testpmd: add option for number of flows in flowgen
Make number of flows in flowgen configurable by setting parameter --flowgen-flows=N.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.co
app/testpmd: add option for number of flows in flowgen
Make number of flows in flowgen configurable by setting parameter --flowgen-flows=N.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
08d4d507 |
| 13-Aug-2021 |
Zhihong Wang <wangzhihong.wzh@bytedance.com> |
app/testpmd: use per-core variable in flowgen
Use per-core variable for flow indexing to solve cache contention in multi-core scenarios.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com>
app/testpmd: use per-core variable in flowgen
Use per-core variable for flow indexing to solve cache contention in multi-core scenarios.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
fb15afa2 |
| 13-Aug-2021 |
Zhihong Wang <wangzhihong.wzh@bytedance.com> |
app/testpmd: record Rx and dropped stats in flowgen
Call inc_rx_burst_stats for rx operation, and record fwd_dropped.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Xiaoyun L
app/testpmd: record Rx and dropped stats in flowgen
Call inc_rx_burst_stats for rx operation, and record fwd_dropped.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
7f4d3d12 |
| 13-Aug-2021 |
Zhihong Wang <wangzhihong.wzh@bytedance.com> |
app/testpmd: use existing checksum API in flowgen engine
Use the rte_ipv4_cksum API to replace local ip_sum implementation.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Xia
app/testpmd: use existing checksum API in flowgen engine
Use the rte_ipv4_cksum API to replace local ip_sum implementation.
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
ea275674 |
| 13-Aug-2021 |
Zhihong Wang <wangzhihong.wzh@bytedance.com> |
app/testpmd: fix Tx retry in flowgen engine
Fix tx_pkt number in tx retry logic.
Fixes: bf56fce1fb45 ("app/testpmd: add retry option") Cc: stable@dpdk.org
Signed-off-by: Zhihong Wang <wangzhihong.
app/testpmd: fix Tx retry in flowgen engine
Fix tx_pkt number in tx retry logic.
Fixes: bf56fce1fb45 ("app/testpmd: add retry option") Cc: stable@dpdk.org
Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
show more ...
|
#
6c02043e |
| 21-Jan-2021 |
Igor Russkikh <irusskikh@marvell.com> |
app/testpmd: support sending cloned packets in flowgen
When testing high performance numbers, it is often that CPU performance limits the max values device can reach (both in pps and in gbps)
Here
app/testpmd: support sending cloned packets in flowgen
When testing high performance numbers, it is often that CPU performance limits the max values device can reach (both in pps and in gbps)
Here instead of recreating each packet separately, we use clones counter to resend the same mbuf to the line multiple times.
PMDs handle that transparently due to reference counting inside of mbuf.
Reaching max PPS on small packet sizes helps here: Some data from our 2 port x 50G device. Using 2*6 tx queues, 64b packets, PowerEdge R7525, AMD EPYC 7452:
./build/app/dpdk-testpmd -l 32-63 -- --forward-mode=flowgen \ --rxq=6 --txq=6 --disable-crc-strip --burst=512 \ --flowgen-clones=0 --txd=4096 --stats-period=1 --txpkts=64
Gives ~46MPPS TX output:
Tx-pps: 22926849 Tx-bps: 11738590176 Tx-pps: 23642629 Tx-bps: 12105024112
Setting flowgen-clones to 512 pushes TX almost to our device physical limit (68MPPS) using same 2*6 queues(cores):
Tx-pps: 34357556 Tx-bps: 17591073696 Tx-pps: 34353211 Tx-bps: 17588802640
Doing similar measurements per core, I see one core can do 6.9MPPS (without clones) vs 11MPPS (with clones)
Verified on Marvell qede and atlantic PMDs.
Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
d841ef85 |
| 07-Jan-2021 |
George Prekas <prekageo@amazon.com> |
app/testpmd: fix IP checksum calculation
Strict-aliasing rules are violated by cast to uint16_t* in flowgen.c and the calculated IP checksum is wrong. Use attribute __may_alias__ to fix the problem.
app/testpmd: fix IP checksum calculation
Strict-aliasing rules are violated by cast to uint16_t* in flowgen.c and the calculated IP checksum is wrong. Use attribute __may_alias__ to fix the problem.
Fixes: e9e23a617eb8 ("app/testpmd: add flowgen forwarding engine") Cc: stable@dpdk.org
Signed-off-by: George Prekas <prekageo@amazon.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
0e4b1963 |
| 14-Jul-2020 |
Dharmik Thakkar <dharmik.thakkar@arm.com> |
app/testpmd: add record-burst-stats runtime config
Convert CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS to a runtime configuration.
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Tested-by: Phi
app/testpmd: add record-burst-stats runtime config
Convert CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS to a runtime configuration.
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Tested-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
bc700b67 |
| 14-Jul-2020 |
Dharmik Thakkar <dharmik.thakkar@arm.com> |
app/testpmd: add record-core-cycles runtime config
Convert CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES to a runtime configuration.
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Tested-by: Phi
app/testpmd: add record-core-cycles runtime config
Convert CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES to a runtime configuration.
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Tested-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
80139e35 |
| 09-Feb-2020 |
Thomas Monjalon <thomas@monjalon.net> |
fix Mellanox copyright and SPDX tag
Mellanox owns Tilera and EZchip, so the copyrights can be converted. At the same time, the license header is switched to SPDX tag format, and a typo is fixed in a
fix Mellanox copyright and SPDX tag
Mellanox owns Tilera and EZchip, so the copyrights can be converted. At the same time, the license header is switched to SPDX tag format, and a typo is fixed in another copyright line.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
72512e18 |
| 20-Jan-2020 |
Viacheslav Ovsiienko <viacheslavo@mellanox.com> |
app/testpmd: add mempool with external data buffers
The new mbuf pool type is added to testpmd. To engage the mbuf pool with externally attached data buffers the parameter "--mp-alloc=xbuf" should b
app/testpmd: add mempool with external data buffers
The new mbuf pool type is added to testpmd. To engage the mbuf pool with externally attached data buffers the parameter "--mp-alloc=xbuf" should be specified in testpmd command line.
The objective of this patch is just to test whether mbuf pool with externally attached data buffers works OK. The memory for data buffers is allocated from DPDK memory, so this is not "true" external memory from some physical device (this is supposed the most common use case for such kind of mbuf pool).
The user should be aware that not all drivers support the mbuf with EXT_ATTACHED_BUF flags set in newly allocated mbuf (many PMDs just overwrite ol_flags field and flag value is getting lost).
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
5fde1a75 |
| 08-Nov-2019 |
Reshma Pattan <reshma.pattan@intel.com> |
net: use IPV4 VHL constant
Use new macro RTE_IPV4_VHL_DEF instead of IP_VHL_DEF wherever applicable.
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.c
net: use IPV4 VHL constant
Use new macro RTE_IPV4_VHL_DEF instead of IP_VHL_DEF wherever applicable.
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|