From 12085f96264835de7fb2fb607e57edcef603346c Mon Sep 17 00:00:00 2001 From: Olivier Roques Date: Thu, 19 Nov 2020 09:36:59 +0000 Subject: [HICN-657] Remove common.h dependency in collectd plugins In Ubuntu 20.04, the file common.h is not shipped with collectd packages anymore. This patch removes that dependency from the collectd plugins. Change-Id: I234389ee9cbfd1f1820efdb34d532a7b11618206 Signed-off-by: Olivier Roques --- cmake/Modules/FindCollectd.cmake | 10 ++------ telemetry/vpp-collectd/CMakeLists.txt | 2 +- telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt | 9 ++++--- telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c | 30 +++++++++++------------ telemetry/vpp-collectd/vpp/CMakeLists.txt | 22 ++++++++--------- telemetry/vpp-collectd/vpp/vpp.c | 33 ++++++++++++-------------- 6 files changed, 46 insertions(+), 60 deletions(-) diff --git a/cmake/Modules/FindCollectd.cmake b/cmake/Modules/FindCollectd.cmake index 76d2df43f..244fd14e5 100644 --- a/cmake/Modules/FindCollectd.cmake +++ b/cmake/Modules/FindCollectd.cmake @@ -25,21 +25,15 @@ find_path(COLLECTD_INCLUDE_DIR collectd.h DOC "Find the collectd includes" ) -find_path(COLLECTD_COMMON_INCLUDE_DIR common.h - HINTS ${COLLECTD_SEARCH_PATH_LIST} - PATH_SUFFIXES include/collectd/core/daemon/ utils/common/ - DOC "Find the collectd includes" -) - find_path(COLLECTD_CONFIG_INCLUDE_DIR config.h HINTS ${COLLECTD_SEARCH_PATH_LIST} PATH_SUFFIXES include/collectd/core/ DOC "Find the collectd includes" ) -message(STATUS ${COLLECTD_INCLUDE_DIR} ${COLLECTD_COMMON_INCLUDE_DIR} ${COLLECTD_CONFIG_INCLUDE_DIR}) +message(STATUS ${COLLECTD_INCLUDE_DIR} ${COLLECTD_CONFIG_INCLUDE_DIR}) -set(COLLECTD_INCLUDE_DIRS ${COLLECTD_INCLUDE_DIR} ${COLLECTD_COMMON_INCLUDE_DIR} ${COLLECTD_CONFIG_INCLUDE_DIR}) +set(COLLECTD_INCLUDE_DIRS ${COLLECTD_INCLUDE_DIR} ${COLLECTD_CONFIG_INCLUDE_DIR}) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Collectd DEFAULT_MSG COLLECTD_INCLUDE_DIRS) diff --git a/telemetry/vpp-collectd/CMakeLists.txt b/telemetry/vpp-collectd/CMakeLists.txt index ef09fb980..8f82745f2 100644 --- a/telemetry/vpp-collectd/CMakeLists.txt +++ b/telemetry/vpp-collectd/CMakeLists.txt @@ -13,7 +13,7 @@ cmake_minimum_required(VERSION 3.5 FATAL_ERROR) -set (COLLECTD_PLUGINS hicn-collectd-plugins) +set(COLLECTD_PLUGINS hicn-collectd-plugins) project(hicn-collectd-plugins) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/" "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Modules/") diff --git a/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt b/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt index fc39b9385..3703515dc 100644 --- a/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt +++ b/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt @@ -18,7 +18,7 @@ find_package(Collectd REQUIRED) find_package(Vpp REQUIRED) if(${CMAKE_SOURCE_DIR}/vpp-collectd STREQUAL ${PROJECT_SOURCE_DIR}) - message (STATUS "not compiling in the same folder") + message (STATUS "not compiling in the same folder") find_package(HicnPlugin REQUIRED) find_package(VapiSafe REQUIRED) else() @@ -29,17 +29,16 @@ else() endif() list(APPEND SOURCE_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/vpp_hicn.c -) + ${CMAKE_CURRENT_SOURCE_DIR}/vpp_hicn.c) -list (APPEND INCLUDE_DIRS +list(APPEND INCLUDE_DIRS ${COLLECTD_INCLUDE_DIRS} ${HICNPLUGIN_INCLUDE_DIRS} ${SAFE_VAPI_INCLUDE_DIRS} ${VPP_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}) -list (APPEND LIBRARIES +list(APPEND LIBRARIES ${VPP_LIBRARY_VAPICLIENT} ${SAFE_VAPI_LIBRARIES}) diff --git a/telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c b/telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c index 591b8f584..4228ac6e6 100644 --- a/telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c +++ b/telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c @@ -13,25 +13,9 @@ * limitations under the License. */ -#if !HAVE_CONFIG_H -#include -#include - -#ifndef __USE_ISOC99 /* required for NAN */ -#define DISABLE_ISOC99 1 -#define __USE_ISOC99 1 -#endif /* !defined(__USE_ISOC99) */ - -#if DISABLE_ISOC99 -#undef DISABLE_ISOC99 -#undef __USE_ISOC99 -#endif /* DISABLE_ISOC99 */ -#endif /* ! HAVE_CONFIG */ - /* Keep order as it is */ #include #include -#include #include #define counter_t vpp_counter_t @@ -42,6 +26,15 @@ DEFINE_VAPI_MSG_IDS_HICN_API_JSON vapi_ctx_t vapi_ctx; +#define STATIC_ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a))) + +#define IS_TRUE(s) \ + ((strcasecmp("true", (s)) == 0) || (strcasecmp("yes", (s)) == 0) || \ + (strcasecmp("on", (s)) == 0)) +#define IS_FALSE(s) \ + ((strcasecmp("false", (s)) == 0) || (strcasecmp("no", (s)) == 0) || \ + (strcasecmp("off", (s)) == 0)) + /************** OPTIONS ***********************************/ static const char *config_keys[2] = { "Verbose", @@ -188,6 +181,11 @@ static data_set_t dtx_ds = { /**********************************************************/ /********** UTILITY FUNCTIONS *****************************/ /**********************************************************/ +char *sstrncpy(char *dest, const char *src, size_t n) { + strncpy(dest, src, n); + dest[n - 1] = '\0'; + return dest; +} /* * Utility function used by the read callback to populate a diff --git a/telemetry/vpp-collectd/vpp/CMakeLists.txt b/telemetry/vpp-collectd/vpp/CMakeLists.txt index 36248b17a..464ab42d8 100644 --- a/telemetry/vpp-collectd/vpp/CMakeLists.txt +++ b/telemetry/vpp-collectd/vpp/CMakeLists.txt @@ -14,22 +14,20 @@ cmake_minimum_required(VERSION 3.5 FATAL_ERROR) # Dependencies - -list(APPEND SOURCE_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/vpp.c -) - find_package(Vpp REQUIRED) find_package(Collectd REQUIRED) -list (APPEND INCLUDE_DIRS - ${COLLECTD_INCLUDE_DIRS} - ${VPP_INCLUDE_DIRS} - ${CMAKE_CURRENT_SOURCE_DIR}) +list(APPEND SOURCE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/vpp.c) + +list(APPEND INCLUDE_DIRS + ${COLLECTD_INCLUDE_DIRS} + ${VPP_INCLUDE_DIRS} + ${CMAKE_CURRENT_SOURCE_DIR}) -list (APPEND LIBRARIES - ${VPP_LIBRARY_VPPAPICLIENT} - ${VPP_LIBRARY_INFRA}) +list(APPEND LIBRARIES + ${VPP_LIBRARY_VPPAPICLIENT} + ${VPP_LIBRARY_INFRA}) build_library(vpp SHARED diff --git a/telemetry/vpp-collectd/vpp/vpp.c b/telemetry/vpp-collectd/vpp/vpp.c index ba838a050..8bf5182a8 100644 --- a/telemetry/vpp-collectd/vpp/vpp.c +++ b/telemetry/vpp-collectd/vpp/vpp.c @@ -13,25 +13,9 @@ * limitations under the License. */ -#if !HAVE_CONFIG_H -#include -#include - -#ifndef __USE_ISOC99 /* required for NAN */ -#define DISABLE_ISOC99 1 -#define __USE_ISOC99 1 -#endif /* !defined(__USE_ISOC99) */ - -#if DISABLE_ISOC99 -#undef DISABLE_ISOC99 -#undef __USE_ISOC99 -#endif /* DISABLE_ISOC99 */ -#endif /* ! HAVE_CONFIG */ - /* Keep order as it is */ #include #include -#include #include #define counter_t vpp_counter_t @@ -39,6 +23,15 @@ #include #undef counter_t +#define STATIC_ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a))) + +#define IS_TRUE(s) \ + ((strcasecmp("true", (s)) == 0) || (strcasecmp("yes", (s)) == 0) || \ + (strcasecmp("on", (s)) == 0)) +#define IS_FALSE(s) \ + ((strcasecmp("false", (s)) == 0) || (strcasecmp("no", (s)) == 0) || \ + (strcasecmp("off", (s)) == 0)) + /************** OPTIONS ***********************************/ static const char *config_keys[2] = { "Verbose", @@ -164,6 +157,11 @@ static data_set_t if_tx_broadcast_ds = { /**********************************************************/ /********** UTILITY FUNCTIONS *****************************/ /**********************************************************/ +char *sstrncpy(char *dest, const char *src, size_t n) { + strncpy(dest, src, n); + dest[n - 1] = '\0'; + return dest; +} /* * Utility function used by the read callback to populate a @@ -327,8 +325,7 @@ static int vpp_read(void) { } value_t values[1] = { - (value_t){.derive = res[i].simple_counter_vec[k][j]} - }; + (value_t){.derive = res[i].simple_counter_vec[k][j]}}; err = submit(interfaces[j], data_set.type, values, 1, ×tamp); -- cgit 1.2.3-korg