aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/dpdk/device/dpdk_priv.h
AgeCommit message (Collapse)AuthorFilesLines
13 daysdpdk: xstats vecor stuck at 0 elementsOle Troan1-7/+19
Fixes: dd6fb60f1794fc08ec40598a67dc70f942c200d1 Type: fix Change-Id: I2429715a954361ceea969191493c15bef21e2040 Signed-off-by: Ole Troan <otroan@employees.org>
2024-06-18dpdk: expose xstats in stats segmentOle Troan1-11/+18
Expose DPDK xstats in the stat segment. Represented as a 2D array. Thread by sw_if_index. Each counter has the same name as the corresponding xstats counter, under /if/<driver-name>/<xstats-name> Type: improvement Change-Id: Icd34b46e2b4d708f1c9a7063d6afd4ced3dfa4f5 Signed-off-by: Ole Troan <otroan@employees.org>
2023-05-19dpdk: fix compatibility with DPDK < 21.11Andrew Ying1-1/+1
Signed-off-by: Andrew Ying <hi@andrewying.com> Type: fix Change-Id: I3c428c90146387ad9ce291c7f646d74f06952b40
2023-04-25dpdk: code preparation for bumping to DPDK 22.11Xinyao Cai1-0/+1
This patch prepares code for bumping DPDK version to 22.11, but the DPDK version of this patch keeps at 22.07 for compatibility. the "no-dsa" parameter in DPDK configuration is removed, the "blacklist" parameter can be used to block the related DSA devices. Type: feature Signed-off-by: Xinyao Cai <xinyao.cai@intel.com> Change-Id: I08787c6584bba66383fc0a784963f33171196910
2022-04-05dpdk: compatibility layer for dpdk 22.03 bumpDastin Wilski1-0/+61
New version of dpdk changes some macros names. This patch ensures VPP will be compatible with older dpdk versions. Type: improvement Signed-off-by: Dastin Wilski <dastin.wilski@gmail.com> Change-Id: I3d9736278e70064610a1dcad5f2d2f6eb26e0d4b
2022-04-04vppinfra: make _vec_len() read-onlyDamjan Marion1-2/+2
Use of _vec_len() to set vector length breaks address sanitizer. Users should use vec_set_len(), vec_inc_len(), vec_dec_len () instead. Type: improvement Change-Id: I441ae948771eb21c23a61f3ff9163bdad74a2cb8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-14dpdk: refactor device setupDamjan Marion1-2/+0
Type: improvement Change-Id: I9772088bca176fd0fdb162677ec55c59aa8f3adf Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-12dpdk: update packet offload flagsDamjan Marion1-28/+49
Type: improvement Change-Id: Ib2c55dd2a246a690b2089f5c0b88508f732281f2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-11dpdk: offloads cleanupDamjan Marion1-0/+6
Type: improvement Change-Id: Ibf43aa483548e6055e4b851ad893371d7af3b018 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-08dpdk: new flags formatDamjan Marion1-0/+31
introduced in DPDK 21.11 Type: improvement Change-Id: I8c845949dd904a2bf8fa4a91e2f3ae5d704f2283 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05dpdk: remove unused definesDamjan Marion1-7/+0
Type: refactor Change-Id: I41d5d07eef670e89eba8fd816e123981940b5d79 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-01-05dpdk: remove unused flagDamjan Marion1-4/+0
Type: refactor Change-Id: Iff96a79323d7d428a779e9736e07c1dc9dddb518 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-12-31vlib: remove external thread management supportDamjan Marion1-4/+0
Now DPDK have API to register external threads so we can remove this mess... Type: improvement Change-Id: I71a21f0cd94bd668aa406710c75a0bcc63fdc840 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-09-07dpdk: lro supportMohammed Hawari1-0/+1
Change-Id: Ifa09dcdfd567ac3c2afab4bd3bd468260f766e1d Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: improvement
2021-07-13dpdk: add base-virtaddr config optionRobert Shearman1-1/+4
Type: improvement Allow the use of the base-virtaddr config option to be passed through to DPDK. This is useful to allow use of devices with an IOMMU in nested VMs without resorting to PA IOVA mode. Signed-off-by: Robert Shearman <robertshearman@gmail.com> Change-Id: I32b6513377e6d20bf155e12c45f902d51ea982c4
2020-09-08dpdk: fix interface counters to never go backwardChristian Hopps1-33/+24
Was seeing imissed counter become negative. Reuse the RX_ERROR code for all three error counters to avoid the problem. Type: fix Change-Id: I99a69c8816326682745785ecd30e18a131ac2969 Signed-off-by: Christian Hopps <chopps@labn.net>
2020-08-27dpdk: fix blacklistsVladimir Ratnikov1-1/+0
When we have both format blacklisted devices like: blacklist 1234:5678 blacklist 1234:56:78.0 unformat with fmt=%x:%x matches for both strings and the rest 78.0 substring is kept in input and it can't be parsed for init args This patch checks first if device format matches PCI address and just then if it matches Vendor and Product Type: fix Change-Id: If111762c0e0a424b052e4f6dc0f67731bf89dc2a Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
2020-02-13dpdk: Add iova-mode to startupVladimir Ratnikov1-1/+2
In some cases of using vfio-pci driver, it should be required to enable pa or va mode. Without it, rtl_eal_init unable to allocate memory required. Debugging told that iova-mode pa/va could help. And it helps. This patch allows to pass iova-mode to vpp startup.conf Type: feature Change-Id: I36b87f5d3d141891b37cda2c306d50433954a34a Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
2019-06-04dpdk: rework extended statsFilip Tehlar1-13/+13
Change-Id: I421192e1921d4c9c5486a6dcca745582aebf4e3e Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-01-30buffers: major cleanup and improvementsDamjan Marion1-8/+0
This patch introduces following changes: - deprecated free lists which are not used and not compatible with external buffer managers (i.e. DPDK) - introduces native support for per-numa buffer pools - significantly improves performance of buffer alloc and free Change-Id: I4a8e723ae47056717afd6cac0efe87cb731b5be7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20dpdk: add buffer.hDamjan Marion1-3/+0
Change-Id: I998658ad7860b23425444e218ce2e1ec655b885a Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-14Remove c-11 memcpy checks from perf-critical codeDave Barach1-1/+1
Change-Id: Id4f37f5d4a03160572954a416efa1ef9b3d79ad1 Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-12dpdk: support passing log-levelStephen Hemminger1-1/+2
Since DPDK 17.05, DPDK logging supports per subsystem dynamic logging. Allow passing this as log-level on EAL command line. dpdk { log-level pmd.net.virtio.*:debug ... } Change-Id: If9576c11aba390a5cd2740fc1c9da5768689bd74 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-09-24Trivial: Clean up some typos.Paul Vinciguerra1-1/+1
Change-Id: I085615fde1f966490f30ed5d32017b8b088cfd59 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-05-31dpdk: Decoupling the meaning of xd->device_index in dpdk_pluginRui Cai1-4/+3
Prior to the change, dpdk plugin assumes xd->device_index is used both as index for internal dpdk_main->devices array and DPDK port index to call into DPDK APIs. However, when running on top of Failsafe PMDs, DPDK port index range may no longer be contiguous (as noted: http://dpdk.org/ml/archives/dev/2018-March/092375.html for related changes in DPDK). Because this, dpdk plugin can no longer iterate through all available DPDK ports with a for 0->rte_eth_dev_count() loop and the assumption of device_index no longer holds. This is part of initial effort to enable vpp running over dpdk on failsafe PMD in Microsoft Azure(3/4). Change-Id: I416fd80f2d40e12e139f8f3492814da98343eae7 Signed-off-by: Rui Cai <rucai@microsoft.com>
2018-04-25dpdk: complete rework of the dpdk-input nodeDamjan Marion1-3/+3
Change-Id: If174d189de40e6f9ffae99997bba93a2519d9fda Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-14Prevent calling rte_eth_xstats_get not initialized devSzymon Sliwa1-0/+2
DPDK API forbids calling rte_eth_xstats_get on a port which has not been setup up yet. Citing the DPDK docs (reformated): " The functions exported by the application Ethernet API to setup a device designated by its port identifier must be invoked in the following order: rte_eth_dev_configure() rte_eth_tx_queue_setup() rte_eth_rx_queue_setup() rte_eth_dev_start() Then, the network application can invoke, in any order, the functions exported by the Ethernet API to get the MAC address of a given device, to get the speed and the status of a device physical link, to receive/transmit [burst of] packets, and so on. " original can be found here: http://dpdk.org/doc/api/rte__ethdev_8h.html#a36ba70a5a6fce2c2c1f774828ba78f8d Change-Id: I91854b8b0dd12dd028b4b36665cca49f16eac24c Signed-off-by: Szymon Sliwa <szs@semihalf.com>
2017-10-25vlib: add support for multiple buffer poolsDamjan Marion1-0/+8
Change-Id: Icaf7d7ad47284aea7a56e8006b69f45874d64202 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-06Use thread local storage for thread indexDamjan Marion1-4/+4
This patch deprecates stack-based thread identification, Also removes requirement that thread stacks are adjacent. Finally, possibly annoying for some folks, it renames all occurences of cpu_index and cpu_number with thread index. Using word "cpu" is misleading here as thread can be migrated ti different CPU, and also it is not related to linux cpu index. Change-Id: I68cdaf661e701d2336fc953dcb9978d10a70f7c1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-01dpdk: be a pluginDamjan Marion1-0/+135
Change-Id: I238258cdeb77035adc5e88903d824593d0a1da90 Signed-off-by: Damjan Marion <damarion@cisco.com>