|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1, 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 |
|
| #
11e02702 |
| 05-May-2021 |
Jerin Jacob <[email protected]> |
examples: fix pkg-config override
Move pkg-config override to beginning in the Makefile to allow use PKGCONF variable to detect the libdpdk availability.
Fixes: fda34680eb9a ("examples: remove lega
examples: fix pkg-config override
Move pkg-config override to beginning in the Makefile to allow use PKGCONF variable to detect the libdpdk availability.
Fixes: fda34680eb9a ("examples: remove legacy sections of makefiles") Cc: [email protected]
Signed-off-by: Jerin Jacob <[email protected]> Acked-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v21.05-rc1, v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2, v21.02-rc1 |
|
| #
5a196330 |
| 19-Jan-2021 |
Bruce Richardson <[email protected]> |
examples: warn about broken pkg-config
Since the examples are designed to be built by end-users using Make, we can detect and warn about broken pkg-config on the user's system as part of the build p
examples: warn about broken pkg-config
Since the examples are designed to be built by end-users using Make, we can detect and warn about broken pkg-config on the user's system as part of the build process.
Signed-off-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2, v20.11-rc1 |
|
| #
fda34680 |
| 03-Sep-2020 |
Ciara Power <[email protected]> |
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 t
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 <[email protected]> Acked-by: Nicolas Chautru <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1 |
|
| #
8549295d |
| 30-Jun-2020 |
Bruce Richardson <[email protected]> |
build/pkg-config: improve static linking flags
Rather than setting -Bstatic in the linker flags when doing a static link, and then having to explicitly set -Bdynamic again afterwards, we can update
build/pkg-config: improve static linking flags
Rather than setting -Bstatic in the linker flags when doing a static link, and then having to explicitly set -Bdynamic again afterwards, we can update the pkg-config file to use -l:libfoo.a syntax to explicitly refer to the static library in question. Since this syntax is not supported by meson's pkg-config module directly, we can post-process the .pc files instead to adjust them.
Once done, we can simplify the examples' makefiles and the docs by removing the explicit static flag.
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Luca Boccassi <[email protected]> Acked-by: Sunil Pai G <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]>
show more ...
|
|
Revision tags: v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2 |
|
| #
eeb486f3 |
| 30-Apr-2020 |
Ciara Power <[email protected]> |
eal: add telemetry as dependency
This patch moves telemetry further down the build, and adds it as a dependency for EAL. Telemetry V2 is now configured to build by default, and the legacy support is
eal: add telemetry as dependency
This patch moves telemetry further down the build, and adds it as a dependency for EAL. Telemetry V2 is now configured to build by default, and the legacy support is built when the telemetry config flag is set.
Telemetry now has EAL flags, shown below: "--telemetry" = Enables telemetry (this is default if no flags given) "--no-telemetry" = Disables telemetry
When telemetry is enabled, it will attempt to open the new socket version, and also the legacy support socket (this will depend on Jansson external dependency and telemetry config flag, as before).
Signed-off-by: Ciara Power <[email protected]> Signed-off-by: Bruce Richardson <[email protected]> Reviewed-by: Keith Wiles <[email protected]>
show more ...
|
| #
a35919a1 |
| 30-Apr-2020 |
Ciara Power <[email protected]> |
examples/l3fwd-power: use new telemetry
The l3fwd-power example app now registers a stats command with telemetry, and provides a callback function to handle formatting the power stats.
An example u
examples/l3fwd-power: use new telemetry
The l3fwd-power example app now registers a stats command with telemetry, and provides a callback function to handle formatting the power stats.
An example usage is shown below:
Connecting to /var/run/dpdk/rte/dpdk_telemetry.v2 {"version": "DPDK 20.05.0-rc0", "pid": 63384, "max_output_len": 16384} --> / {"/": ["/", "/ethdev/link_status", "/ethdev/list", "/ethdev/xstats", \ "/help", "/info", "/l3fwd-power/stats", "/rawdev/list", \ "/rawdev/xstats"]} --> /l3fwd-power/stats {"/l3fwd-power/stats": {"empty_poll": 281625000, "full_poll": 0, \ "busy_percent": 0}}
The existing stats tracking done by the app using the metrics library is unaffected. This will still be used to ensure backward compatibility.
Signed-off-by: Bruce Richardson <[email protected]> Signed-off-by: Ciara Power <[email protected]> Reviewed-by: Keith Wiles <[email protected]>
show more ...
|
|
Revision tags: v20.05-rc1, v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1, v19.11, v19.11-rc4, v19.11-rc3 |
|
| #
69b1bb49 |
| 15-Nov-2019 |
Bruce Richardson <[email protected]> |
examples: hide error for missing pkg-config path flag
Some versions of pkg-config don't support the --path flag, which is not a fatal error when building the apps. Without the flag, the makefile jus
examples: hide error for missing pkg-config path flag
Some versions of pkg-config don't support the --path flag, which is not a fatal error when building the apps. Without the flag, the makefile just cannot track the .pc file of DPDK as a dependency of the build. Therefore, we can ignore the error and suppress it by redirecting to /dev/null the stderr from that call to pkg-config.
Fixes: 22119c4591a0 ("examples: use pkg-config in makefiles") Cc: [email protected]
Signed-off-by: Bruce Richardson <[email protected]> Tested-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
12a652a0 |
| 15-Nov-2019 |
Bruce Richardson <[email protected]> |
examples: fix build with old pkg-config
Not all versions of pkg-config in distros have support for the --define-prefix flag [1], causing errors when building examples manually or with test-meson-bui
examples: fix build with old pkg-config
Not all versions of pkg-config in distros have support for the --define-prefix flag [1], causing errors when building examples manually or with test-meson-builds.sh script [2].
For the former case, we need to remove the hard-coded use of the flag in the Makefiles.
For the latter case, the flag is necessary for builds to succeed, so we skip the tests when it's not present, passing it as part of the pkg-config command if it is supported.
[1] CentOS Linux release 7.7.1908 (Core) pkg-config version 0.27.1
[2] ## Building cmdline Unknown option --define-prefix gmake: Entering directory `...ild-x86-default/install-root/usr/local/share/dpdk/examples/cmdline' rm -f build/cmdline build/cmdline-static build/cmdline-shared test -d build && rmdir -p build || true Unknown option --define-prefix Unknown option --define-prefix gcc -O3 main.c commands.c parse_obj_list.c -o build/cmdline-shared main.c:14:28: fatal error: cmdline_rdline.h: No such file or directory
Fixes: ca9268529d2b ("examples: support relocated DPDK install") Fixes: 7f80a2102bbb ("devtools: test pkg-config file") Cc: [email protected]
Reported-by: Ferruh Yigit <[email protected]> Signed-off-by: Bruce Richardson <[email protected]> Tested-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v19.11-rc2, v19.11-rc1, v19.08, v19.08-rc4, v19.08-rc3, v19.08-rc2, v19.08-rc1 |
|
| #
4131ad5d |
| 03-Jul-2019 |
Bruce Richardson <[email protected]> |
examples: fix pkg-config detection with older make
Make versions before 4.2 did not have support for the .SHELLSTATUS variable, so use another method to detect shell success.
Fixes: 22119c4591a0 ("
examples: fix pkg-config detection with older make
Make versions before 4.2 did not have support for the .SHELLSTATUS variable, so use another method to detect shell success.
Fixes: 22119c4591a0 ("examples: use pkg-config in makefiles") Cc: [email protected]
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Luca Boccassi <[email protected]>
show more ...
|
| #
ca926852 |
| 02-Jul-2019 |
Bruce Richardson <[email protected]> |
examples: support relocated DPDK install
For testing of DPDK, we want to override the prefix given by the pkg-config file, so that we can get correct paths for DPDK installed in an unusual location.
examples: support relocated DPDK install
For testing of DPDK, we want to override the prefix given by the pkg-config file, so that we can get correct paths for DPDK installed in an unusual location.
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Luca Boccassi <[email protected]>
show more ...
|
| #
609e7984 |
| 24-Jun-2019 |
Reshma Pattan <[email protected]> |
examples/l3fwd-power: add telemetry mode
Add new telemetry mode support for l3fwd-power. This is a standalone mode, in this mode l3fwd-power does simple l3fwding along with calculating empty polls,
examples/l3fwd-power: add telemetry mode
Add new telemetry mode support for l3fwd-power. This is a standalone mode, in this mode l3fwd-power does simple l3fwding along with calculating empty polls, full polls, and busy percentage for each forwarding core. The aggregation of these values of all cores is reported as application level telemetry to metric library for every 500ms from the master core.
The busy percentage is calculated by recording the poll_count and when the count reaches a defined value the total cycles it took is measured and compared with minimum and maximum reference cycles and busy rate is set according to either 0% or 50% or 100%.
Signed-off-by: Reshma Pattan <[email protected]> Acked-by: Anatoly Burakov <[email protected]>
show more ...
|
| #
7e9562a1 |
| 17-May-2019 |
Bruce Richardson <[email protected]> |
examples: fix make clean when using pkg-config
The "make clean" command had a number of issues: - the "--ignore-fail-on-non-empty" flag is not present on BSD - the call to remove the build folder wo
examples: fix make clean when using pkg-config
The "make clean" command had a number of issues: - the "--ignore-fail-on-non-empty" flag is not present on BSD - the call to remove the build folder would fail if there was no build folder present.
These are fixed by only removing the build folder if it exists, and by using -p flag to rmdir in place of --ignore-fail-on-non-empty
Fixes: 22119c4591a0 ("examples: use pkg-config in makefiles") Cc: [email protected]
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Luca Boccassi <[email protected]>
show more ...
|
|
Revision tags: v19.05, v19.05-rc4, v19.05-rc3, v19.05-rc2, v19.05-rc1 |
|
| #
e9c65942 |
| 27-Mar-2019 |
Bruce Richardson <[email protected]> |
examples: detect default build directory
Most examples have in their makefiles a default RTE_TARGET directory to be used in case RTE_TARGET is not set. Rather than just using a hard-coded default, w
examples: detect default build directory
Most examples have in their makefiles a default RTE_TARGET directory to be used in case RTE_TARGET is not set. Rather than just using a hard-coded default, we can instead detect what the build directory is relative to RTE_SDK directory.
This fixes a potential issue for anyone who continues to build using "make install T=x86_64-native-linuxapp-gcc" and skips setting RTE_TARGET explicitly, instead relying on the fact that they were building in a directory which corresponded to the example default path - which was changed to "x86_64-native-linux-gcc" by commit 218c4e68c1d9 ("mk: use linux and freebsd in config names").
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
218c4e68 |
| 06-Mar-2019 |
Bruce Richardson <[email protected]> |
mk: use linux and freebsd in config names
Rather than using linuxapp and bsdapp everywhere, we can change things to use the, more readable, terms "linux" and "freebsd" in our build configs. Rather t
mk: use linux and freebsd in config names
Rather than using linuxapp and bsdapp everywhere, we can change things to use the, more readable, terms "linux" and "freebsd" in our build configs. Rather than renaming the configs we can just duplicate the existing ones with the new names using symlinks, and use the new names exclusively internally. ["make showconfigs" also only shows the new names to keep the list short] The result is that backward compatibility is kept fully but any new builds or development can be done using the newer names, i.e. both "make config T=x86_64-native-linuxapp-gcc" and "T=x86_64-native-linux-gcc" work.
Signed-off-by: Bruce Richardson <[email protected]>
show more ...
|
| #
742bde12 |
| 06-Mar-2019 |
Bruce Richardson <[email protected]> |
build/linux: rename macro from LINUXAPP to LINUX
Rename the macro to make things shorter and more comprehensible. For both meson and make builds, keep the old macro around for backward compatibility
build/linux: rename macro from LINUXAPP to LINUX
Rename the macro to make things shorter and more comprehensible. For both meson and make builds, keep the old macro around for backward compatibility.
Signed-off-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v19.02, v19.02-rc4, v19.02-rc3, v19.02-rc2, v19.02-rc1, v18.11, v18.11-rc5, v18.11-rc4, v18.11-rc3, v18.11-rc2, v18.11-rc1 |
|
| #
a137d012 |
| 19-Oct-2018 |
Liang Ma <[email protected]> |
examples/l3fwd-power: support traffic pattern aware control
Add the support for new traffic pattern aware power control power management API.
Example: ./l3fwd-power -l xxx -n 4 -w 0000:xx:00.0
examples/l3fwd-power: support traffic pattern aware control
Add the support for new traffic pattern aware power control power management API.
Example: ./l3fwd-power -l xxx -n 4 -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
Please Reference l3fwd-power document for full parameter usage
The option "l", "m", "h" are used to set the power index for LOW, MED, HIGH power state. Only is useful after enable empty-poll
--empty-poll="training_flag, med_threshold, high_threshold"
The option training_flag is used to enable/disable training mode.
The option med_threshold is used to indicate the empty poll threshold of modest state which is customized by user.
The option high_threshold is used to indicate the empty poll threshold of busy state which is customized by user.
Above three option default value is all 0.
Once enable empty-poll. System will apply the default parameter if no other command line options are provided.
If training mode is enabled, the user should ensure that no traffic is allowed to pass through the system. When training phase complete, the application transfer to normal operation
System will start running with the modest power mode. If the traffic goes above 70%, then system will move to High power state. If the traffic drops below 30%, the system will fallback to the modest power state.
Example code use master thread to monitoring worker thread busyness. The default timer resolution is 10ms.
Signed-off-by: Liang Ma <[email protected]> Reviewed-by: Lei Yao <[email protected]> Acked-by: David Hunt <[email protected]>
show more ...
|
|
Revision tags: v18.08, v18.08-rc3, v18.08-rc2, v18.08-rc1 |
|
| #
f88e7c17 |
| 11-Jun-2018 |
Radu Nicolau <[email protected]> |
examples/l3fwd-power: add high/regular perf cores options
Added high/regular performance core pinning configuration options that can be used in place of the existing 'config' option.
'--high-perf-c
examples/l3fwd-power: add high/regular perf cores options
Added high/regular performance core pinning configuration options that can be used in place of the existing 'config' option.
'--high-perf-cores CORELIST' option allow the user to specify a high performance cores list; if this option is not used and the 'perf-config' option is used, the application will query the system using the rte_power library in order to get a list of available high performance cores. The cores that are considered high performance are the cores that have turbo enabled.
'--perf-config (port,queue,hi_perf,lcore_index)' option is similar to the existing config option, the cores are specified as indices for bins containing high or regular performance cores.
Example:
l3fwd-power -l 6,7 -- -p 0xff \ --high-perf-cores 6 --perf-config="(0,0,0,0),(1,0,1,0)"
cores 6 and 7 are used, core 6 is specified as a high performance core. port 0 queue 0 will use a regular performance core, index 0 (core 7) port 1 queue 0 will use a high performance core, index 0 (core 6)
Signed-off-by: Radu Nicolau <[email protected]> Acked-by: David Hunt <[email protected]>
show more ...
|
| #
ed3077c1 |
| 06-Jun-2018 |
Thomas Monjalon <[email protected]> |
examples: make Linux environment check consistent
Some Makefiles are using CONFIG_RTE_EXEC_ENV and others are using CONFIG_RTE_EXEC_ENV_LINUXAPP. Use the latter one for consistency. We could remove
examples: make Linux environment check consistent
Some Makefiles are using CONFIG_RTE_EXEC_ENV and others are using CONFIG_RTE_EXEC_ENV_LINUXAPP. Use the latter one for consistency. We could remove CONFIG_RTE_EXEC_ENV later if considered useless.
Signed-off-by: Thomas Monjalon <[email protected]>
show more ...
|
|
Revision tags: v18.05, v18.05-rc6, v18.05-rc5, v18.05-rc4, v18.05-rc3, v18.05-rc2, v18.05-rc1 |
|
| #
fa47405c |
| 24-Apr-2018 |
Thomas Monjalon <[email protected]> |
ethdev: remove experimental flag of ports enumeration
The basic operations for ports enumeration should not be considered as experimental in DPDK 18.05.
The iterator RTE_ETH_FOREACH_DEV was introdu
ethdev: remove experimental flag of ports enumeration
The basic operations for ports enumeration should not be considered as experimental in DPDK 18.05.
The iterator RTE_ETH_FOREACH_DEV was introduced in DPDK 17.05. It uses the function the rte_eth_find_next_owned_by() to get only ownerless ports. Its API can be considered stable. So the flag experimental is removed from rte_eth_find_next_owned_by().
The flag experimental is removed from rte_eth_dev_count_avail() which is the new name of the old function rte_eth_dev_count().
The flag experimental is set to rte_eth_dev_count_total() in the .c file for consistency with the declaration in the .h file.
A lot of internal applications are fixed to not allow experimental API.
Fixes: 8728ccf37615 ("fix ethdev ports enumeration") Fixes: d9a42a69febf ("ethdev: deprecate port count function") Fixes: e70e26861eaf ("net/mvpp2: fix build")
Signed-off-by: Thomas Monjalon <[email protected]> Tested-by: David Marchand <[email protected]>
show more ...
|
| #
8728ccf3 |
| 05-Apr-2018 |
Thomas Monjalon <[email protected]> |
fix ethdev ports enumeration
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application
Suc
fix ethdev ports enumeration
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application
Such application iterates over ports by its own mean. The most common pattern is to request the port count and assume ports with index in the range [0..count[ can be used.
There are three consequences when using such wrong design: - new ports having an index higher than the port count won't be seen - old ports being detached (RTE_ETH_DEV_UNUSED) can be seen as ghosts - failsafe sub-devices (RTE_ETH_DEV_DEFERRED) will be seen by the application
Such mistake will be less common with growing hotplug awareness. All applications and examples inside this repository - except testpmd - must be fixed to use the iterator RTE_ETH_FOREACH_DEV.
Signed-off-by: Thomas Monjalon <[email protected]>
show more ...
|
|
Revision tags: v18.02, v18.02-rc4, v18.02-rc3, v18.02-rc2, v18.02-rc1 |
|
| #
1842d194 |
| 07-Dec-2017 |
Bruce Richardson <[email protected]> |
examples: enable linking both static and shared
Since the DPDK build now includes both static and shared libraries, we need a new way to enable building the examples using either method from the one
examples: enable linking both static and shared
Since the DPDK build now includes both static and shared libraries, we need a new way to enable building the examples using either method from the one installation. To do this, we add in a default "shared" target, and a separate "static" target which links in the DPDK static libraries. In both cases, the final application name is symlinked to the last-built static or shared target, with both binaries able to co-exist in the build directory.
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Luca Boccassi <[email protected]>
show more ...
|
|
Revision tags: v17.11, v17.11-rc4, v17.11-rc3, v17.11-rc2, v17.11-rc1 |
|
| #
22119c45 |
| 09-Oct-2017 |
Bruce Richardson <[email protected]> |
examples: use pkg-config in makefiles
Change the example app Makefiles to query if DPDK is installed and registered using pkg-config. If so, build directly using pkg-config info, otherwise fall back
examples: use pkg-config in makefiles
Change the example app Makefiles to query if DPDK is installed and registered using pkg-config. If so, build directly using pkg-config info, otherwise fall back to using the original build system with RTE_SDK and RTE_TARGET
This commit changes the makefiles for the basic examples, i.e. those which do not have multiple subdirectories underneath the main examples dir. Examples not covered are:
* ethtool * multi_process * performance-thread * quota_watermark * netmap_compat * server_node_efd * vm_power_manager
Signed-off-by: Bruce Richardson <[email protected]> Reviewed-by: Luca Boccassi <[email protected]>
show more ...
|
| #
0eba4ade |
| 25-Sep-2017 |
Bruce Richardson <[email protected]> |
examples: put app name and sources at top of makefiles
Reorder the text in the makefiles, so that the app name and the source files are listed first. This then will allow them to be shared later in
examples: put app name and sources at top of makefiles
Reorder the text in the makefiles, so that the app name and the source files are listed first. This then will allow them to be shared later in a combined makefile building with pkg-config and RTE_SDK-based build system.
Signed-off-by: Bruce Richardson <[email protected]> Reviewed-by: Luca Boccassi <[email protected]>
show more ...
|
| #
3998e2a0 |
| 19-Dec-2017 |
Bruce Richardson <[email protected]> |
examples: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@i
examples: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v17.08, v17.08-rc4, v17.08-rc3, v17.08-rc2, v17.08-rc1 |
|
| #
98a7ea33 |
| 07-Jun-2017 |
Jerin Jacob <[email protected]> |
fix typos using codespell utility
Fixing typos across dpdk source code using codespell utility. Skipped the ethdev driver's base code fixes to keep the base code intact.
Signed-off-by: Jerin Jacob
fix typos using codespell utility
Fixing typos across dpdk source code using codespell utility. Skipped the ethdev driver's base code fixes to keep the base code intact.
Signed-off-by: Jerin Jacob <[email protected]> Acked-by: John McNamara <[email protected]>
show more ...
|