aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYohanPipereau <ypiperea@cisco.com>2019-04-05 20:14:09 +0200
committerYohanPipereau <ypiperea@cisco.com>2019-04-09 15:32:18 +0200
commit3320f7c7224e051b4a30a74e0a683159ed8b9dea (patch)
tree9f78bdc71d366a402970b44016d92ac922b399c3
parenta760dfb253161911fc3aa3c8b879c461d53ade6e (diff)
Modify build system
-Clean Makefile -Fix errors in scvpp length copies -Add testing when building scvpp Change-Id: I5a331386a1812b147dfec26310dfbd3aed327dae Signed-off-by: YohanPipereau <ypiperea@cisco.com>
-rw-r--r--Makefile310
-rw-r--r--src/cmake/Packager.cmake4
-rw-r--r--src/plugins/openconfig/openconfig_local_routing.c2
-rw-r--r--src/scvpp/src/interface.c4
-rw-r--r--src/scvpp/tests/CMakeLists.txt6
5 files changed, 151 insertions, 175 deletions
diff --git a/Makefile b/Makefile
index f2ee6ee..f2f6747 100644
--- a/Makefile
+++ b/Makefile
@@ -11,21 +11,30 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# Main Dependencies:
+# netopeer2 -> libyang
+# -> libnetconf2 -> libyang
+# -> libssh (>=0.6.4)
+#
+# gnmi -> libsysrepo
+# -> protobuf (>=3)
+# -> libjsoncpp
+#
+# sysrepo -> libyang
+# -> libredblack or libavl
+# -> libev
+# -> protobuf-c
+
export WS_ROOT=$(CURDIR)
export BR=$(WS_ROOT)/build-root
-CCACHE_DIR?=$(BR)/.ccache
-GDB?=gdb
PLATFORM?=sweetcomb
-MACHINE=$(shell uname -m)
-SUDO?=sudo
-#
-# OS Detection
-#
+##############
+#OS Detection#
+##############
ifneq ($(shell uname),Darwin)
OS_ID = $(shell grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
OS_VERSION_ID= $(shell grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
-CENTOS_GCC = $(shell gcc --version|grep gcc|cut -f3 -d' '|cut -f1 -d'.')
endif
ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID))
@@ -36,44 +45,60 @@ PKG=rpm
cmake=cmake3
endif
-# +libganglia1-dev if building the gmond plugin
-
-DEB_DEPENDS = curl build-essential autoconf automake ccache git
-DEB_DEPENDS += bison flex libpcre3-dev libev-dev libavl-dev libprotobuf-c-dev protobuf-c-compiler libcmocka-dev
-DEB_DEPENDS += cmake ninja-build python-pkgconfig python-dev libssl-dev indent wget zlib1g-dev
-
-DEB_GNMI_DEPENDS = libpugixml-dev libjsoncpp-dev libtool pkg-config golang libc-ares-dev libc-ares2
-
-RPM_DEPENDS = curl autoconf automake ccache bison flex pcre-devel libev-devel protobuf-c-devel protobuf-c-compiler libcmocka-devel
-RPM_DEPENDS += cmake ninja-build python-pkgconfig python-devel openssl-devel graphviz wget gcc gcc-c++ indent git cmake3
-RPM_GNMI_DEPENDS = pugixml jsoncpp c-ares c-ares-devel libtool pugixml-devel jsoncpp-devel devtoolset-8-gcc-c++
-
-ifeq ($(findstring y,$(UNATTENDED)),y)
-CONFIRM=-y
-FORCE=--force-yes
-endif
-
-TARGETS = sweetcomb
-
-.PHONY: help install-dep install-dep-extra install-vpp checkstyle fixstyle build-plugins build-scvpp build-package
-
-define banner
- @echo "========================================================================"
- @echo " $(1)"
- @echo "========================================================================"
- @echo " "
-endef
+#####
+#DEB#
+#####
+#Dependencies to build
+BUILD_DEB = curl build-essential autoconf automake ccache git cmake wget coreutils
+#Dependencies for netopeer2
+NETOPEER2_DEB = libssl-dev
+#Dependencies for checkstyle
+CHECKSTYLE_DEB = indent
+#Dependencies for scvpp
+SCVPP_DEB = libcmocka-dev
+#Dependencies for sysrepo (swig required for sysrepo python, lua, java)
+SYSREPO_DEB = libev-dev libavl-dev bison flex libpcre3-dev libprotobuf-c-dev protobuf-c-compiler
+#Dependencies of libssh
+LIBSSH_DEB = zlib1g-dev
+#Sum dependencies
+DEB_DEPENDS = ${BUILD_DEB} ${NETOPEER2_DEB} ${CHECKSTYLE_DEB} ${SCVPP_DEB} \
+ ${SYSREPO_DEB} ${LIBSSH-DEV}
+
+#Dependencies for grpc
+DEB_GNMI_DEPENDS = libpugixml-dev libjsoncpp-dev libtool pkg-config
+
+#####
+#RPM#
+#####
+#Dependencies to build
+BUILD_RPM = curl autoconf automake ccache cmake3 wget gcc gcc-c++ git
+#Dependencies for netopeer2
+NETOPEER2_RPM = openssl-devel
+#Dependencies for checkstyle
+CHECKSTYLE_RPM = indent
+#Dependencies for scvpp
+SCVPP_RPM = libcmocka-devel
+#Dependencies for sysrepo
+SYSREPO_RPM = libev-devel bison flex pcre-devel protobuf-c-devel protobuf-c-compiler
+
+RPM_DEPENDS = ${BUILD_RPM} ${NETOPEER2_RPM} ${CHECKSTYLE_RPM} ${SCVPP_RPM} \
+ ${SYSREPO_RPM}
+
+#Dependencies for grpc
+RPM_GNMI_DEPENDS = pugixml jsoncpp libtool pugixml-devel jsoncpp-devel ${GRPC_RPM}
+
+.PHONY: help install-dep install-dep-extra install-vpp install-models uninstall-models \
+ install-dep-gnmi-extra build-scvpp build-plugins build-gnmi build-package docker \
+ docker_test clean distclean _clean_dl _libssh _libyang _libnetconf2 _sysrepo _netopeer2
help:
@echo "Make Targets:"
@echo " install-dep - install software dependencies"
- @echo " install-dep-extra - install software extra dependencips from source code"
+ @echo " install-dep-extra - install software extra dependencies from source code"
@echo " install-vpp - install released vpp"
@echo " install-models - install YANG models"
@echo " uninstall-models - uninstall YANG models"
@echo " install-dep-gnmi-extra - install software extra dependencips from source code for gNMI"
- @echo " checkstyle - check coding style"
- @echo " fixstyle - fix coding style"
@echo " build-scvpp - build scvpp"
@echo " build-plugins - build plugins"
@echo " build-gnmi - build gNMIServer"
@@ -82,195 +107,142 @@ help:
@echo " docker_test - run test in docker enviroment"
@echo " clean - clean all build"
@echo " distclean - remove all build directory"
-$(BR)/.deps.ok:
-ifeq ($(findstring y,$(UNATTENDED)),y)
- make install-dep
-endif
-ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID))
- @MISSING=$$(apt-get install -y -qq -s $(DEB_DEPENDS) | grep "^Inst ") ; \
- if [ -n "$$MISSING" ] ; then \
- echo "\nPlease install missing packages: \n$$MISSING\n" ; \
- echo "by executing \"make install-dep\"\n" ; \
- echo "please add the full offical ubuntu source\n" ; \
- exit 1 ; \
- fi ; \
- exit 0
-endif
- @touch $@
install-dep:
ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID))
ifeq ($(OS_VERSION_ID),14.04)
- @sudo -E apt-get $(CONFIRM) $(FORCE) install software-properties-common
- @sudo -E add-apt-repository ppa:openjdk-r/ppa $(CONFIRM)
+ @sudo -E apt-get -y --force-yes install software-properties-common
+ @sudo -E add-apt-repository ppa:openjdk-r/ppa -y
endif
@sudo -E apt-get update
- @sudo -E apt-get $(APT_ARGS) $(CONFIRM) $(FORCE) install $(DEB_DEPENDS)
+ @sudo -E apt-get $(APT_ARGS) -y --force-yes install $(DEB_DEPENDS)
else ifeq ($(OS_ID),centos)
- @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS) epel-release centos-release-scl devtoolset-7
+ @sudo -E yum install -y $(RPM_DEPENDS) epel-release centos-release-scl devtoolset-7
@sudo -E yum remove -y libavl libavl-devel
@sudo -E yum install -y http://ftp.nohats.ca/libavl/libavl-0.3.5-1.fc17.x86_64.rpm http://ftp.nohats.ca/libavl/libavl-devel-0.3.5-1.fc17.x86_64.rpm
else
$(error "This option currently works only on Ubuntu, Debian, Centos or openSUSE systems")
endif
-define make
- @make -C $(BR) PLATFORM=$(PLATFORM) TAG=$(1) $(2)
-endef
-
-$(BR)/scripts/.version:
-ifneq ("$(wildcard /etc/redhat-release)","")
- $(shell $(BR)/scripts/version rpm-string > $(BR)/scripts/.version)
+#Check if libssh already installed in appropriate version
+_libssh:
+ifeq ( $(shell pkg-config libssh --atleast-version=0.6.4 ; echo $$?),0 )
+ echo "libssh already installed in correct version"
else
- $(shell $(BR)/scripts/version > $(BR)/scripts/.version)
-endif
-
-# Main Dependencies:
-# netopeer2 -> libyang
-# -> libnetconf2 -> libyang
-# -> libssh
-# sysrepo -> libyang
-# -> libredblack or libavl
-# -> libev
-# -> protobuf
-# -> protobuf-c
-
-install-dep-extra:
- @rm -rf $(BR)/downloads
@mkdir -p $(BR)/downloads/&&cd $(BR)/downloads/\
- \
&&wget https://git.libssh.org/projects/libssh.git/snapshot/libssh-0.7.7.tar.gz\
&&tar xvf libssh-0.7.7.tar.gz && cd libssh-0.7.7 && mkdir build && cd build\
&&cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr ..\
- &&make&&sudo make install && sudo ldconfig&&cd ../../\
- \
+ &&make -j$(nproc) &&sudo make install && sudo ldconfig&&cd ../../
+endif
+
+_libyang:
+ @mkdir -p $(BR)/downloads/&&cd $(BR)/downloads/\
&&wget https://github.com/CESNET/libyang/archive/v0.16-r3.tar.gz\
&&tar xvf v0.16-r3.tar.gz && cd libyang-0.16-r3 && mkdir -p build&& cd build\
- &&cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr ..\
- &&make &&make install&&cd ../../&& mv v0.16-r3.tar.gz libyang-0.16-r3.tar.gz\
- \
- &&wget https://github.com/swig/swig/archive/rel-3.0.12.tar.gz\
- &&tar xvf rel-3.0.12.tar.gz && cd swig-rel-3.0.12\
- &&./autogen.sh&&./configure --prefix=/usr --without-clisp --without-maximum-compile-warnings\
- &&make&&sudo make install && sudo ldconfig&&cd ../&& mv rel-3.0.12.tar.gz swig-3.0.12.tar.gz\
- \
+ &&cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DGEN_LANGUAGE_BINDINGS=OFF -DGEN_CPP_BINDINGS=ON \
+ -DGEN_PYTHON_BINDINGS=OFF -DBUILD_EXAMPLES=OFF \
+ -DENABLE_BUILD_TESTS=OFF .. \
+ &&make -j$(nproc) &&make install&&cd ../../ \
+ && mv v0.16-r3.tar.gz libyang-0.16-r3.tar.gz
+
+_libnetconf2:
+ @mkdir -p $(BR)/downloads/&&cd $(BR)/downloads/\
&&git clone https://github.com/CESNET/libnetconf2.git&&cd libnetconf2\
&&git checkout 7e5f7b05f10cb32a546c42355481c7d87e0409b8&& mkdir -p build&& cd build\
- &&cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr ..\
- &&make&&make install&&ldconfig\
+ &&cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_TESTS=OFF\
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr ..\
+ &&make -j $(nproc) &&make install&&ldconfig\
&&cd ../../\
- \
+
+_sysrepo:
+ @mkdir -p $(BR)/downloads/&&cd $(BR)/downloads/\
&&wget https://github.com/sysrepo/sysrepo/archive/v0.7.7.tar.gz\
&&tar xvf v0.7.7.tar.gz && cd sysrepo-0.7.7 && mkdir -p build && cd build\
- &&cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DGEN_PYTHON_VERSION=2 ..\
- &&make&&make install&&cd ../../&& mv v0.7.7.tar.gz sysrepo-0.7.7.tar.gz\
- \
- \
+ &&cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DGEN_LANGUAGE_BINDINGS=OFF -DGEN_CPP_BINDINGS=ON -DGEN_LUA_BINDINGS=OFF \
+ -DGEN_PYTHON_BINDINGS=OFF -DGEN_JAVA_BINDINGS=OFF -DBUILD_EXAMPLES=OFF \
+ -DENABLE_TESTS=OFF ..\
+ &&make -j$(nproc) &&make install&&cd ../../&& mv v0.7.7.tar.gz sysrepo-0.7.7.tar.gz
+
+_netopeer2:
+ @mkdir -p $(BR)/downloads/&&cd $(BR)/downloads/\
&&wget https://github.com/CESNET/Netopeer2/archive/v0.7-r1.tar.gz\
&&tar xvf v0.7-r1.tar.gz\
- \
+ && echo "Netopeer2:keystored" \
&& cd Netopeer2-0.7-r1/keystored && mkdir -p build && cd build\
&&cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr ..\
- &&make&&make install && sudo ldconfig\
- \
+ &&make -j$(nproc) && make install && sudo ldconfig\
+ && echo "Netopeer2:server" \
&&cd ../../server/ && mkdir -p build && cd build\
- &&cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr ..\
- &&make&& make install && ldconfig\
- \
+ &&cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_BUILD_TESTS=OFF\
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr ..\
+ &&make -j$(nproc) && make install && ldconfig\
+ && echo "Netopeer2:cli" \
&&cd ../../cli && mkdir -p build && cd build\
&&cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr ..\
- &&make&&make install && sudo ldconfig\
+ &&make -j$(nproc) && make install && sudo ldconfig\
&&cd ../../../ && mv v0.7-r1.tar.gz Netopeer2-0.7-r1.tar.gz\
- \
- &&cd ../ && rm -rf $(BR)/downloads
-install-dep-gnmi-extra:
+_clean_dl:
@rm -rf $(BR)/downloads
- @mkdir -p $(BR)/downloads/
-ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID))
- @sudo -E apt-get update
- @sudo -E apt-get $(APT_ARGS) $(CONFIRM) $(FORCE) install $(DEB_GNMI_DEPENDS)
- @sudo apt-get install -y software-properties-common
- @sudo add-apt-repository ppa:ubuntu-toolchain-r/test
- @sudo apt update
- @sudo apt install g++-7 -y
- @sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \
- --slave /usr/bin/g++ g++ /usr/bin/g++-7
- @sudo update-alternatives --config gcc
+install-dep-extra: _clean_dl _libssh _libyang _libnetconf2 _sysrepo _netopeer2
+ @cd ../ && rm -rf $(BR)/downloads
+
+#Protobuf must not be compiled with multiple core, it requires too much memory
+#gRPC can be compiled with cmake or autotools. autotools has been choosen
+#if cmake is choosen use SSL, ZLIB distribution package and compile protobuf separately
+install-dep-gnmi-extra:
+ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID))
+ @sudo -E apt-get $(APT_ARGS) -y --force-yes install $(DEB_GNMI_DEPENDS)
else ifeq ($(OS_ID),centos)
- @sudo -E yum install $(CONFIRM) $(RPM_GNMI_DEPENDS)
+ @sudo -E yum install -y $(RPM_GNMI_DEPENDS)
else
$(error "This option currently works only on Ubuntu, Debian, Centos or openSUSE systems")
endif
-
- @cd $(BR)/downloads/\
- &&wget https://github.com/Kitware/CMake/releases/download/v3.14.0-rc2/cmake-3.14.0-rc2.tar.gz \
- &&tar xvf cmake-3.14.0-rc2.tar.gz &&cd cmake-3.14.0-rc2\
- &&./configure &&make &&make install\
- \
- &&cd $(BR)/downloads/\
- &&wget https://github.com/c-ares/c-ares/releases/download/cares-1_15_0/c-ares-1.15.0.tar.gz\
- &&tar xvf c-ares-1.15.0.tar.gz\
- &&mkdir -p c-ares-1.15.0/build && cd c-ares-1.15.0/build\
- &&cmake -DCMAKE_BUILD_TYPE=Release ../ &&make install\
- \
- &&cd $(BR)/downloads/\
- &&wget https://github.com/protocolbuffers/protobuf/archive/v3.7.0rc2.tar.gz\
- &&tar xvf v3.7.0rc2.tar.gz\
- &&cd protobuf-3.7.0rc2 &&./autogen.sh &&./configure --prefix=/usr\
- &&make &&make install &&ldconfig\
- \
- &&cd $(BR)/downloads/\
- &&wget https://github.com/grpc/grpc/archive/v1.18.0.tar.gz\
- &&tar xvf v1.18.0.tar.gz &&cd grpc-1.18.0 &&mkdir -p build && cd build\
- &&cmake -DgRPC_INSTALL:BOOL=ON -DgRPC_BUILD_TESTS:BOOL=OFF \
- -DgRPC_ZLIB_PROVIDER:STRING=package -DgRPC_CARES_PROVIDER:STRING=package \
- -DgRPC_SSL_PROVIDER:STRING=package -DgRPC_PROTOBUF_PROVIDER=package \
- -DCMAKE_BUILD_TYPE=Release ../\
- &&make ../ &&make install
+ @rm -rf $(BR)/downloads
+ @mkdir -p $(BR)/downloads/&&cd $(BR)/downloads/\
+ && git clone --depth=1 -b v1.16.0 https://github.com/grpc/grpc \
+ && cd grpc && git submodule update --init \
+ && make && make install \
+ && cd third_party/protobuf \
+ && ./autogen.sh && ./configure && make install \
+ &&cd ../../.. && rm -rf $(BR)/downloads
install-vpp:
@echo "please install vpp as vpp's guide from source if failed"
ifeq ($(PKG),deb)
# @curl -s https://packagecloud.io/install/repositories/fdio/release/script.deb.sh | sudo bash
- @sudo -E apt-get $(CONFIRM) $(FORCE) install vpp libvppinfra* vpp-plugin-* vpp-dev
+ @sudo -E apt-get -y --force-yes install vpp libvppinfra* vpp-plugin-* vpp-dev
else ifeq ($(PKG),rpm)
# @curl -s https://packagecloud.io/install/repositories/fdio/release/script.rpm.sh | sudo bash
ifeq ($(OS_ID),centos)
- @sudo yum $(CONFIRM) install vpp vpp-lib vpp-plugin* vpp-devel
+ @sudo yum -y install vpp vpp-lib vpp-plugin* vpp-devel
endif
endif
-checkstyle:
- @build-root/scripts/checkstyle.sh
-
-fixstyle:
- @build-root/scripts/checkstyle.sh --fix
-
build-scvpp:
- @mkdir -p $(BR)/build-scvpp/;cd $(BR)/build-scvpp;cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr $(WS_ROOT)/src/scvpp/;make install;
+ @mkdir -p $(BR)/build-scvpp/; cd $(BR)/build-scvpp; \
+ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr $(WS_ROOT)/src/scvpp/;\
+ make install ; make test
build-plugins:
- @mkdir -p $(BR)/build-plugins/;cd $(BR)/build-plugins/;cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr $(WS_ROOT)/src/plugins/;make install;
-
-docker:
- @build-root/scripts/docker.sh
-
-docker_test:
- @test/run_test.sh
+ @mkdir -p $(BR)/build-plugins/; cd $(BR)/build-plugins/; \
+ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr $(WS_ROOT)/src/plugins/; \
+ make install
build-gnmi:
-ifeq ($(OS_ID),centos)
- @source /opt/rh/devtoolset-8/enable \
- &&mkdir -p $(BR)/build-gnmi/;cd $(BR)/build-gnmi/;cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr $(WS_ROOT)/src/gnmi/;make; make install;
-else
- @mkdir -p $(BR)/build-gnmi/;cd $(BR)/build-gnmi/;cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr $(WS_ROOT)/src/gnmi/;make; make install;
-endif
+ @mkdir -p $(BR)/build-gnmi/; cd $(BR)/build-gnmi/; \
+ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr $(WS_ROOT)/src/gnmi/;make; \
+ make install;
build-package:
- @mkdir -p $(BR)/build-scvpp/;cd $(BR)/build-scvpp;cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr $(WS_ROOT)/src/scvpp/;make install;
- @mkdir -p $(BR)/build-package/;cd $(BR)/build-package/;$(cmake) $(WS_ROOT)/src/;make package;rm -rf $(BR)/build-package/_CPack_Packages;
+ @mkdir -p $(BR)/build-package/; cd $(BR)/build-package/;\
+ $(cmake) -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DENABLE_TESTS=OFF $(WS_ROOT)/src/;make package;\
+ rm -rf $(BR)/build-package/_CPack_Packages;
install-models:
@cd src/plugins/yang/ietf \
diff --git a/src/cmake/Packager.cmake b/src/cmake/Packager.cmake
index 4305652..fddb382 100644
--- a/src/cmake/Packager.cmake
+++ b/src/cmake/Packager.cmake
@@ -33,7 +33,7 @@ macro(make_packages)
set(OS_${_name} ${_value})
endforeach()
- # extract version from git
+ #extract version from git
execute_process(
COMMAND git describe --long --match v*
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
@@ -51,6 +51,8 @@ macro(make_packages)
list(GET VER 1 commit_num)
list(GET VER 2 commit_name)
+ message("${tag}")
+
if (NOT DEFINED ENV{BUILD_NUMBER})
set(bld "b1")
else()
diff --git a/src/plugins/openconfig/openconfig_local_routing.c b/src/plugins/openconfig/openconfig_local_routing.c
index 5d18b52..6a3b5bd 100644
--- a/src/plugins/openconfig/openconfig_local_routing.c
+++ b/src/plugins/openconfig/openconfig_local_routing.c
@@ -381,7 +381,7 @@ oc_next_hop_state_cb(const char *xpath, sr_val_t **values, size_t *values_cnt,
VPP_IP4_PREFIX_STRING_LEN, &state);
rc |= get_xpath_key(index, (char*)xpath, "next-hop", "index",
- VPP_IP4_PREFIX_STRING_LEN, &state);
+ HOP_INDEX_SIZE, &state);
if (rc != 0)
return SR_ERR_INVAL_ARG;
diff --git a/src/scvpp/src/interface.c b/src/scvpp/src/interface.c
index 53cea1c..8f3b30b 100644
--- a/src/scvpp/src/interface.c
+++ b/src/scvpp/src/interface.c
@@ -20,6 +20,8 @@
#include <scvpp/comm.h>
#include <scvpp/interface.h>
+#define IFACE_SUBSTR 49
+
// Use VAPI macros to define symbols
DEFINE_VAPI_MSG_IDS_INTERFACE_API_JSON
@@ -53,7 +55,7 @@ bin_api_sw_interface_dump(vapi_payload_sw_interface_details *details,
/* Dump a specific interfaces */
mp->payload.name_filter_valid = true;
- strncpy((char *)mp->payload.name_filter, iface_name, VPP_INTFC_NAME_LEN);
+ strncpy((char *)mp->payload.name_filter, iface_name, IFACE_SUBSTR);
VAPI_CALL(vapi_sw_interface_dump(g_vapi_ctx, mp,
sw_interface_dump_cb, details));
diff --git a/src/scvpp/tests/CMakeLists.txt b/src/scvpp/tests/CMakeLists.txt
index 2b6de4a..19b7f7b 100644
--- a/src/scvpp/tests/CMakeLists.txt
+++ b/src/scvpp/tests/CMakeLists.txt
@@ -29,12 +29,12 @@ set(TEST_SRC
add_executable(scvpp_test ${TEST_SRC})
target_link_libraries(scvpp_test ${CMOCKA_LIBRARIES} scvpp_a)
target_include_directories(scvpp_test PRIVATE ../inc)
-add_test(scvpp_test scvpp_test)
+add_test(scvpp_test ./scvpp_test)
if(valgrind_FOUND)
- add_test(${TEST_NAME}_valgrind valgrind
+ add_test(scvpp_valgrind valgrind
--error-exitcode=1 --read-var-info=yes
--leak-check=full --show-leak-kinds=all
- ./${TEST_NAME}
+ ./scvpp_test
)
endif(valgrind_FOUND)