Commit Graph

23872 Commits

Author SHA1 Message Date
Conor Walsh
dc18be1d8b bpf: promote library as stable
The BPF lib was introduced in 18.05.
There were no changes in its public API since 19.11.
It should be mature enough to remove its 'experimental' tag.
RTE_BPF_XTYPE_NUM is also being dropped from rte_bpf_xtype to
avoid possible ABI problems in the future.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2020-09-16 18:52:55 +02:00
Stephen Hemminger
f484baeeb6 log: hide internal variable
As announced in earlier releases, rte_logs can now be made
internal to EAL.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
2020-09-16 18:37:11 +02:00
Stephen Hemminger
2adc121ef9 log: promote rte_log_get_stream as stable
Applications will need to use this API now to get internal
state of rte_log.

Suggested-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David Marchand <david.marchand@redhat.com>
2020-09-16 18:37:11 +02:00
Stephen Hemminger
64201f1059 eal/linux: change udev debug message
The debug message was poorly worded and did not include the
part that would be useful. I.e it never said what was being ignored.
Change it to print the message so that if udev changes format or
other subsystems need to be added then the necessary information
will be in the debug log.

Fixes: 0d0f478d04 ("eal/linux: add uevent parse and process")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Jeff Guo <jia.guo@intel.com>
2020-09-16 18:14:35 +02:00
Christian Ehrhardt
e356aa46ad avoid libfdt checks adding full paths to pkg-config
The checks for libfdt try dependency() first which would only work if
a pkg-config would be present but libfdt has none.
Then it probes for the lib path itself via cc.find_library.

But later it adds the result of either probe to ext_deps which ends up
in build and also the resulting pkg-config to contain toolchain versioned
paths in Libs.private like:
  /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libfdt.so
which obviously breaks on toolchain updates.

In general libs used multiple times - ipn3ke + ifpga in this case - are
checked centrally in config/meson.build so move it there and fix the
adding of dependencies to not use the full file path.

The result is libfdt in pkg-config now showing up as:
  Libs.private: -pthread -lm -ldl -lnuma -lfdt -lpcap

Fixes: e1defba4cf ("raw/ifpga/base: support device tree")
Cc: stable@dpdk.org

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Reviewed-by: Luca Boccassi <bluca@debian.org>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
2020-09-15 15:19:34 +02:00
Phil Yang
e41d27a68d mbuf: remove atomic reference counters
Remove the deprecated refcnt_atomic union fields in
rte_mbuf and rte_mbuf_ext_shared_info structures.

Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
2020-09-15 11:29:23 +02:00
Bruce Richardson
25efc61539 doc: remove rawdev deprecation notice
Since all changes covered by the deprecation notice have been applied, the
notice can be removed.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
2020-09-11 11:51:17 +02:00
Bruce Richardson
8c658761de rawdev: mark start and stop functions optional
Not all rawdevs will require a device start/stop function, so rather than
requiring such drivers to provide dummy functions, just set the
started/stopped rawdev flag from the rawdev layer and return success.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
2020-09-11 11:51:16 +02:00
Bruce Richardson
13f8e4a27e rawdev: allow queue config query to return error
The driver APIs for returning the queue default config can fail if the
parameters are invalid, or other reasons, so allow them to return error
codes to the rawdev layer and from hence to the app.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
2020-09-11 11:51:15 +02:00
Bruce Richardson
f574ed8116 rawdev: add private data size to queue config inputs
The queue setup and queue defaults query functions take a void * parameter
as configuration data, preventing any compile-time checking of the
parameters and limiting runtime checks. Adding in the length of the
expected structure provides a measure of typechecking, and can also be used
for ABI compatibility in future, since ABI changes involving structs almost
always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
2020-09-11 11:51:03 +02:00
Bruce Richardson
8db9dce72d rawdev: add private data size to config inputs
Currently with the rawdev API there is no way to check that the structure
passed in via the dev_private pointer in the structure passed to configure
API is of the correct type - it's just checked that it is non-NULL. Adding
in the length of the expected structure provides a measure of typechecking,
and can also be used for ABI compatibility in future, since ABI changes
involving structs almost always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
2020-09-11 11:50:55 +02:00
Bruce Richardson
f150dd8839 rawdev: allow drivers to return error from info query
Since we now allow some parameter checking inside the driver info_get()
functions, it makes sense to allow error return from those functions to the
caller. Therefore we change the driver callback return type from void to
int.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
2020-09-11 11:50:54 +02:00
Bruce Richardson
10b71caecb rawdev: add private data size to info query
Currently with the rawdev API there is no way to check that the structure
passed in via the dev_private pointer in the dev_info structure is of the
correct type - it's just checked that it is non-NULL. Adding in the length
of the expected structure provides a measure of typechecking, and can also
be used for ABI compatibility in future, since ABI changes involving
structs almost always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
2020-09-11 11:50:53 +02:00
Tal Shnaiderman
2dceae68f9 bus/pci: fix hardware IDs parsing on Windows
Swap subsystem vendor id and subsystem device id.
Parse the SPDRP_HARDWAREID string with correct type values.

Fixes: b762221ac2 ("bus/pci: support Windows with bifurcated drivers")
Cc: stable@dpdk.org

Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
2020-09-11 02:01:38 +02:00
Fady Bader
790defbdb6 ethdev: build on Windows
Add ethdev and a missing dependency (meter) to the list
of libraries built on Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
2020-09-11 01:55:39 +02:00
Fady Bader
0e9e9e7548 ethdev: remove structs from export map
Some ethdev structs were present in .map export list.
There structs are removed from the .map file.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-11 01:55:39 +02:00
Fady Bader
5ae0d39d4a telemetry: build stubs on Windows
Telemetry didn't compile under Windows.
Empty stubs are arranged, waiting for a proper implementation.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-11 01:55:35 +02:00
Fady Bader
fc5ae478f8 eal/windows: update symbols export
The .def file is a reduced copy of the .map file.
In order to ease comparison, some lines are moved in the .def file
to be in the same order as in the .map file.

rte_eal_get_configuration is removed because it has been removed
from the .map file in DPDK 19.11.
Note: it had been removed and re-added by mistake in 20.08 .def file.

Few functions are added in the .def file to allow ethdev on Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-11 01:40:36 +02:00
Fady Bader
f5192f9162 eal/windows: add stub for Rx interrupt control
Interrupts are not implemented for Windows.
In order to compile ethdev on Windows,
an empty interrupt control function stub has to be added for Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-11 01:38:26 +02:00
Fady Bader
16f0d03098 net: build on Windows
librte_net was not compiling under Windows.
To solve this, needed header files are added.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-10 21:53:48 +02:00
Fady Bader
64fb21d86b net: replace htons with constant endian swap
htons is not defined in Windows with the MinGW compiler.
htons is replaced with RTE_BE16 in order to compile under Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
2020-09-10 21:52:28 +02:00
Fady Bader
507e1ca07b net: fix redefinition in Windows
In Windows, s_addr is defined in winsock2.h which is included by windows.h.
It is undefined in order to be defined as part of rte_ether_hdr.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-10 21:52:04 +02:00
Tal Shnaiderman
a4235b781f eal/windows: probe vdev
Add needed function calls in rte_eal_init to detect vdev PMD.

eal_option_device_parse()
rte_service_init()
rte_bus_probe()

Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Tested-by: Narcisa Vasile <navasile@linux.microsoft.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
2020-09-09 14:40:41 +02:00
Tal Shnaiderman
ec6d514636 bus/vdev: build on Windows
current support will build vdev with empty MP functions
currently unsupported for Windows.

Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
Tested-by: Narcisa Vasile <navasile@linux.microsoft.com>
Tested-by: Pallavi Kadam <pallavi.kadam@intel.com>
2020-09-09 14:39:37 +02:00
Yuval Avnery
54fa1f6a67 regex/mlx5: add teardown for fastpath buffers
Added missing code to free Input/Output buffers and memory
registration.
Also added calls to this code in case of error in the qp setup
procedure.
The rollback code itself did not handle rollback properly
and did not check return value from the fastpath setup.

Signed-off-by: Yuval Avnery <yuvalav@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
2020-09-09 00:27:41 +02:00
Bruce Richardson
781eafc965 usertools: support globbing for PCI device binding
When binding or unbinding a range of devices, it can be useful to use
wildcards to specify the devices rather than repeating the same prefix
multiple times. We can use the python "glob" module to give us this
functionality - at least for PCI devices - by checking /sys for matching
files.

Examples of use from my system:

    ./dpdk-devbind.py -b vfio-pci 80:04.*
    ./dpdk-devbind.py -u 80:04.[2-7]

The first example binds eight devices, 80:04.0..80:04.7, to vfio-pci. The
second then unbinds six of those devices, 80:04.2..80:04.7, from any
driver.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-09-08 23:39:32 +02:00
Bruce Richardson
36f66d1cc7 usertools: hide interface for non-network device status
The "if", or interface, field in the status display of dpdk-devbind is only
relevant for network interfaces, so don't display it for other device
types.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
2020-09-08 23:05:00 +02:00
Ciara Power
ec260aa3ad config: remove default configs used with make
Make is not supported for compiling DPDK, the config files are no
longer needed.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-08 00:11:30 +02:00
Ciara Power
82921ff415 buildtools: remove scripts used only with make
Make is no longer supported for compiling DPDK, scripts used with make
are no longer needed.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-08 00:11:11 +02:00
Ciara Power
3cc6ecfdfe build: remove makefiles
A decision was made [1] to no longer support Make in DPDK, this patch
removes all Makefiles that do not make use of pkg-config, along with
the mk directory previously used by make.

[1] https://mails.dpdk.org/archives/dev/2020-April/162839.html

Signed-off-by: Ciara Power <ciara.power@intel.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-09-08 00:09:50 +02:00
Bruce Richardson
05b6eee7bd build: create dummy Makefile
This patch modifies the root Makefile to act as a dummy Makefile for
when the make support is removed from DPDK in subsequent patches.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2020-09-07 23:51:57 +02:00
Ciara Power
f399b0171e examples: remove old build system references
Remove the references to RTE_SDK and RTE_TARGET environment variables from
the build instructions in the comments of the various BPF files, and in
the ipsec-secgw common definition script.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2020-09-07 23:51:57 +02:00
Bruce Richardson
fa23714eb8 examples/ethtool: convert to pkg-config-based build
Remove references to the old DPDK build system from the makefiles, and use
pkg-config provided flags instead.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2020-09-07 23:51:57 +02:00
Bruce Richardson
5adbc4b847 examples/vm_power: convert to pkg-config-based build
Convert the makefiles to build using pkg-config
rather than the old build system.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2020-09-07 23:51:57 +02:00
Bruce Richardson
13abe17c3c examples/multi_process: convert to pkg-config-based build
Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2020-09-07 23:51:57 +02:00
Kevin Laatz
ff32ae1e6f examples/performance-thread: convert to pkg-config-based build
Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
2020-09-07 23:51:56 +02:00
Kevin Laatz
25d3438c8f examples/server_node_efd: convert to pkg-config-based build
Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
2020-09-07 23:51:56 +02:00
Kevin Laatz
e93887d3f4 examples/ka-agent: convert to pkg-config-based build
Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
2020-09-07 23:51:56 +02:00
Ciara Power
fda34680eb examples: remove legacy sections of makefiles
The example app makefiles contained sections using the legacy method of
compiling with make. These are no longer needed, and are removed,
leaving only the section that uses pkg-config for the make build.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
2020-09-07 16:53:41 +02:00
Bruce Richardson
a4362f1502 doc: build without using make
When building the DPDK guide documents, the DPDK version information was
pulled using "make showversion", which meant there was a dependency on
the DPDK make-based build system. Change this to have the version info
passed in from meson itself.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2020-09-07 16:51:07 +02:00
Thomas Monjalon
b9b10ddb42 switch default git branch name to main
The default git branch of the main DPDK repository has been renamed
from master to main.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-08-12 15:32:07 +02:00
Thomas Monjalon
da816fb1ff maintainers: remove QoS and pipeline repositories
The git trees dpdk-next-qos and dpdk-next-pipeline were created
to share the load of patches merging.
It has been decided in the Technical Board that the load is not big
enough to justify keeping these repositories.

The patches for ethdev TM and MTR will be managed in dpdk-next-net.
The sched and meter libraries will be managed in the main tree.
The packet framework will be managed in the main tree as well.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-08-12 15:24:16 +02:00
Ray Kinsella
3eecaba90a doc: describe process for new ABI versions
Added a section describing new ABI versions, this provides pointers to
the relevant amended rules that apply during the abi breakage window.
Also remove the large note at the head of the ABI policy describing the
ABI stability process that has taken place over the previous year.

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2020-08-12 15:14:22 +02:00
Adam Dybkowski
460cb70791 doc: announce renaming in crypto scheduler API
This patch adds a deprecation notice about upcoming changes
in public API of the Scheduler PMD.

Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2020-08-12 14:22:20 +02:00
Thomas Monjalon
a6fc38f34b devtools: fix ABI update in map files
The script was using the full ABI version, including the minor number,
to version the symbols in the map files.
It is fixed to use only the major number for symbol versioning.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
2020-08-12 11:32:21 +02:00
Thomas Monjalon
4f86c0ba19 version: 20.11-rc0
Start a new release cycle with empty release notes.

The ABI version becomes 21.0.
The ABI major is back to normal, having only one number (21 vs 20.0).
The map files are updated to the new ABI major number (21).
The ABI exceptions are dropped.
Travis ABI check is disabled because compatibility is not preserved.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
2020-08-12 11:32:16 +02:00
Thomas Monjalon
cd6f1d7a5f version: 20.08.0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-08-08 08:08:20 +02:00
John McNamara
13d0fcdac8 doc: update release notes for 20.08
Fix grammar, spelling and formatting of DPDK 20.08 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
2020-08-08 00:21:21 +02:00
Savinay Dharmappa
91b73b98a1 doc: announce sched API changes for dynamic config
Add deprecation note for making changes in data structures and APIs
in order to allow dynamic configuration of subport bandwidth profile.
These changes are aligned as suggested in the RFC[1].

https://mails.dpdk.org/archives/dev/2020-July/175161.html

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>
Acked-by: Sunil Pai G <sunil.pai.g@intel.com>
2020-08-08 00:01:59 +02:00
Chengchang Tang
0a6b8fdd90 doc: announce new ethdev field in Rx queue info
Struct rte_eth_rxq_info will be modified to include a new field, indicating
the size of each buffer that could be used for HW to receive packets. Add
this field to rte_eth_rxq_info to expose relevant information to upper
layer users/application.

For more details:
https://mails.dpdk.org/archives/dev/2020-July/176135.html

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-08-07 23:32:15 +02:00