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 ...
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>
meter: fix RFC4115 trTCM API DoxygenThe API's for rte_meter_trtcm were documented as experimentalwith warning in documentation but the API's were not markedas experimental in version.map and/or w
meter: fix RFC4115 trTCM API DoxygenThe API's for rte_meter_trtcm were documented as experimentalwith warning in documentation but the API's were not markedas experimental in version.map and/or with __rte_experimental.This patch removes the warnings from the docbook comment.Fixes: 30512af820fe ("meter: remove experimental flag from RFC4115 trTCM API")Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>Acked-by: Bruce Richardson <bruce.richardson@intel.com>Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.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>
lib: remove extra asterisks ending comment blocksA comment should always be terminated with */Extra asterisks were found with this kind of command: git grep '\* *\*/' libSigned-off-by: Thomas
lib: remove extra asterisks ending comment blocksA comment should always be terminated with */Extra asterisks were found with this kind of command: git grep '\* *\*/' libSigned-off-by: Thomas Monjalon <thomas@monjalon.net>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib: remove blank line ending comment blocksAt the end of a comment, no need for an extra line.This pattern was fixed with the following command:git ls lib | xargs sed -i '/^ *\* *$/{N;/ *\*\/ *
lib: remove blank line ending comment blocksAt the end of a comment, no need for an extra line.This pattern was fixed with the following command:git ls lib | xargs sed -i '/^ *\* *$/{N;/ *\*\/ *$/D;}'Signed-off-by: Thomas Monjalon <thomas@monjalon.net>Acked-by: Bruce Richardson <bruce.richardson@intel.com>Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
cleanup compat header inclusionsWith symbols going though experimental/stable stages, we accumulateda lot of discrepancies about inclusion of the rte_compat.h header.Some headers are including i
cleanup compat header inclusionsWith symbols going though experimental/stable stages, we accumulateda lot of discrepancies about inclusion of the rte_compat.h header.Some headers are including it where unneeded, while others rely onimplicit inclusion.Fix unneeded inclusions:$ git grep -l include..rte_compat.h | xargs grep -LE '__rte_(internal|experimental)' | xargs sed -i -e '/#include..rte_compat.h/d'Fix missing inclusion, by inserting rte_compat.h before the firstinclusion of a DPDK header:$ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h | xargs sed -i -e \ '0,/#include..\(rte_\|.*pmd.h.$\)/{ s/\(#include..\(rte_\|.*pmd.h.$\)\)/#include <rte_compat.h>\n\1/ }'Fix missing inclusion, by inserting rte_compat.h after the lastinclusion of a non DPDK header:$ for file in $(git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h); do tac $file > $file.$$ sed -i -e \ '0,/#include../{ s/\(#include..*$\)/#include <rte_compat.h>\n\n\1/ }' $file.$$ tac $file.$$ > $file rm $file.$$ doneFix missing inclusion, by inserting rte_compat.h after the header guard:$ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h | xargs sed -i -e \ '0,/#define/{ s/\(#define .*$\)/\1\n\n#include <rte_compat.h>/ }'And finally, exclude rte_compat.h itself.$ git checkout lib/eal/include/rte_compat.hAt the end of all this, we have a clean tree:$ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.hbuildtools/check-symbols.shdevtools/checkpatches.shdoc/guides/contributing/abi_policy.rstdoc/guides/rel_notes/release_20_11.rstlib/eal/include/rte_compat.hSigned-off-by: David Marchand <david.marchand@redhat.com>Acked-by: Bruce Richardson <bruce.richardson@intel.com>Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
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>
meter: remove unneeded header includesThese header includes have been flagged by the iwyu_tooland removed.Signed-off-by: Sean Morrissey <sean.morrissey@intel.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>
lib: remove librte_ prefix from directory namesThere is no reason for the DPDK libraries to all have 'librte_' prefix onthe directory names. This prefix makes the directory names longer and alsom
lib: remove librte_ prefix from directory namesThere is no reason for the DPDK libraries to all have 'librte_' prefix onthe directory names. This prefix makes the directory names longer and alsomakes it awkward to add features referring to individual libraries in thebuild - should the lib names be specified with or without the prefix.Therefore, we can just remove the library prefix and use the library'sunique name as the directory name, i.e. 'eal' rather than 'librte_eal'Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>