summaryrefslogtreecommitdiffstats
path: root/telemetry/vpp-collectd
diff options
context:
space:
mode:
Diffstat (limited to 'telemetry/vpp-collectd')
-rw-r--r--telemetry/vpp-collectd/CMakeLists.txt46
-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.h12
-rw-r--r--telemetry/vpp-collectd/vpp-hicn/CMakeLists.txt67
-rw-r--r--telemetry/vpp-collectd/vpp-hicn/vpp_hicn.c4
-rw-r--r--telemetry/vpp-collectd/vpp/CMakeLists.txt52
-rw-r--r--telemetry/vpp-collectd/vpp/vpp.c4
7 files changed, 121 insertions, 70 deletions
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>