diff options
Diffstat (limited to 'telemetry')
-rw-r--r-- | telemetry/CMakeLists.txt | 14 | ||||
-rw-r--r-- | telemetry/vpp-collectd/CMakeLists.txt | 46 | ||||
-rw-r--r-- | telemetry/vpp-collectd/cmake/packaging.cmake (renamed from telemetry/vpp-collectd/cmake/Modules/Packaging.cmake) | 6 | ||||
-rw-r--r-- | telemetry/vpp-collectd/common/plugin.h | 12 | ||||
-rw-r--r-- | telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt | 67 | ||||
-rw-r--r-- | telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c | 4 | ||||
-rw-r--r-- | telemetry/vpp-collectd/vpp/CMakeLists.txt | 52 | ||||
-rw-r--r-- | telemetry/vpp-collectd/vpp/vpp.c | 4 |
8 files changed, 132 insertions, 73 deletions
diff --git a/telemetry/CMakeLists.txt b/telemetry/CMakeLists.txt index fbb929529..eff855646 100644 --- a/telemetry/CMakeLists.txt +++ b/telemetry/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# Copyright (c) 2021-2022 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -14,8 +14,16 @@ cmake_minimum_required(VERSION 3.10 FATAL_ERROR) -if ((CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) OR +############################################################## +# Packaging and versioning +############################################################## +include(${CMAKE_CURRENT_SOURCE_DIR}/../versions.cmake) + + +############################################################## +# Subdirectories +############################################################## +if ((CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) OR (BUILD_HICNPLUGIN AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")) add_subdirectory(vpp-collectd) endif () - diff --git a/telemetry/vpp-collectd/CMakeLists.txt b/telemetry/vpp-collectd/CMakeLists.txt index 7afb3f432..54a1a4b76 100644 --- a/telemetry/vpp-collectd/CMakeLists.txt +++ b/telemetry/vpp-collectd/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# Copyright (c) 2021-2022 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -11,18 +11,50 @@ # See the License for the specific language governing permissions and # limitations under the License. -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/") -include(BuildMacros) +############################################################## +# CMake Modules +############################################################## +set(CMAKE_MODULE_PATH + ${CMAKE_MODULE_PATH} + ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Modules/) + + +############################################################## +# Dependencies +############################################################## +find_package(Vpp ${VPP_DEFAULT_VERSION} REQUIRED) +find_package(Collectd ${COLLECTD_DEFAULT_VERSION} REQUIRED) + + +############################################################## +# Libs and bins names +############################################################## +set(COLLECTD_PLUGINS hicn-collectd-plugins) + + +############################################################## +# Packaging +############################################################## +include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/packaging.cmake) + + +############################################################## +# Compiler Options +############################################################## +set(COMPILER_OPTIONS + ${DEFAULT_COMPILER_OPTIONS} +) + +############################################################## +# Subdirectories +############################################################## add_subdirectory(vpp) add_subdirectory(vpp-hicn) -include(Packaging) if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) - include(Packager) - make_packages() + make_packages() endif() diff --git a/telemetry/vpp-collectd/cmake/Modules/Packaging.cmake b/telemetry/vpp-collectd/cmake/packaging.cmake index 72da05d02..49a617342 100644 --- a/telemetry/vpp-collectd/cmake/Modules/Packaging.cmake +++ b/telemetry/vpp-collectd/cmake/packaging.cmake @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# Copyright (c) 2021-2022 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -21,11 +21,11 @@ set(${COLLECTD_PLUGINS}_DESCRIPTION ) set(${COLLECTD_PLUGINS}_DEB_DEPENDENCIES - "collectd, hicn-plugin-dev" + "collectd, hicn-plugin-dev (= stable_version)" CACHE STRING "Dependencies for deb/rpm package." ) set(${COLLECTD_PLUGINS}_RPM_DEPENDENCIES - "collectd, hicn-plugin-dev" + "collectd, hicn-plugin-dev = stable_version" CACHE STRING "Dependencies for deb/rpm package." )
\ No newline at end of file diff --git a/telemetry/vpp-collectd/common/plugin.h b/telemetry/vpp-collectd/common/plugin.h index 0e75adc9b..bbd69e003 100644 --- a/telemetry/vpp-collectd/common/plugin.h +++ b/telemetry/vpp-collectd/common/plugin.h @@ -43,13 +43,11 @@ #define DS_TYPE_ABSOLUTE 3 #define DS_TYPE_TO_STRING(t) \ - (t == DS_TYPE_COUNTER) \ - ? "counter" \ - : (t == DS_TYPE_GAUGE) \ - ? "gauge" \ - : (t == DS_TYPE_DERIVE) \ - ? "derive" \ - : (t == DS_TYPE_ABSOLUTE) ? "absolute" : "unknown" + (t == DS_TYPE_COUNTER) ? "counter" \ + : (t == DS_TYPE_GAUGE) ? "gauge" \ + : (t == DS_TYPE_DERIVE) ? "derive" \ + : (t == DS_TYPE_ABSOLUTE) ? "absolute" \ + : "unknown" #ifndef LOG_ERR #define LOG_ERR 3 diff --git a/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt b/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt index 9db20be38..d55aede80 100644 --- a/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt +++ b/telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# Copyright (c) 2021-2022 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -11,45 +11,56 @@ # See the License for the specific language governing permissions and # limitations under the License. -cmake_minimum_required(VERSION 3.10 FATAL_ERROR) - -# Dependencies -find_package(Collectd REQUIRED) -find_package(Vpp REQUIRED) - +############################################################## +# Check if building as subproject or as root project +############################################################## if(${CMAKE_SOURCE_DIR}/vpp-collectd STREQUAL ${PROJECT_SOURCE_DIR}) message (STATUS "not compiling in the same folder") - find_package(HicnPlugin REQUIRED) - find_package(VapiSafe REQUIRED) + find_package(HicnPlugin ${CURRENT_VERSION} REQUIRED) + find_package(Vapisafe ${CURRENT_VERSION} REQUIRED) else() message (STATUS "compiling in the same folder") list(APPEND DEPENDENCIES - hicn_plugin + ${HICNPLUGIN_SHARED} ) endif() + +############################################################## +# Sources +############################################################## list(APPEND SOURCE_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/vpp_hicn.c) + ${CMAKE_CURRENT_SOURCE_DIR}/vpp_hicn.c +) list(APPEND INCLUDE_DIRS - ${COLLECTD_INCLUDE_DIRS} - ${HICNPLUGIN_INCLUDE_DIRS} - ${SAFE_VAPI_INCLUDE_DIRS} - ${VPP_INCLUDE_DIRS} - ${CMAKE_CURRENT_SOURCE_DIR} - "${CMAKE_CURRENT_SOURCE_DIR}/../common") + ${COLLECTD_INCLUDE_DIRS} + ${HICNPLUGIN_INCLUDE_DIRS} + ${SAFE_VAPI_INCLUDE_DIRS} + ${VPP_INCLUDE_DIRS} + ${CMAKE_CURRENT_SOURCE_DIR} + "${CMAKE_CURRENT_SOURCE_DIR}/../common" +) + +############################################################## +# Libs +############################################################## list(APPEND LIBRARIES - ${VPP_LIBRARY_VAPICLIENT} - ${SAFE_VAPI_LIBRARIES}) + ${VPP_LIBRARY_VAPICLIENT} + ${SAFE_VAPI_LIBRARIES} +) + +############################################################## +# Build library +############################################################## build_library(vpp_hicn - SHARED - SOURCES ${SOURCE_FILES} - LINK_LIBRARIES ${LIBRARIES} - INCLUDE_DIRS ${INCLUDE_DIRS} - INSTALL_FULL_PATH_DIR ${CMAKE_INSTALL_PREFIX}/lib/collectd - COMPONENT "${COLLECTD_PLUGINS}" - DEPENDS ${DEPENDENCIES} - EMPTY_PREFIX true - ) + SOURCES ${SOURCE_FILES} + LINK_LIBRARIES ${LIBRARIES} + INCLUDE_DIRS ${INCLUDE_DIRS} + INSTALL_FULL_PATH_DIR ${CMAKE_INSTALL_PREFIX}/lib/collectd + COMPONENT "${COLLECTD_PLUGINS}" + DEPENDS ${DEPENDENCIES} + COMPILE_OPTIONS ${COMPILER_OPTIONS} +) diff --git a/telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c b/telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c index b6bc3af49..a724c1124 100644 --- a/telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c +++ b/telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Cisco and/or its affiliates. + * Copyright (c) 2021 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: @@ -14,8 +14,8 @@ */ /* Keep order as it is */ -#include <config.h> #include "common.h" +#include <config.h> #define counter_t vpp_counter_t #include <vapi/hicn.api.vapi.h> diff --git a/telemetry/vpp-collectd/vpp/CMakeLists.txt b/telemetry/vpp-collectd/vpp/CMakeLists.txt index c36787355..41c19208a 100644 --- a/telemetry/vpp-collectd/vpp/CMakeLists.txt +++ b/telemetry/vpp-collectd/vpp/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# Copyright (c) 2021-2022 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -11,29 +11,39 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Dependencies -find_package(Vpp REQUIRED) -find_package(Collectd REQUIRED) - +############################################################## +# Sources +############################################################## list(APPEND SOURCE_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/vpp.c) + ${CMAKE_CURRENT_SOURCE_DIR}/vpp.c +) + +############################################################## +# Include directories +############################################################## list(APPEND INCLUDE_DIRS - ${COLLECTD_INCLUDE_DIRS} - ${VPP_INCLUDE_DIRS} - ${CMAKE_CURRENT_SOURCE_DIR} - "${CMAKE_CURRENT_SOURCE_DIR}/../common") + ${COLLECTD_INCLUDE_DIRS} + ${VPP_INCLUDE_DIRS} + ${CMAKE_CURRENT_SOURCE_DIR} + "${CMAKE_CURRENT_SOURCE_DIR}/../common" +) + +############################################################## +# Libraries +############################################################## list(APPEND LIBRARIES - ${VPP_LIBRARY_VPPAPICLIENT} - ${VPP_LIBRARY_INFRA}) + ${VPP_LIBRARY_VPPAPICLIENT} + ${VPP_LIBRARY_INFRA} +) + -build_library(vpp - SHARED - SOURCES ${SOURCE_FILES} - LINK_LIBRARIES ${LIBRARIES} - INCLUDE_DIRS ${INCLUDE_DIRS} - INSTALL_FULL_PATH_DIR ${CMAKE_INSTALL_PREFIX}/lib/collectd - COMPONENT ${COLLECTD_PLUGINS} - EMPTY_PREFIX true - ) +build_module(vpp + SOURCES ${SOURCE_FILES} + LINK_LIBRARIES ${LIBRARIES} + INCLUDE_DIRS ${INCLUDE_DIRS} + INSTALL_FULL_PATH_DIR ${CMAKE_INSTALL_PREFIX}/lib/collectd + COMPONENT ${COLLECTD_PLUGINS} + COMPILE_OPTIONS ${COMPILER_OPTIONS} +) diff --git a/telemetry/vpp-collectd/vpp/vpp.c b/telemetry/vpp-collectd/vpp/vpp.c index dcf956c93..85d0971d0 100644 --- a/telemetry/vpp-collectd/vpp/vpp.c +++ b/telemetry/vpp-collectd/vpp/vpp.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Cisco and/or its affiliates. + * Copyright (c) 2021 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: @@ -14,8 +14,8 @@ */ /* Keep order as it is */ -#include <config.h> #include "common.h" +#include <config.h> #define counter_t vpp_counter_t #include <vpp-api/client/stat_client.h> |