vpp 2101 编译安装和运行

参考

  1. 官网
  2. FD.io/VPP — VPP 的安装部署

一、下载源码

排查之前是否安装过vpp/dpdk并卸载

dpkg -l | grep vpp
dpkg -l | grep DPDK

下载后切换分支到2101上。master容易编译不过。

$ apt-get update
$ git clone https://gerrit.fd.io/r/vpp
$ cd vpp
$ git checkout stable/2101

如果git时出现server certificate verification failed. CAfile: /etc/ssl/,执行

export GIT_SSL_NO_VERIFY=1

二、编译

依赖(<1h)

make install-dep

debug build(网络很重要)

make build

问题:

packages/libbpf.mk:53: "Missing libbpf dependencies. libbpf will be skipped."
Can't open perl script "tools/mkdep.pl": 没有那个文件或目录

问题1 如果make install-dep步骤遇到–skip-broken问题,是依赖包版本冲突问题,需要删除对应版本冲突包,yum remove XXX,再进行make install-dep即可。

pdk/pmds-21.0
Installing drivers/librte_net_fm10k.a to /home/vpp/build-root/install-vpp_debug-native/external/lib
Installing drivers/librte_net_fm10k.so.21.0 to /home/vpp/build-root/install-vpp_debug-native/external/lib/dpdk/pmds-21.0
Installing drivers/librte_net_i40e.a to /home/vpp/build-root/install-vpp_debug-native/external/lib
Installing drivers/librte_net_i40e.so.21.0 to /home/vpp/build-root/install-vpp_debug-native/external/lib/dpdk/pmds-21.0
……
Installing /home/vpp/build-root/build-vpp_debug-native/external/build-dpdk/rte_build_config.h to /home/vpp/build-root/install-vpp_debug-native/external/include
Installing /home/vpp/build-root/build-vpp_debug-native/external/build-dpdk/meson-private/libdpdk-libs.pc to /home/vpp/build-root/install-vpp_debug-native/external/lib/pkgconfig
Installing /home/vpp/build-root/build-vpp_debug-native/external/build-dpdk/meson-private/libdpdk.pc to /home/vpp/build-root/install-vpp_debug-native/external/lib/pkgconfig
Running custom install script '/bin/sh /home/vpp/build-root/build-vpp_debug-native/external/src-dpdk/config/../buildtools/symlink-drivers-solibs.sh lib dpdk/pmds-21.0'
'./librte_bus_fslmc.so' -> 'dpdk/pmds-21.0/librte_bus_fslmc.so'
'./librte_bus_fslmc.so.21' -> 'dpdk/pmds-21.0/librte_bus_fslmc.so.21'
'./librte_bus_fslmc.so.21.0' -> 'dpdk/pmds-21.0/librte_bus_fslmc.so.21.0'
……
'./librte_vdpa_ifc.so' -> 'dpdk/pmds-21.0/librte_vdpa_ifc.so'
'./librte_vdpa_ifc.so.21' -> 'dpdk/pmds-21.0/librte_vdpa_ifc.so.21'
'./librte_vdpa_ifc.so.21.0' -> 'dpdk/pmds-21.0/librte_vdpa_ifc.so.21.0'
mkdir -p downloads
Downloading https://github.com/vpp-quic/quicly/releases/download/v0.1.0-vpp/quicly_0.1.0-vpp.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   662  100   662    0     0    749      0 --:--:-- --:--:-- --:--:--   749
100  860k  100  860k    0     0   294k      0  0:00:02  0:00:02 --:--:--  478k
--- validating quicly 0.1.0-vpp checksum
--- extracting quicly 0.1.0-vpp
--- patching quicly 0.1.0-vpp
Applying patch: 0001-quicly-send-assert-consistency.patch
patching file lib/quicly.c
--- configuring quicly 0.1.0-vpp - log: /home/vpp/build-root/build-vpp_debug-native/external/quicly.config.log
--- building quicly 0.1.0-vpp - log: /home/vpp/build-root/build-vpp_debug-native/external/quicly.build.log
/home/vpp/build-root/build-vpp_debug-native/external/src-quicly/t/test.c:155:13: warning: ‘test_vector’ defined but not used [-Wunused-function]
 static void test_vector(void)
             ^~~~~~~~~~~
--- installing quicly 0.1.0-vpp - log: /home/vpp/build-root/build-vpp_debug-native/external/quicly.install.log
/home/vpp/build-root/build-vpp_debug-native/external/src-quicly/deps/picotls/t/cli.c: In function ‘handle_connection’:
/home/vpp/build-root/build-vpp_debug-native/external/src-quicly/deps/picotls/t/cli.c:155:29: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
                             (void)write(sockfd, encbuf.base, encbuf.off);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/vpp/build-root/build-vpp_debug-native/external/src-quicly/deps/picotls/t/cli.c:162:29: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
                             write(1, rbuf.base, rbuf.off);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/vpp/build-root/build-vpp_debug-native/external/src-quicly/deps/picotls/t/cli.c:236:21: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
                     (void)write(sockfd, wbuf.base, wbuf.off);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: 离开目录“/home/vpp/build/external”
make[2]: 离开目录“/home/vpp/build/external”
@@@@ Configuring vpp in /home/vpp/build-root/build-vpp_debug-native/vpp @@@@
-- The C compiler identification is Clang 9.0.0
-- Check for working C compiler: /usr/bin/clang-9
-- Check for working C compiler: /usr/bin/clang-9 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test compiler_flag_march_haswell
-- Performing Test compiler_flag_march_haswell - Success
-- Performing Test compiler_flag_mprefer_vector_width
-- Performing Test compiler_flag_mprefer_vector_width - Success
-- Performing Test compiler_flag_march_skylake_avx512
-- Performing Test compiler_flag_march_skylake_avx512 - Success
-- Performing Test compiler_flag_march_icelake_client
-- Performing Test compiler_flag_march_icelake_client - Success
-- Looking for ccache
-- Looking for ccache - found
-- Performing Test compiler_flag_no_address_of_packed_member
-- Performing Test compiler_flag_no_address_of_packed_member - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Performing Test HAVE_MEMFD_CREATE
-- Performing Test HAVE_MEMFD_CREATE - Success
-- Performing Test HAVE_GETCPU
-- Performing Test HAVE_GETCPU - Failed
-- Performing Test HAVE_FCNTL64
-- Performing Test HAVE_FCNTL64 - Failed
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1") 
-- The ASM compiler identification is Clang
-- Found assembler: /usr/bin/clang-9
-- Looking for libuuid
-- Found uuid in /usr/include
-- libbpf headers not found - af_xdp plugin disabled
-- Intel IPSecMB found: /home/vpp/build-root/install-vpp_debug-native/external/include
-- dpdk plugin needs libdpdk.a library - found at /home/vpp/build-root/install-vpp_debug-native/external/lib/libdpdk.a
-- Found DPDK 20.11.0 in /home/vpp/build-root/install-vpp_debug-native/external/include
-- dpdk plugin needs numa library - found at /usr/lib/x86_64-linux-gnu/libnuma.so
-- Found quicly 0.1.0-vpp in /home/vpp/build-root/install-vpp_debug-native/external/include
-- rdma plugin needs libibverbs.a library - found at /home/vpp/build-root/install-vpp_debug-native/external/lib/libibverbs.a
-- rdma plugin needs librdma_util.a library - found at /home/vpp/build-root/install-vpp_debug-native/external/lib/librdma_util.a
-- rdma plugin needs libmlx5.a library - found at /home/vpp/build-root/install-vpp_debug-native/external/lib/libmlx5.a
-- Performing Test IBVERBS_COMPILES_CHECK
-- Performing Test IBVERBS_COMPILES_CHECK - Success
-- tlsmbedtls plugin needs mbedtls library - found at /usr/lib/x86_64-linux-gnu/libmbedtls.so
-- tlsmbedtls plugin needs mbedx509 library - found at /usr/lib/x86_64-linux-gnu/libmbedx509.so
-- tlsmbedtls plugin needs mbedcrypto library - found at /usr/lib/x86_64-linux-gnu/libmbedcrypto.so
-- Looking for SSL_set_async_callback
-- Looking for SSL_set_async_callback - not found
-- Looking for picotls
-- Found picotls in /home/vpp/build-root/install-vpp_debug-native/external/include and /home/vpp/build-root/install-vpp_debug-native/external/lib/libpicotls-core.a
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.17", minimum required is "2.7") 
-- Configuration:
VPP version         : 21.01.1-release
VPP library version : 21.01.1
GIT toplevel dir    : /home/vpp
Build type          : debug
C flags             : -Wno-address-of-packed-member -g -fPIC -Werror -Wall -march=corei7 -mtune=corei7-avx -O0 -DCLIB_DEBUG -fstack-protector -DFORTIFY_SOURCE=2 -fno-common 
Linker flags (apps) : 
Linker flags (libs) : 
Host processor      : x86_64
Target processor    : x86_64
Prefix path         : /opt/vpp/external/x86_64;/home/vpp/build-root/install-vpp_debug-native/external
Install prefix      : /home/vpp/build-root/install-vpp_debug-native/vpp
-- Configuring done
-- Generating done
-- Build files have been written to: /home/vpp/build-root/build-vpp_debug-native/vpp
@@@@ Building vpp in /home/vpp/build-root/build-vpp_debug-native/vpp @@@@
[2404/2404] Linking C executable bin/test_vppapiclient
@@@@ Installing vpp @@@@
[0/1] Install the project...
-- Install configuration: "debug"
make[1]: 离开目录“/home/vpp/build-root”

三、编译其他包(>3h)

$ make pkg-deb
$ ls *.deb
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Performing Test HAVE_MEMFD_CREATE
-- Performing Test HAVE_MEMFD_CREATE - Success
-- Performing Test HAVE_GETCPU
-- Performing Test HAVE_GETCPU - Failed
-- Performing Test HAVE_FCNTL64
-- Performing Test HAVE_FCNTL64 - Failed
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1") 
-- The ASM compiler identification is Clang
-- Found assembler: /usr/bin/clang-9
-- Looking for libuuid
-- Found uuid in /usr/include
-- libbpf headers not found - af_xdp plugin disabled
……
-- Performing Test IBVERBS_COMPILES_CHECK
-- Performing Test IBVERBS_COMPILES_CHECK - Success
-- tlsmbedtls plugin needs mbedtls library - found at /usr/lib/x86_64-linux-gnu/libmbedtls.so
-- tlsmbedtls plugin needs mbedx509 library - found at /usr/lib/x86_64-linux-gnu/libmbedx509.so
-- tlsmbedtls plugin needs mbedcrypto library - found at /usr/lib/x86_64-linux-gnu/libmbedcrypto.so
-- Looking for SSL_set_async_callback
-- Looking for SSL_set_async_callback - not found
-- Looking for picotls
-- Found picotls in /home/vpp/build-root/install-vpp-native/external/include and /home/vpp/build-root/install-vpp-native/external/lib/libpicotls-core.a
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.17", minimum required is "2.7") 
-- Configuration:
VPP version         : 21.01.1-release
VPP library version : 21.01.1
GIT toplevel dir    : /home/vpp
Build type          : release
C flags             : -Wno-address-of-packed-member -g -fPIC -Werror -Wall -march=corei7 -mtune=corei7-avx -O2 -fstack-protector -DFORTIFY_SOURCE=2 -fno-common 
Linker flags (apps) : -pie
Linker flags (libs) : 
Host processor      : x86_64
Target processor    : x86_64
Prefix path         : /opt/vpp/external/x86_64;/home/vpp/build-root/install-vpp-native/external
Install prefix      : /home/vpp/build-root/install-vpp-native/vpp
-- Configuring done
-- Generating done
-- Build files have been written to: /home/vpp/build-root/build-vpp-native/vpp
@@@@ Building vpp in /home/vpp/build-root/build-vpp-native/vpp @@@@

问题:

make[2]: 进入目录“/home/vpp/build/external”
packages/libbpf.mk:53: "Missing libbpf dependencies. libbpf will be skipped."



configure: WARNING: No asciidoc package found
configure: WARNING: No xmlto package found

--- building nasm 2.14.02 - log: /home/vpp/build-root/build-vpp-native/external/nasm.build.log
Can't open perl script "tools/mkdep.pl": 没有那个文件或目录
--- installing nasm 2.14.02 - log: /home/vpp/build-root/build-vpp-native/external/nasm.install.log
Can't open perl script "tools/mkdep.pl": 没有那个文件或目录

安装创建的软件包,可能会报错,vpp-api-python 不成功:执行apt --fix-broken install即可解决

$ sudo bash
# dpkg -i *.deb

报错
1.ubuntu下安装出现错误:另一个进程已经为dpkg frontend 加锁
执行,如不成功参考无法获得锁 /var/lib/dpkg/lock-frontend - open

 sudo apt-get update
 sudo apt-get upgrade 
dpkg: 依赖关系问题使得 python3-vpp-api 的配置工作不能继续:
 python3-vpp-api 依赖于 python3-cffi;然而:
  未安装软件包 python3-cffi。
 python3-vpp-api 依赖于 python3-pycparser;然而:
  未安装软件包 python3-pycparser。

dpkg: 处理软件包 python3-vpp-api (--install)时出错:
 依赖关系问题 - 仍未被配置


dpkg: 依赖关系问题使得 vpp-api-python 的配置工作不能继续:
 vpp-api-python 依赖于 python-cffi;然而:
  未安装软件包 python-cffi。

dpkg: 处理软件包 vpp-api-python (--install)时出错:
 依赖关系问题 - 仍未被配置
正在设置 vpp-dbg (21.01.1-release) ...
正在设置 vpp-dev (21.01.1-release) ...
正在设置 vpp-plugin-core (21.01.1-release) ...
正在设置 vpp-plugin-dpdk (21.01.1-release) ...
正在处理用于 libc-bin (2.27-3ubuntu1.4) 的触发器 ...
在处理时有错误发生:
 python3-vpp-api
 vpp-api-python


root@virtual-machine:/home/vpp/build-root# apt --fix-broken install
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在修复依赖关系... 完成
将会同时安装下列软件:
  python-cffi python-ply python-pycparser python3-cffi python3-pycparser
建议安装:
  python-ply-doc
下列【新】软件包将被安装:
  python-cffi python-ply python-pycparser python3-cffi python3-pycparser
升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 11 个软件包未被升级。
有 2 个软件包没有被完全安装或卸载。
需要下载 181 kB/317 kB 的归档。
解压缩后会消耗 2,041 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.aliyun.com/ubuntu bionic/main amd64 python-ply all 3.11-1 [46.6 kB]
获取:2 http://mirrors.aliyun.com/ubuntu bionic/main amd64 python-pycparser all 2.18-2 [67.6 kB]
获取:3 http://mirrors.aliyun.com/ubuntu bionic/main amd64 python-cffi all 1.11.5-1 [67.3 kB]
已下载 181 kB,耗时 1秒 (235 kB/s)
正在选中未选择的软件包 python3-pycparser。
(正在读取数据库 ... 系统当前共安装有 168626 个文件和目录。)
正准备解包 .../python3-pycparser_2.18-2_all.deb  ...
正在解包 python3-pycparser (2.18-2) ...
正在选中未选择的软件包 python3-cffi。
正准备解包 .../python3-cffi_1.11.5-1_all.deb  ...
正在解包 python3-cffi (1.11.5-1) ...
正在选中未选择的软件包 python-ply。
正准备解包 .../python-ply_3.11-1_all.deb  ...
正在解包 python-ply (3.11-1) ...
正在选中未选择的软件包 python-pycparser。
正准备解包 .../python-pycparser_2.18-2_all.deb  ...
正在解包 python-pycparser (2.18-2) ...
正在选中未选择的软件包 python-cffi。
正准备解包 .../python-cffi_1.11.5-1_all.deb  ...
正在解包 python-cffi (1.11.5-1) ...
正在设置 python-ply (3.11-1) ...
正在设置 python3-pycparser (2.18-2) ...
正在设置 python3-cffi (1.11.5-1) ...
正在设置 python-pycparser (2.18-2) ...
正在设置 python3-vpp-api (21.01.1-release) ...
正在设置 python-cffi (1.11.5-1) ...
正在设置 vpp-api-python (21.01.1-release) ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...

四、运行

非GDB

# 运行发布映像:
$ make run-release

#运行调试映像:
$ make run

GDB

运行vpp然后进入gdb

# 运行发布映像:
$ make debug-release
(gdb)

# 运行调试映像:
$ make debug
(gdb)

运行后

root@virtual-machine:/home/vpp# make run
WARNING: STARTUP_CONF not defined or file doesn't exist.
         Running with minimal startup config:  unix { interactive cli-listen /run/vpp/cli.sock gid 0 } dpdk { no-pci } 

dpdk             [warn  ]: not enough DPDK crypto resources
dpdk/cryptodev   [warn  ]: dpdk_cryptodev_init: Not enough cryptodevs
vat-plug/load    [error ]: vat_plugin_register: oddbuf plugin not loaded...
    _______    _        _   _____  ___ 
 __/ __/ _ \  (_)__    | | / / _ \/ _ \
 _/ _// // / / / _ \   | |/ / ___/ ___/
 /_/ /____(_)_/\___/   |___/_/  /_/    

DBGvpp# 

问题:

  1. WARNING: STARTUP_CONF not defined or file doesn't exist.
    配置文件位置/home/vpp/build-root/install-vpp_debug-native/vpp/etc/vpp/startup.conf
    makefile中没有获得这个位置?

五、测试

  1. 基本测试运行,所有测试向量,单 vpp 实例,优化图像:
    测试前要先用systemctl stop vpp把vpp服务停了,不然测试报错
  $ make test
root@virtual-machine:/home/vpp# make test

make -C test VPP_BUILD_DIR=/home/vpp/build-root/build-vpp-native VPP_BIN=/home/vpp/build-root/install-vpp-native/vpp/bin/vpp VPP_PLUGIN_PATH=/home/vpp/build-root/install-vpp-native/vpp/lib/vpp_plugins:/home/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins VPP_TEST_PLUGIN_PATH=/home/vpp/build-root/install-vpp-native/vpp/lib/vpp_api_test_plugins:/home/vpp/build-root/install-vpp-native/vpp/lib64/vpp_api_test_plugins VPP_INSTALL_PATH=/home/vpp/build-root/install-vpp-native/ LD_LIBRARY_PATH=/home/vpp/build-root/install-vpp-native/vpp/lib/:/home/vpp/build-root/install-vpp-native/vpp/lib64/ EXTENDED_TESTS= PYTHON= OS_ID=ubuntu RND_SEED=1645066655.5821648 CACHE_OUTPUT= test
make[1]: 进入目录“/home/vpp/test”
ls: 无法访问'/home/vpp/src/vat2/test/*.py': 没有那个文件或目录
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/vpp/build-root/build-test/venv/bin/python3
Also creating executable in /home/vpp/build-root/build-test/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
Ipsec AH - TUN encap tests 
==============================================================================
ipsec 4o4 tunnel basic test                                          2.90 OK
ipsec 6o6 tunnel basic test                                          2.39 OK
ipsec 4o4 tunnel burst test                                          4.69 OK
ipsec 6o6 tunnel burst test                                          5.01 OK
ipsec 4o4 tunnel basic reassembly test                               2.48 OK
ipsec 6o6 tunnel basic reassembly test                               2.45 OK
11:16:41,830 VPP died shortly after startup, check the output to standard error for possible cause
11:16:41,843 ------------------------------------------------------------------------------
11:16:41,844 VPP output to stderr while running TestIpsecAhHandoff:
11:16:41,845 ------------------------------------------------------------------------------
11:16:41,847 
/home/vpp/build-root/install-vpp-native/vpp/bin/vpp[42598]: buffer: numa[0] falling back to non-hugepage backed buffer pool ()
/home/vpp/build-root/install-vpp-native/vpp/bin/vpp[42598]: vlib_thread_init: no available cpus to be used for the 'workers' threa

11:16:41,849 ------------------------------------------------------------------------------

==============================================================================
ERROR: setUpClass (test_ipsec_ah.TestIpsecAhHandoff)
------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/vpp/build-root/build-test/src/test_ipsec_ah.py", line 289, in setUpClass
    super(TemplateIpsecAh, cls).setUpClass()
  File "/home/vpp/build-root/build-test/src/test_ipsec_ah.py", line 56, in setUpClass
    super(ConfigIpsecAH, cls).setUpClass()
  File "/home/vpp/build-root/build-test/src/template_ipsec.py", line 183, in setUpClass
    super(TemplateIpsec, cls).setUpClass()
  File "/home/vpp/test/framework.py", line 567, in setUpClass
    hook.poll_vpp()
  File "/home/vpp/test/hook.py", line 116, in poll_vpp
    raise framework.VppDiedError(rv=self.test.vpp.returncode)
framework.VppDiedError: VPP subprocess died unexpectedly with return code: 0 [].

11:16:41,888 Symlink to failed testcase directory: /tmp/vpp-failed-unittests/vpp-unittest-TestIpsecAhHandoff-3stc9gkv-FAILED -> vpp-unittest-TestIpsecAhHandoff-3stc9gkv



==============================================================================
Ipsec ESP - TCP tests 
==============================================================================
verify checksum correctness for vpp generated packets                1.44 OK
11:24:56,794 VPP died shortly after startup, check the output to standard error for possible cause
11:24:56,806 ------------------------------------------------------------------------------
11:24:56,807 VPP output to stderr while running TestIpsecEspHandoff:
11:24:56,809 ------------------------------------------------------------------------------
11:24:56,811 
/home/vpp/build-root/install-vpp-native/vpp/bin/vpp[45570]: buffer: numa[0] falling back to non-hugepage backed buffer pool ()
/home/vpp/build-root/install-vpp-native/vpp/bin/vpp[45570]: vlib_thread_init: no available cpus to be used for the 'workers' threa

11:24:56,814 ------------------------------------------------------------------------------

==============================================================================
ERROR: setUpClass (test_ipsec_esp.TestIpsecEspHandoff)
------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/vpp/build-root/build-test/src/test_ipsec_esp.py", line 284, in setUpClass
    super(TemplateIpsecEsp, cls).setUpClass()
  File "/home/vpp/build-root/build-test/src/test_ipsec_esp.py", line 40, in setUpClass
    super(ConfigIpsecESP, cls).setUpClass()
  File "/home/vpp/build-root/build-test/src/template_ipsec.py", line 183, in setUpClass
    super(TemplateIpsec, cls).setUpClass()
  File "/home/vpp/test/framework.py", line 567, in setUpClass
    hook.poll_vpp()
  File "/home/vpp/test/hook.py", line 116, in poll_vpp
    raise framework.VppDiedError(rv=self.test.vpp.returncode)
framework.VppDiedError: VPP subprocess died unexpectedly with return code: 0 [].

11:24:56,842 Symlink to failed testcase directory: /tmp/vpp-failed-unittests/vpp-unittest-TestIpsecEspHandoff-l_d37max-FAILED -> vpp-unittest-TestIpsecEspHandoff-l_d37max



==============================================================================
TEST RESULTS:
     Scheduled tests: 1275
      Executed tests: 1262
        Passed tests: 1109
       Skipped tests: 153
  Not Executed tests: 13
              Errors: 7
FAILURES AND ERRORS IN TESTS:
  Testcase name: Ipsec AH Handoff 
      ERROR: setUpClass [setUpClass (test_ipsec_ah.TestIpsecAhHandoff)]
  Testcase name: Ipsec ESP - handoff tests 
      ERROR: setUpClass [setUpClass (test_ipsec_esp.TestIpsecEspHandoff)]
  Testcase name: Ipsec ESP 6 Handoff tests 
      ERROR: setUpClass [setUpClass (test_ipsec_tun_if_esp.TestIpsec6TunIfEspHandoff)]
  Testcase name: Ipsec ESP 4 Handoff tests 
      ERROR: setUpClass [setUpClass (test_ipsec_tun_if_esp.TestIpsec4TunIfEspHandoff)]
  Testcase name: IPv4 Reassembly (multiple workers) 
      ERROR: setUpClass [setUpClass (test_reassembly.TestIPv4MWReassembly)]
  Testcase name: IPv6 Reassembly (multiple workers) 
      ERROR: setUpClass [setUpClass (test_reassembly.TestIPv6MWReassembly)]
  Testcase name: Wireguard Tests in multi worker setup 
      ERROR: setUpClass [setUpClass (test_wireguard.WireguardHandoffTests)]
TESTCASES WHERE NO TESTS WERE SUCCESSFULLY EXECUTED:
  Ipsec ESP - handoff tests 
  Ipsec AH Handoff 
  Ipsec ESP 6 Handoff tests 
  IPv6 Reassembly (multiple workers) 
  IPv4 Reassembly (multiple workers) 
  Wireguard Tests in multi worker setup 
  Ipsec ESP 4 Handoff tests 
==============================================================================

0 attempt(s) left.
Killing possible remaining process IDs:  48781 48783
Not compressing files in temporary directories from failed test runs.
Makefile:232: recipe for target 'test' failed
make[1]: *** [test] Error 1
make[1]: 离开目录“/home/vpp/test”
Makefile:397: recipe for target 'test' failed
make: *** [test] Error 2

  1. 10路并行基本测试运行:
  $ make TEST_JOBS=10 test

运行特定的测试套件(在本例中为 mpls):

  $ make TEST=test_mpls test

运行一个特定的测试套件,调试映像,在运行测试套件之前暂停;在gdb中附加到VPP映像:

  $ make TEST=xxx DEBUG=gdb test-debug
# 指导
$ make test-help

学习资料
1、呆呆辉的博客:https://blog.csdn.net/jqh9804,主要是对vpp源码的解读,让新手更容易入门。
2、于扬的博客: ,文章不是很多,但是多系统了解vpp和dpdk有帮助,
3、赖少的博客:,DPDK和vpp的文章都挺多了,不是源码解读,主要是使用方面。
4、VPP 性能之一:crach优化,在使用和维护vpp开发人员重点掌握的精髓,并作为vpp编码规范。
5、Linux高性能交流社区 ,主要有讨论DPDK、VPP、Hyperscan、OVS、PFRING、Netmap等的交流社区,学习DPDK很有帮助

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值