diff options
Diffstat (limited to 'hicn-plugin/vapi')
-rw-r--r-- | hicn-plugin/vapi/CMakeLists.txt | 112 | ||||
-rw-r--r-- | hicn-plugin/vapi/includes/vapi/vapi_safe.h | 33 | ||||
-rw-r--r-- | hicn-plugin/vapi/libsafevapi-config.cmake.in | 8 | ||||
-rw-r--r-- | hicn-plugin/vapi/src/vapi_safe.c | 98 |
4 files changed, 0 insertions, 251 deletions
diff --git a/hicn-plugin/vapi/CMakeLists.txt b/hicn-plugin/vapi/CMakeLists.txt deleted file mode 100644 index 2005cdaf7..000000000 --- a/hicn-plugin/vapi/CMakeLists.txt +++ /dev/null @@ -1,112 +0,0 @@ -# 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: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -############################################################## -# Libs and Bins names -############################################################## -set(SAFE_VAPI safevapi CACHE INTERNAL "" FORCE) -set(SAFE_VAPI_SHARED ${SAFE_VAPI}.shared CACHE INTERNAL "" FORCE) -set(SAFE_VAPI_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/includes CACHE INTERNAL "" FORCE) -set(SAFE_VAPI_LIBRARIES ${SAFE_VAPI_SHARED} CACHE INTERNAL "" FORCE) - - -############################################################## -# Dependencies and third party libs -############################################################## -find_package(Vpp ${VPP_DEFAULT_VERSION} EXACT REQUIRED) - - -############################################################## -# Check if building as subproject or as root project -############################################################## -if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) - include(CommonSetup) - find_package(HicnPlugin ${CURRENT_VERSION} EXACT REQUIRED) -else() - list(APPEND DEPENDENCIES - ${HICNPLUGIN} - ) -endif() - - -############################################################## -# Sources -############################################################## -list(APPEND HEADER_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/includes/vapi/vapi_safe.h -) - -list(APPEND SOURCE_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/src/vapi_safe.c -) - - -############################################################## -# Compiler Options -############################################################## -set(COMPILER_OPTIONS - ${DEFAULT_COMPILER_OPTIONS} - ${MARCH_COMPILER_OPTIONS} -) - - -############################################################## -# Libraries to link -############################################################## -set (LIBRARIES - ${VPP_LIBRARY_VAPICLIENT} -) - - -############################################################## -# Include directories -############################################################## -list (APPEND INCLUDE_DIRS - PUBLIC - $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}> - $<BUILD_INTERFACE:${HICNPLUGIN_INCLUDE_DIRS}> - $<BUILD_INTERFACE:${VPP_INCLUDE_DIR}> - $<BUILD_INTERFACE:${SAFE_VAPI_INCLUDE_DIRS}> - $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> -) - - -############################################################## -# Build library -############################################################## -build_library(${SAFE_VAPI} - SHARED - SOURCES ${SOURCE_FILES} ${HEADER_FILES} - INSTALL_HEADERS ${HEADER_FILES} - LINK_LIBRARIES PRIVATE ${LIBRARIES} - COMPONENT ${HICN_PLUGIN} - INCLUDE_DIRS ${INCLUDE_DIRS} - HEADER_ROOT_DIR "" - DEFINITIONS PUBLIC ${COMPILER_DEFINITIONS} - DEPENDS ${HICNPLUGIN}.shared - VERSION ${CURRENT_VERSION} - EXPORT_NAME "libsafevapi" - COMPILE_OPTIONS ${COMPILER_OPTIONS} -) - - -############################################################## -# Create cmake configuration -############################################################## -create_cmake_config ( - "libsafevapi" - INCLUDE_DIRS ${SAFE_VAPI_INCLUDE_DIRS} - VERSION ${CURRENT_VERSION} - COMPONENT ${HICN_PLUGIN} - NAMESPACE hicn -) diff --git a/hicn-plugin/vapi/includes/vapi/vapi_safe.h b/hicn-plugin/vapi/includes/vapi/vapi_safe.h deleted file mode 100644 index 423034730..000000000 --- a/hicn-plugin/vapi/includes/vapi/vapi_safe.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * 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: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __VAPI_SAFE__ -#define __VAPI_SAFE__ - -#include <vapi/vapi.h> -#include <pthread.h> - -#include <vapi/hicn.api.vapi.h> -#include <vapi/interface.api.vapi.h> -#include <vapi/ip.api.vapi.h> -#include <vapi/memif.api.vapi.h> -#include <vapi/udp.api.vapi.h> - -vapi_error_e vapi_connect_safe (vapi_ctx_t *vapi_ctx_ret, int async); -vapi_error_e vapi_disconnect_safe (); -void vapi_lock (); -void vapi_unlock (); - -#endif diff --git a/hicn-plugin/vapi/libsafevapi-config.cmake.in b/hicn-plugin/vapi/libsafevapi-config.cmake.in deleted file mode 100644 index feb278c1f..000000000 --- a/hicn-plugin/vapi/libsafevapi-config.cmake.in +++ /dev/null @@ -1,8 +0,0 @@ -@PACKAGE_INIT@ - -set(Libsafevapi_VERSION_MAJOR "@VERSION_MAJOR@") -set(Libsafevapi_VERSION_MINOR "@VERSION_MINOR@") -set(Libsafevapi_VERSION_PATCH "@VERSION_PATCH@") - -set_and_check(Libsafe_vapi_INCLUDE_DIRS "@PACKAGE_Libsafevapi_INCLUDE_DIRS@") -include("${CMAKE_CURRENT_LIST_DIR}/libsafevapi-targets.cmake") diff --git a/hicn-plugin/vapi/src/vapi_safe.c b/hicn-plugin/vapi/src/vapi_safe.c deleted file mode 100644 index a91793674..000000000 --- a/hicn-plugin/vapi/src/vapi_safe.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * 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: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <vapi/vapi_safe.h> -#include <stdlib.h> -#include <stdio.h> - -#define APP_NAME "hicn_plugin" -#define MAX_OUTSTANDING_REQUESTS 4 -#define RESPONSE_QUEUE_SIZE 2 - -DEFINE_VAPI_MSG_IDS_HICN_API_JSON -DEFINE_VAPI_MSG_IDS_INTERFACE_API_JSON -DEFINE_VAPI_MSG_IDS_IP_API_JSON -DEFINE_VAPI_MSG_IDS_UDP_API_JSON -DEFINE_VAPI_MSG_IDS_MEMIF_API_JSON - -pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -vapi_ctx_t g_vapi_ctx_instance = NULL; -u32 count = 0; - -vapi_error_e -vapi_connect_safe (vapi_ctx_t *vapi_ctx_ret, int async) -{ - vapi_error_e rv = VAPI_OK; - - vapi_lock (); - - if (!g_vapi_ctx_instance) - { - rv = vapi_ctx_alloc (&g_vapi_ctx_instance); - if (rv != VAPI_OK) - goto err; - } - - if (!count) - { - rv = vapi_connect (g_vapi_ctx_instance, APP_NAME, NULL, - MAX_OUTSTANDING_REQUESTS, RESPONSE_QUEUE_SIZE, - async ? VAPI_MODE_NONBLOCKING : VAPI_MODE_BLOCKING, - true); - - if (rv != VAPI_OK) - goto err; - } - - count++; - *vapi_ctx_ret = g_vapi_ctx_instance; - - vapi_unlock (); - return rv; - -err: - vapi_unlock (); - return VAPI_ENOMEM; -} - -vapi_error_e -vapi_disconnect_safe () -{ - vapi_error_e rv = VAPI_OK; - - vapi_lock (); - count--; - if (count == 0) - { - rv = vapi_disconnect (g_vapi_ctx_instance); - vapi_ctx_free (g_vapi_ctx_instance); - g_vapi_ctx_instance = NULL; - } - vapi_unlock (); - - return rv; -} - -void -vapi_lock () -{ - pthread_mutex_lock (&mutex); -} - -void -vapi_unlock () -{ - pthread_mutex_unlock (&mutex); -} |