use C linkage where appropriate in headersAssure that 'extern "C" { /../ }' do not cover files included from aparticular header file, and address minor issues resulting from thischange of order.
use C linkage where appropriate in headersAssure that 'extern "C" { /../ }' do not cover files included from aparticular header file, and address minor issues resulting from thischange of order.Dealing with C++ should delegate to the individual include file level,rather than being imposed by the user of that file. For example,forcing C linkage prevents __Generic macros being replaced withoverloaded static inline functions in C++ translation units.Eliminate 'extern "C"' from files which do not declare any symbols(e.g., only macros or struct types).On the other hand, the headers check is too naive in assuming that allheaders must contain a 'extern "C"'. Such a check was added in commit1ee492bdc4ff ("buildtools/chkincs: check missing C++ guards").Since this current change results in many headers not containing sucha token, remove the check for 'extern "C"' until we have a betterimplementation.Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>Acked-by: Morten Brørup <mb@smartsharesystems.com>Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
drivers: use per line logging in helpersUse RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Chengwen Feng <fen
drivers: use per line logging in helpersUse RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Chengwen Feng <fengchengwen@huawei.com>Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>Acked-by: Thomas Monjalon <thomas@monjalon.net>
version: 24.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 25.0.The map files are updated to the new ABI major number (25).The ABI exceptions are dropped and C
version: 24.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 25.0.The map files are updated to the new ABI major number (25).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Thomas Monjalon <thomas@monjalon.net>
net/ring: set mbuf port for received packetsWhen using ring based ethdev, mbuf->port is not set on received packets.For applications that use the mbuf->port to identify the incoming port,especia
net/ring: set mbuf port for received packetsWhen using ring based ethdev, mbuf->port is not set on received packets.For applications that use the mbuf->port to identify the incoming port,especially when eventdev RX adapter pulls the packet on a different coreand the application running on a worker core has no clue on the incomingport. This change adds some cycles at receive, to set the port of course.Signed-off-by: Sriram Yagnaraman <sriram.yagnaraman@ericsson.com>Acked-by: Morten Brørup <mb@smartsharesystems.com>Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
drivers: use stdatomic APIReplace the use of gcc builtin __atomic_xxx intrinsics withcorresponding rte_atomic_xxx optional rte stdatomic API.Signed-off-by: Tyler Retzlaff <roretzla@linux.microso
drivers: use stdatomic APIReplace the use of gcc builtin __atomic_xxx intrinsics withcorresponding rte_atomic_xxx optional rte stdatomic API.Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>Acked-by: Stephen Hemminger <stephen@networkplumber.org>Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
net/ring: fix Rx and Tx queue stateThe DPDK framework reports the queue state, which is stored indev->data->tx_queue_state and dev->data->rx_queue_state. Thestate is maintained by the driver. Use
net/ring: fix Rx and Tx queue stateThe DPDK framework reports the queue state, which is stored indev->data->tx_queue_state and dev->data->rx_queue_state. Thestate is maintained by the driver. Users may determine whethera queue participates in packet forwarding based on the state.Therefore, the driver needs to modify the queue state in timeaccording to the actual situation.Fixes: 9ad9ff476cac ("ethdev: add queue state in queried queue information")Cc: stable@dpdk.orgSigned-off-by: Jie Hai <haijie1@huawei.com>Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
version: 23.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 24.0.The map files are updated to the new ABI major number (24).The ABI exceptions are dropped and C
version: 23.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 24.0.The map files are updated to the new ABI major number (24).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.The telemetry and vhost libraries compat code is cleaned up in nextcommits.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
net/ring: replace legacy atomics with GCC builtin atomicsReplace the use of rte_atomic.h types and functions, instead use GCCsupplied C++11 memory model builtins.Signed-off-by: Tyler Retzlaff <r
net/ring: replace legacy atomics with GCC builtin atomicsReplace the use of rte_atomic.h types and functions, instead use GCCsupplied C++11 memory model builtins.Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>Acked-by: Morten Brørup <mb@smartsharesystems.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
build: clarify configuration without IOVA field in mbufThe impact of the option "enable_iova_as_pa" is explained for users.Also the code flag "RTE_IOVA_AS_PA" is renamed as "RTE_IOVA_IN_MBUF"in
build: clarify configuration without IOVA field in mbufThe impact of the option "enable_iova_as_pa" is explained for users.Also the code flag "RTE_IOVA_AS_PA" is renamed as "RTE_IOVA_IN_MBUF"in order to be more accurate (IOVA mode is decided at runtime),and more readable in the code.Similarly the drivers are using the variable "require_iova_in_mbuf"instead of "pmd_supports_disable_iova_as_pa" with an opposite meaning.By default, it is assumed that drivers require the IOVA field in mbuf.The drivers which support removing this field have to declare themselves.Some bus drivers are declared compatible.If the option "enable_iova_as_pa" is disabled, the unsupported driverswill be listed with the new reason text "requires IOVA in mbuf".Suggested-by: Bruce Richardson <bruce.richardson@intel.com>Signed-off-by: Thomas Monjalon <thomas@monjalon.net>Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>Acked-by: Morten Brørup <mb@smartsharesystems.com>Acked-by: Chengwen Feng <fengchengwen@huawei.com>
net/ring: build on WindowsThe command line arguments are stored in node_action_pairand the name[] was sized to PATH_MAX which does not exist on Windows.Since the name is either "CREATE" or "ATTAC
net/ring: build on WindowsThe command line arguments are stored in node_action_pairand the name[] was sized to PATH_MAX which does not exist on Windows.Since the name is either "CREATE" or "ATTACH" it is notrelated to PATH_MAX (4096).This driver needs to include rte_os_shim.h because of strdup().With this fix driver builds ok on windows, but need to modify thetest meson build to skip the eventdev test on Windows.Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
drivers: mark SW PMDs to support disabling IOVA as PAEnabled software PMDs in IOVA as PA disabled buildas they work with IOVA as VA.Signed-off-by: Shijith Thotton <sthotton@marvell.com>Acked-by
drivers: mark SW PMDs to support disabling IOVA as PAEnabled software PMDs in IOVA as PA disabled buildas they work with IOVA as VA.Signed-off-by: Shijith Thotton <sthotton@marvell.com>Acked-by: Olivier Matz <olivier.matz@6wind.com>
net/ring: support power monitorCurrently ring pmd does not support ``rte_power_monitor`` api.This patch adds support by adding monitor callback that is calledwhenever we enter sleep state and nee
net/ring: support power monitorCurrently ring pmd does not support ``rte_power_monitor`` api.This patch adds support by adding monitor callback that is calledwhenever we enter sleep state and need to check if it is time to wakeup.Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
bus/vdev: make driver-only headers privateThe vdev bus interface is for drivers only.Mark as internal and move the header in the driver headers list.While at it, cleanup the code:- fix indentat
bus/vdev: make driver-only headers privateThe vdev bus interface is for drivers only.Mark as internal and move the header in the driver headers list.While at it, cleanup the code:- fix indentation,- remove unneeded reference to bus specific singleton object,- remove unneeded list head structure type,- reorder the definitions and macro manipulating the bus singleton object,- remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Rosen Xu <rosen.xu@intel.com>Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
eal: remove unneeded includes from a public headerDo not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>,because they are not used by this file.Include the needed headers directl
eal: remove unneeded includes from a public headerDo not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>,because they are not used by this file.Include the needed headers directly from the files that need them.Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
version: 22.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 23.0.The map files are updated to the new ABI major number (23).The ABI exceptions are dropped and C
version: 22.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 23.0.The map files are updated to the new ABI major number (23).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Special handling of removed drivers is also dropped in check-abi.sh anda note has been added in libabigail.abignore as a reminder.Signed-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Thomas Monjalon <thomas@monjalon.net>
net/ring: support promisc and allmulticastAdd promiscuous_enable, promiscuous_disable, allmulticast_enable,and allmulticast_disable API stubs.This helps clean up errors in dpdk-test link_bonding_
net/ring: support promisc and allmulticastAdd promiscuous_enable, promiscuous_disable, allmulticast_enable,and allmulticast_disable API stubs.This helps clean up errors in dpdk-test link_bonding_mode4_autotest.Signed-off-by: Robert Sanford <rsanford@akamai.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
ethdev: add namespaceAdd 'RTE_ETH' namespace to all enums & macros in a backward compatibleway. The macros for backward compatibility can be removed in next LTS.Also updated some struct names to
ethdev: add namespaceAdd 'RTE_ETH' namespace to all enums & macros in a backward compatibleway. 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>
ethdev: make queue release callback optionalSome drivers don't need Rx and Tx queue release callback, make themoptional. Clean up empty queue release callbacks for some drivers.Signed-off-by: Xu
ethdev: make queue release callback optionalSome drivers don't need Rx and Tx queue release callback, make themoptional. Clean up empty queue release callbacks for some drivers.Signed-off-by: Xueming Li <xuemingl@nvidia.com>Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>Acked-by: Thomas Monjalon <thomas@monjalon.net>Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
version: 21.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 22.0.The map files are updated to the new ABI major number (22).The ABI exceptions are dropped and C
version: 21.11-rc0Start a new release cycle with empty release notes.The ABI version becomes 22.0.The map files are updated to the new ABI major number (22).The ABI exceptions are dropped and CI ABI checks are disabled becausecompatibility is not preserved.Signed-off-by: Thomas Monjalon <thomas@monjalon.net>Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>Acked-by: David Marchand <david.marchand@redhat.com>
log: register with standardized namesLet's try to enforce the convention where most drivers use a pmd. logtypewith their class reflected in it, and libraries use a lib. logtype.Introduce two new
log: register with standardized namesLet's try to enforce the convention where most drivers use a pmd. logtypewith their class reflected in it, and libraries use a lib. logtype.Introduce two new macros:- RTE_LOG_REGISTER_DEFAULT can be used when a single logtype is used in a component. It is associated to the default name provided by the build system,- RTE_LOG_REGISTER_SUFFIX can be used when multiple logtypes are used, and then the passed name is appended to the default name,RTE_LOG_REGISTER is left untouched for existing external usersand for components that do not comply with the convention.There is a new Meson variable log_prefix to adapt the default namefor baseband (pmd.bb.), bus (no pmd.) and mempool (no pmd.) classes.Note: achieved with below commands + reverted change on net/bonding +edits on crypto/virtio, compress/mlx5, regex/mlx5$ git grep -l RTE_LOG_REGISTER drivers/ | while read file; do pattern=${file##drivers/}; class=${pattern%%/*}; pattern=${pattern#$class/}; drv=${pattern%%/*}; case "$class" in baseband) pattern=pmd.bb.$drv;; bus) pattern=bus.$drv;; mempool) pattern=mempool.$drv;; *) pattern=pmd.$class.$drv;; esac sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; done$ git grep -l RTE_LOG_REGISTER lib/ | while read file; do pattern=${file##lib/}; pattern=lib.${pattern%%/*}; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; doneSigned-off-by: David Marchand <david.marchand@redhat.com>Signed-off-by: Thomas Monjalon <thomas@monjalon.net>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
drivers: change indentation in build filesSwitch from using tabs to 4 spaces for meson.build indentation.Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
net/ring: support secondary processSigned-off-by: Ferruh Yigit <ferruh.yigit@intel.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
ethdev: make driver-only headers privateThe rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files arefor drivers only and should be a private to DPDK and not installed.Signed-off-by:
ethdev: make driver-only headers privateThe rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files arefor drivers only and should be a private to DPDK and not installed.Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>Acked-by: Thomas Monjalon <thomas@monjalon.net>Acked-by: Steven Webster <steven.webster@windriver.com>
drivers/net: build i40e and mlx5 on WindowsAllows i40e and mlx5 PMDs to compile on Windows and disable other drivers.Disable few i40e warnings with Clang such as comparison of integers ofdiffere
drivers/net: build i40e and mlx5 on WindowsAllows i40e and mlx5 PMDs to compile on Windows and disable other drivers.Disable few i40e warnings with Clang such as comparison of integers ofdifferent signs and macro redefinitions.Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>Acked-by: Tal Shnaiderman <talshn@nvidia.com>Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
net/ring: fix typo in log messageAdd a missing space.Fixes: 869bf6d222bb ("net/ring: fix coding style")Cc: stable@dpdk.orgSigned-off-by: Olivier Matz <olivier.matz@6wind.com>Reviewed-by: Ferr
net/ring: fix typo in log messageAdd a missing space.Fixes: 869bf6d222bb ("net/ring: fix coding style")Cc: stable@dpdk.orgSigned-off-by: Olivier Matz <olivier.matz@6wind.com>Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
12345