Hello community, here is the log from the commit of package vpp for openSUSE:Factory checked in at 2019-03-26 15:45:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vpp (Old) and /work/SRC/openSUSE:Factory/.vpp.new.25356 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vpp" Tue Mar 26 15:45:15 2019 rev:20 rq:688375 version:19.4 Changes: -------- --- /work/SRC/openSUSE:Factory/vpp/vpp.changes 2018-10-23 20:38:34.840674026 +0200 +++ /work/SRC/openSUSE:Factory/.vpp.new.25356/vpp.changes 2019-03-26 15:45:23.540082833 +0100 @@ -1,0 +2,34 @@ +Tue Jan 29 10:46:24 CET 2019 - [email protected] + +- Update to v19.4-rc0((fate#325916, fate#325951 fate#326025, fate#326992):) + *Infrastructure + DPDK 18.11 integration + New Stats infrastructure (interface, error, node performance counters) + Add configurable "Doug Lea malloc" support + *VNET & Plugins + Load balancing: support per-port VIP and all-port VIP + Port NSH plugin to VPP + NAT + Configurable port range + Virtual Fragmentation Reassembly for endpoint-dependent mode + Client-IP based session affinity for load-balancing + TCP MSS clamping + Session timeout + Bug-fixing and performance optimizations + *Host stack + Support for applications with multiple workers + Support for binds from multiple app workers to same ip:port + Switched to a message queue for io and control event notifications + Support for eventfd based notifications as alternative to mutext-condvar pair + VCL refactor to support async event notifications and multiple workers + TLS async support in client for HW accleration + Performance optimizations and bug-fixing + [- deps.patch, + + remove-git.patch, + * enable-shared-dpdk.patch, + * startup-conf.patch ] +- removed api-java package till we find a fix +- Add _service file + [+ _service] + +------------------------------------------------------------------- Old: ---- deps.patch vpp-18.07.1-release.tar.xz New: ---- _service remove-git.patch vpp-v19.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vpp.spec ++++++ --- /var/tmp/diff_new_pack.Aj5sdI/_old 2019-03-26 15:45:24.728082262 +0100 +++ /var/tmp/diff_new_pack.Aj5sdI/_new 2019-03-26 15:45:24.732082260 +0100 @@ -1,7 +1,7 @@ # # spec file for package vpp # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,41 +16,44 @@ # -%define _vpp_build_dir %{buildroot}/../../BUILD/vpp-%{version}/build-root -%define _vpp_install_dir %{_vpp_build_dir}/install-vpp-native/ -%define _vpp_plugins_lib_dir %{_vpp_install_dir}/vpp/lib64 +%define _vpp_build_dir %{buildroot}/../../BUILD/vpp-v%{version}/build +%define _vpp_install_dir %{_vpp_build_dir}/ +%define _vpp_plugins_lib_dir %{_vpp_install_dir}/lib %define lname libvpp0 Name: vpp -Version: 18.07.1 +Version: 19.4 Release: 0 Summary: Set of libraries and drivers for fast packet processing License: Apache-2.0 Group: Productivity/Networking/Routing Url: https://wiki.fd.io/view/VPP -Source0: %{name}-%{version}-release.tar.xz +Source0: vpp-v19.4.tar.gz Patch0: enable-shared-dpdk.patch Patch1: startup-conf.patch -Patch2: deps.patch +Patch2: remove-git.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: ccache BuildRequires: check-devel BuildRequires: chrpath +BuildRequires: cmake BuildRequires: distribution-release -BuildRequires: dpdk-devel => 18.02 +BuildRequires: dpdk-devel => 18.11 BuildRequires: gcc7 BuildRequires: gcc7-c++ +BuildRequires: git BuildRequires: glibc-devel BuildRequires: glibc-devel-static -BuildRequires: java-devel >= 1.8 +#BuildRequires: java-devel >= 1.8 BuildRequires: libboost_headers-devel BuildRequires: libboost_thread-devel BuildRequires: libnuma-devel BuildRequires: libopenssl-devel BuildRequires: libtool +BuildRequires: libuuid-devel BuildRequires: lsb-release BuildRequires: make BuildRequires: mbedtls-devel @@ -58,9 +61,9 @@ BuildRequires: python-devel BuildRequires: python-pip BuildRequires: python-rpm-macros -BuildRequires: python2-ply BuildRequires: python3-devel BuildRequires: python3-pip +BuildRequires: python3-ply BuildRequires: rdma-core-devel BuildRequires: shadow Conflicts: otherproviders(vpp-any) @@ -130,18 +133,6 @@ %description api-lua This package contains the lua bindings for the vpp api -%package api-java -Summary: VPP api java bindings -Group: Development/Libraries/Java -Requires: %{lname} = %{version} -Requires: %{name} = %{version} -Requires: %{name}-devel = %{version} -Conflicts: otherproviders(%{name}-any-api-java) -Provides: %{name}-any-api-java = %{version} - -%description api-java -This package contains the java bindings for the vpp api - %package api-python Summary: VPP api python bindings Group: Development/Libraries/Python @@ -156,18 +147,22 @@ This package contains the python bindings for the vpp api %prep -%setup -q -n %{name}-%{version} +%setup -q -n %{name}-v%{version} %patch0 -p1 -%patch1 +%patch1 -p1 %patch2 -p1 %build export VPP_BUILD_USER=suse export VPP_BUILD_HOST=SUSE -make -C build-root CC=gcc-7 CXX=g++-7 PLATFORM=vpp TAG=vpp MAKE_PARALLEL_JOBS="%{?_smp_mflags}" install-packages - -cd %{_vpp_build_dir}/../src/vpp-api/python && %{py2_build} +cd build +cmake ../src +make CC=gcc-7 CXX=g++-7 PLATFORM=vpp TAG=vpp MAKE_PARALLEL_JOBS="%{?_smp_mflags}" + +cd - +cd ./src/vpp-api/python && %{py2_build} +cd - %pre # Add the vpp group @@ -180,7 +175,7 @@ # mkdir -p -m755 %{buildroot}%{_bindir} mkdir -p -m755 %{buildroot}%{_unitdir} -install -m 755 %{_vpp_install_dir}/*/bin/* %{buildroot}%{_bindir} +install -m 755 %{_vpp_install_dir}/bin/* %{buildroot}%{_bindir} # api mkdir -p -m755 %{buildroot}%{_datadir}/vpp/api @@ -189,8 +184,11 @@ # core api # mkdir -p -m755 %{buildroot}%{_datadir}/vpp/api -install -p -m 644 %{_vpp_install_dir}/vpp/share/vpp/api/core/*.api.json %{buildroot}%{_datadir}/vpp/api -install -p -m 644 %{_vpp_install_dir}/vpp/share/vpp/api/plugins/*.api.json %{buildroot}%{_datadir}/vpp/api +for file in $(find %{_vpp_install_dir}-type f -name '*.api.json' -print ) +do + install -p -m 755 $file %{buildroot}%{_datadir}/vpp/api +done + # # configs # @@ -204,7 +202,7 @@ mkdir -p -m755 %{buildroot}%{_libdir} mkdir -p -m755 %{buildroot}%{_sysconfdir}/bash_completion.d mkdir -p -m755 %{buildroot}%{_datadir}/vpp -for file in $(find %{_vpp_install_dir}/*/lib* -type f -name '*.so.*.*.*' -print ) +for file in $(find %{_vpp_install_dir}/lib* -type f -name '*.so.*.*' -print ) do install -p -m 755 $file %{buildroot}%{_libdir} done @@ -212,8 +210,6 @@ do # make lib symlinks ( cd %{buildroot}%{_libdir} && - ln -fs $file $(echo $file | sed -e 's/\(\.so\.[0-9]\+\).*/\1/') ) - ( cd %{buildroot}%{_libdir} && ln -fs $file $(echo $file | sed -e 's/\(\.so\)\.[0-9]\+.*/\1/') ) done for file in $(find %{_vpp_install_dir}/vpp/share/vpp/api -type f -name '*.api.json' -print ) @@ -221,7 +217,6 @@ install -p -m 644 $file %{buildroot}%{_datadir}/vpp/api done install -p -m 644 %{_vpp_build_dir}/../src/scripts/vppctl_completion %{buildroot}%{_sysconfdir}/bash_completion.d -install -p -m 644 %{_vpp_build_dir}/../src/scripts/vppctl-cmd-list %{buildroot}%{_datadir}/vpp # Lua bindings mkdir -p -m755 %{buildroot}%{_datadir}/doc/vpp/examples/lua/examples/cli @@ -233,26 +228,19 @@ done # Java bindings -mkdir -p -m755 %{buildroot}%{_datadir}/java -for file in $(find %{_vpp_install_dir}/vpp/share/java -type f -name '*.jar' -print ) -do - install -p -m 644 $file %{buildroot}%{_datadir}/java -done +#mkdir -p -m755 %{buildroot}%{_datadir}/java +#for file in $(find %{_vpp_install_dir}/vpp/share/java -type f -name '*.jar' -print ) +#do +# install -p -m 644 $file %{buildroot}%{_datadir}/java +#done # Python bindings cd %{_vpp_build_dir}/../src/vpp-api/python && %{py2_install} -mkdir -p -m755 %{buildroot}%{python_sitelib}/vpp_papi -for file in $(find %{_vpp_install_dir}/*/lib/python2.7/site-packages/ -type f -print | grep -v pyc | grep -v pyo) -do - install -p -m755 $file %{buildroot}%{python_sitelib}/vpp_papi/ -done -chmod -x %{buildroot}%{python_sitelib}/vpp_papi/*.txt - # # devel # -for dir in $(find %{_vpp_install_dir}/*/include/ -maxdepth 0 -type d -print | grep -v dpdk) +for dir in $(find %{_vpp_install_dir}/../src -maxdepth 0 -type d -print | grep -v dpdk) do for subdir in $(cd ${dir} && find . -type d -print) do @@ -264,12 +252,6 @@ done done -mkdir -p -m755 %{buildroot}%{python_sitelib}/jvppgen -install -p -m755 %{_vpp_build_dir}/../src/vpp-api/java/jvpp/gen/jvpp_gen.py %{buildroot}%{_prefix}/bin -for i in $(ls %{_vpp_build_dir}/../src/vpp-api/java/jvpp/gen/jvppgen/*.py); do - install -p -m755 ${i} %{buildroot}%{python_sitelib}/jvppgen -done; - # sample plugin mkdir -p -m755 %{buildroot}%{_datadir}/doc/vpp/examples/sample-plugin/sample for file in $(cd %{_vpp_install_dir}/../../sample-plugin && find -type f -print) @@ -303,7 +285,7 @@ # # remove RPATH from ELF binaries # -%{_vpp_build_dir}/scripts/remove-rpath %{buildroot} +%{_vpp_build_dir}/../build-root/scripts/remove-rpath %{buildroot} export NO_BRP_CHECK_RPATH=true @@ -325,10 +307,16 @@ %{_bindir}/vpp* %{_bindir}/svm* %{_bindir}/elftool +%{_bindir}/sock_test_client +%{_bindir}/sock_test_server +%{_bindir}/tcp_echo +%{_bindir}/udp_echo +%{_bindir}/vcl_test_client +%{_bindir}/vcl_test_server + %dir %{_sysconfdir}/vpp %config %{_sysconfdir}/vpp/startup.conf %{_sysconfdir}/bash_completion.d/vppctl_completion -%{_datadir}/vpp/vppctl-cmd-list %license LICENSE %files -n %{lname} @@ -339,20 +327,14 @@ %files api-lua %{_datadir}/doc/vpp/examples/lua -%files api-java -%{_datadir}/java/* - %files api-python %dir %{python_sitelib}/vpp_papi* %{python_sitelib}/vpp_papi* %files devel -%dir %{python_sitelib}/jvppgen -%{python_sitelib}/jvppgen/* %dir %{_datadir}/doc/vpp %dir %{_datadir}/doc/vpp/examples %{_libdir}/*.so -%{_bindir}/jvpp_gen.py %{_includedir}/* %{_datadir}/doc/vpp/examples/sample-plugin %dir %{_datadir}/vpp ++++++ _service ++++++ <services> <service name="tar_scm" mode="disabled"> <param name="url">https://github.com/FDio/vpp</param> <param name="scm">git</param> <param name="exclude">.git</param> <param name="versionformat">v19.4</param> <param name="revision">master</param> <param name="filename">vpp</param> </service> <service name="recompress" mode="disabled"> <param name="file">vpp-*.tar</param> <param name="compression">gz</param> </service> <service name="set_version" mode="disabled"/> </services> ++++++ enable-shared-dpdk.patch ++++++ --- /var/tmp/diff_new_pack.Aj5sdI/_old 2019-03-26 15:45:24.788082233 +0100 +++ /var/tmp/diff_new_pack.Aj5sdI/_new 2019-03-26 15:45:24.788082233 +0100 @@ -1,18 +1,13 @@ -diff -Nuar vpp-18.07.1.old/build-data/platforms/vpp.mk vpp-18.07.1.new/build-data/platforms/vpp.mk ---- vpp-18.07.1.old/build-data/platforms/vpp.mk 2018-09-15 18:11:20.000000000 +0200 -+++ vpp-18.07.1.new/build-data/platforms/vpp.mk 2018-09-21 11:25:04.754301415 +0200 -@@ -31,10 +31,10 @@ - # DPDK configuration parameters - # vpp_uses_dpdk_mlx4_pmd = yes - # vpp_uses_dpdk_mlx5_pmd = yes --# vpp_uses_external_dpdk = yes --# vpp_dpdk_inc_dir = /usr/include/dpdk --# vpp_dpdk_lib_dir = /usr/lib --# vpp_dpdk_shared_lib = yes +diff --git a/build-data/platforms/vpp.mk b/build-data/platforms/vpp.mk +index 1018496..4f775c7 100644 +--- a/build-data/platforms/vpp.mk ++++ b/build-data/platforms/vpp.mk +@@ -43,3 +43,8 @@ vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -fPIC -Werror -coverage + vpp_coverity_TAG_CFLAGS = -g -O2 -fPIC -Werror -D__COVERITY__ + vpp_coverity_TAG_LDFLAGS = -g -O2 -fPIC -Werror -D__COVERITY__ + +vpp_uses_external_dpdk = yes +vpp_dpdk_inc_dir = /usr/include/dpdk +vpp_dpdk_lib_dir = /usr/lib +vpp_dpdk_shared_lib = yes - - # Use '--without-libnuma' for non-numa aware architecture - vpp_configure_args_vpp = ++ ++++++ remove-git.patch ++++++ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b83d44e7..9a3863d6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,13 +23,14 @@ include(cmake/ccache.cmake) ############################################################################## # VPP Version ############################################################################## -execute_process( - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND scripts/version - OUTPUT_VARIABLE VPP_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE -) -string(REPLACE "-" ";" VPP_LIB_VERSION ${VPP_VERSION}) +#execute_process( +# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +# COMMAND scripts/version +# OUTPUT_VARIABLE VPP_VERSION +# OUTPUT_STRIP_TRAILING_WHITESPACE +#) +set(VPP_VERSION 19.04-rc0~93-gee721412) +string(REPLACE "-" ";" VPP_LIB_VERSION 19.04-rc0~93-gee721412) list(GET VPP_LIB_VERSION 0 VPP_LIB_VERSION) ############################################################################## diff --git a/src/cmake/pack.cmake b/src/cmake/pack.cmake index 0da3093b..72378873 100644 --- a/src/cmake/pack.cmake +++ b/src/cmake/pack.cmake @@ -40,7 +40,7 @@ macro(add_vpp_packaging name) OUTPUT_VARIABLE VER OUTPUT_STRIP_TRAILING_WHITESPACE ) - string(REGEX REPLACE "v(.*)-([0-9]+)-(g[0-9a-f]+)" "\\1;\\2;\\3" VER ${VER}) + string(REGEX REPLACE "v(.*)-([0-9]+)-(g[0-9a-f]+)" "\\1;\\2;\\3" VER v19.04-rc0-93-gee721412) list(GET VER 0 tag) string(REPLACE "-" "~" tag ${tag}) list(GET VER 1 commit_num) ++++++ startup-conf.patch ++++++ --- /var/tmp/diff_new_pack.Aj5sdI/_old 2019-03-26 15:45:24.800082228 +0100 +++ /var/tmp/diff_new_pack.Aj5sdI/_new 2019-03-26 15:45:24.800082228 +0100 @@ -1,6 +1,8 @@ ---- ./src/vpp/conf/startup.conf.old 2018-04-10 14:27:11.923229168 +0200 -+++ ./src/vpp/conf/startup.conf 2018-04-10 14:29:27.103754312 +0200 -@@ -7,23 +7,6 @@ +diff --git a/src/vpp/conf/startup.conf b/src/vpp/conf/startup.conf +index 610f248..73519d8 100644 +--- a/src/vpp/conf/startup.conf ++++ b/src/vpp/conf/startup.conf +@@ -7,23 +7,6 @@ unix { gid vpp } @@ -24,51 +26,31 @@ api-segment { gid vpp } -@@ -64,7 +47,7 @@ - # scheduler-priority 50 - } +@@ -80,7 +63,7 @@ cpu { + # default data-size 2048 + # } -# dpdk { -+dpdk { - ## Change default settings for all intefaces ++ dpdk { + ## Change default settings for all interfaces # dev default { ## Number of receive queues, enables RSS -@@ -107,7 +90,7 @@ +@@ -132,7 +115,7 @@ cpu { ## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci, ## uio_pci_generic or auto (default) - # uio-driver vfio-pci + uio-driver vfio-pci - ## Disable mutli-segment buffers, improves performance but + ## Disable multi-segment buffers, improves performance but ## disables Jumbo MTU support -@@ -125,22 +108,12 @@ - ## Disables UDP / TCP TX checksum offload. Typically needed for use - ## faster vector PMDs (together with no-multi-seg) - # no-tx-checksum-offload --# } -- -- +@@ -148,7 +131,8 @@ cpu { + # } + + -# plugins { -- ## Adjusting the plugin path depending on where the VPP plugins are -- # path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins -- -- ## Disable all plugins by default and then selectively enable specific plugins -- # plugin default { disable } -- # plugin dpdk_plugin.so { enable } -- # plugin acl_plugin.so { enable } -+} - -- ## Enable all plugins by default and then selectively disable specific plugins -+plugins -+{ ++plugins { + path /usr/lib64/vpp_plugins -+ -+ # Uncomment the following line to disable DPDK and use Linux Kernel infrastructure - # plugin dpdk_plugin.so { disable } -- # plugin acl_plugin.so { disable } --# } -- -- ## Alternate syntax to choose plugin path -- # plugin_path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins -+} + ## Adjusting the plugin path depending on where the VPP plugins are + # path /ws/vpp/build-root/install-vpp-native/vpp/lib/vpp_plugins +
