|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2 |
|
| #
356a2aa0 |
| 14-Feb-2022 |
Madhuker Mythri <[email protected]> |
devargs: fix crash with uninitialized parsing
The function rte_devargs_parse() previously was safe to call with non-initialized devargs structure as parameter.
When adding the support for the globa
devargs: fix crash with uninitialized parsing
The function rte_devargs_parse() previously was safe to call with non-initialized devargs structure as parameter.
When adding the support for the global device syntax, this assumption was broken. Restore it by forcing memset as part of the call itself.
Bugzilla ID: 933 Fixes: b344eb5d941a ("devargs: parse global device syntax") Cc: [email protected]
Signed-off-by: Madhuker Mythri <[email protected]> Signed-off-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
30a1de10 |
| 15-Feb-2022 |
Sean Morrissey <[email protected]> |
lib: remove unneeded header includes
These header includes have been flagged by the iwyu_tool and removed.
Signed-off-by: Sean Morrissey <[email protected]>
|
|
Revision tags: v22.03-rc1 |
|
| #
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <[email protected]> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <[email protected]>
show more ...
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1 |
|
| #
5adef306 |
| 20-Oct-2021 |
Xueming Li <[email protected]> |
devargs: make bus optional
Global devargs syntax is used as device iteration filter like "class=vdpa", a devargs without bus args is valid from parsing perspective.
This patch makes bus args option
devargs: make bus optional
Global devargs syntax is used as device iteration filter like "class=vdpa", a devargs without bus args is valid from parsing perspective.
This patch makes bus args optional.
Fixes: d2a66ad79480 ("bus: add device arguments name parsing")
Signed-off-by: Xueming Li <[email protected]> Reviewed-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
9a1a9e4a |
| 20-Oct-2021 |
Xueming Li <[email protected]> |
devargs: support path value with global device syntax
Slash is used to split global device arguments.
To support path value which contains slash, this patch parses devargs by locating both slash an
devargs: support path value with global device syntax
Slash is used to split global device arguments.
To support path value which contains slash, this patch parses devargs by locating both slash and layer name key: bus=a,name=/some/path/class=b,k1=v1/driver=c,k2=v2 "/class=" and "/driver" are valid start of a layer.
Signed-off-by: Xueming Li <[email protected]> Reviewed-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
f1f6ebc0 |
| 24-Aug-2021 |
William Tu <[email protected]> |
eal: remove sys/queue.h from public headers
Currently there are some public headers that include 'sys/queue.h', which is not POSIX, but usually provided by the Linux/BSD system library. (Not in POSI
eal: remove sys/queue.h from public headers
Currently there are some public headers that include 'sys/queue.h', which is not POSIX, but usually provided by the Linux/BSD system library. (Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008. Present on the BSDs.) The file is missing on Windows. During the Windows build, DPDK uses a bundled copy, so building a DPDK library works fine. But when OVS or other applications use DPDK as a library, because some DPDK public headers include 'sys/queue.h', on Windows, it triggers an error due to no such file.
One solution is to install the 'lib/eal/windows/include/sys/queue.h' into Windows environment, such as [1]. However, this means DPDK exports the functionalities of 'sys/queue.h' into the environment, which might cause symbols, macros, headers clashing with other applications.
The patch fixes it by removing the "#include <sys/queue.h>" from DPDK public headers, so programs including DPDK headers don't depend on the system to provide 'sys/queue.h'. When these public headers use macros such as TAILQ_xxx, we replace it by the ones with RTE_ prefix. For Windows, we copy the definitions from <sys/queue.h> to rte_os.h in Windows EAL. Note that these RTE_ macros are compatible with <sys/queue.h>, both at the level of API (to use with <sys/queue.h> macros in C files) and ABI (to avoid breaking it).
Additionally, the TAILQ_FOREACH_SAFE is not part of <sys/queue.h>, the patch replaces it with RTE_TAILQ_FOREACH_SAFE.
[1] http://mails.dpdk.org/archives/dev/2021-August/216304.html
Suggested-by: Nick Connolly <[email protected]> Suggested-by: Dmitry Kozlyuk <[email protected]> Signed-off-by: William Tu <[email protected]> Acked-by: Dmitry Kozlyuk <[email protected]> Acked-by: Narcisa Vasile <[email protected]>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
| #
b344eb5d |
| 13-Apr-2021 |
Xueming Li <[email protected]> |
devargs: parse global device syntax
When parsing a devargs, try to parse using the global device syntax first. Fallback on legacy syntax on error.
Example of new global device syntax: -a bus=pci,a
devargs: parse global device syntax
When parsing a devargs, try to parse using the global device syntax first. Fallback on legacy syntax on error.
Example of new global device syntax: -a bus=pci,addr=82:00.0/class=eth/driver=mlx5,dv_flow_en=1
Signed-off-by: Xueming Li <[email protected]> Reviewed-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
d2a66ad7 |
| 13-Apr-2021 |
Xueming Li <[email protected]> |
bus: add device arguments name parsing
For device probe and iterator, devargs name was key information, parsed by rte_devargs_parse. In legacy parser, devargs name was extracted after bus name: bu
bus: add device arguments name parsing
For device probe and iterator, devargs name was key information, parsed by rte_devargs_parse. In legacy parser, devargs name was extracted after bus name: bus:name,kv_arguments,,, Example: pci:83:00.0,arguments,... vdev:pcap0,...
To be compatible with legacy parser, this patch introduces new bus driver API devargs_parse to parse devargs and update devargs name. If devargs_parse not implemented by bus driver, the new syntax parser rte_devargs_layers_parse default will resolve devargs name from bus's "name" argument.
Different bus driver might choose different keys from arguments with unified format. The PCI bus implementation fills the devargs name with the "addr" argument, example: -a bus=pci,addr=83:00.0/class=eth/driver=mlx5,... name: 0000:03:00.0 -a bus=vdev,name=pcap0/class=eth/driver=pcap,... name:pcap0
Signed-off-by: Xueming Li <[email protected]> Reviewed-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
35d4f17b |
| 05-Jul-2021 |
Xueming Li <[email protected]> |
devargs: add common key definition
Add common devargs key definition for "bus", "class" and "driver".
Signed-off-by: Xueming Li <[email protected]> Acked-by: Thomas Monjalon <[email protected]>
devargs: add common key definition
Add common devargs key definition for "bus", "class" and "driver".
Signed-off-by: Xueming Li <[email protected]> Acked-by: Thomas Monjalon <[email protected]> Acked-by: Andrew Rybchenko <[email protected]>
show more ...
|
| #
99a2dd95 |
| 20-Apr-2021 |
Bruce Richardson <[email protected]> |
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 <[email protected]>
show more ...
|