aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxiaolongx.jiang <xiaolongx.jiang@intel.com>2020-05-28 10:23:26 +0000
committerxiaolongx.jiang <xiaolongx.jiang@intel.com>2020-06-08 17:55:44 +0800
commit4e79f2d7486f2cbfe9e799882e13ec63601b95b2 (patch)
tree221dcad4729d2aa026b4f43ccdb05b1107d3cb2b
parent40de9f06b06af56bd6bc82b7c32c255ab779f8a6 (diff)
support vpp 20.05, modify openssl and nginx prefix and add verify
Signed-off-by: xiaolongx.jiang <xiaolongx.jiang@intel.com> Change-Id: I6d1b630944094fda50812b1070e4b61c1e8d9753
-rw-r--r--Makefile11
-rw-r--r--README.md6
-rw-r--r--configs/startup.conf31
-rw-r--r--configs/vcl.conf2
-rw-r--r--packages/nginx_ldp.mk2
-rw-r--r--packages/nginx_vcl.mk2
-rw-r--r--packages/openssl.mk2
-rwxr-xr-xpackages/verify.sh147
-rw-r--r--packages/vpp_ldp.mk13
-rw-r--r--packages/vpp_vcl.mk11
10 files changed, 196 insertions, 31 deletions
diff --git a/Makefile b/Makefile
index b528e2a..75566a2 100644
--- a/Makefile
+++ b/Makefile
@@ -48,6 +48,8 @@ help:
@echo " build-vcl - build vcl vpp and vcl nginx"
@echo " deb-ldp - build ldp DEB package"
@echo " build-ldp - build ldp vpp and ldp nginx"
+ @echo " verify-vcl - verify vcl starts properly"
+ @echo " verify-ldp - verify ldp starts properly"
@echo " clean - clean up build environment."
@echo " clean-vcl - clean up build vcl environment."
@echo " clean-ldp - clean up build ldp environment."
@@ -85,13 +87,20 @@ build-vcl: $(BR)/.deps.ok openssl-dl nginx-dl openssl-build vpp_vcl-build nginx_
.PHONY: build-ldp
build-ldp: $(BR)/.deps.ok openssl-dl nginx-dl openssl-build vpp_ldp-build nginx_ldp-build
-
.PHONY: deb-vcl
deb-vcl: build-vcl openssl-deb vpp_vcl-deb nginx_vcl-deb
.PHONY: deb-ldp
deb-ldp: build-ldp openssl-deb vpp_ldp-deb nginx_ldp-deb
+.PHONY: verify-vcl
+verify-vcl: build-vcl
+ @./packages/verify.sh vcl
+
+.PHONY: verify-ldp
+verify-ldp: build-ldp
+ @./packages/verify.sh ldp
+
.PHONY: dep
dep:
ifeq ($(OS_ID),ubuntu)
diff --git a/README.md b/README.md
index 79e0e29..fc63d87 100644
--- a/README.md
+++ b/README.md
@@ -60,6 +60,12 @@ If you don't take the parameter, the default is master.
For example:
$ make deb-vcl
+Verify that vcl starts properly
+$ make verify-vcl
+
+Verify that ldp starts properly
+$ make verify-ldp
+
Clean up build vcl environment, remove _build/.*vcl*. for example: rm _build/.vpp_vcl.build.ok and so on
$ make clean-vcl
diff --git a/configs/startup.conf b/configs/startup.conf
index b9260b4..059ae5c 100644
--- a/configs/startup.conf
+++ b/configs/startup.conf
@@ -28,18 +28,19 @@ cpu {
tcp {cc-algo cubic}
-dpdk {
- dev <pci-address> {
- name eth0
-
- ##the value of num-rx-queues should be the same as the number
- ##of VPP worker
- ##If 1
- num-rx-queues 1
- ##If 4
- #num-rx-queues 4
- num-rx-desc 512
- num-tx-desc 512
-
- }
-}
+#Delete the # sign below and set the PCI-Address of the network card.
+#dpdk {
+# dev <pci-address> {
+# name eth0
+#
+# ##the value of num-rx-queues should be the same as the number
+# ##of VPP worker
+# ##If 1
+# num-rx-queues 1
+# ##If 4
+# #num-rx-queues 4
+# num-rx-desc 512
+# num-tx-desc 512
+#
+# }
+#}
diff --git a/configs/vcl.conf b/configs/vcl.conf
index c6e7da9..e81459c 100644
--- a/configs/vcl.conf
+++ b/configs/vcl.conf
@@ -7,7 +7,7 @@ rx-fifo-size 5000
tx-fifo-size 5000
app-scope-local
app-scope-global
-api-socket-name /path/to/vpp-api.sock
+api-socket-name /run/vpp/api.sock
event-queue-size 1000000
segment-size 1024000000
add-segment-size 1024000000
diff --git a/packages/nginx_ldp.mk b/packages/nginx_ldp.mk
index 96f2953..5dbe375 100644
--- a/packages/nginx_ldp.mk
+++ b/packages/nginx_ldp.mk
@@ -13,7 +13,7 @@
nginx_ldp_version := 1.14.2
nginx_ldp_src_dir := $(B)/nginx_ldp
-nginx_ldp_install_dir := $(I)/local/nginx
+nginx_ldp_install_dir := /usr/local/nginx
nginx_ldp_deb_inst_dir := /usr/local/nginx
nginx_ldp_pkg_deb_name := nginx
nginx_ldp_pkg_deb_dir := $(I)/deb-ldp
diff --git a/packages/nginx_vcl.mk b/packages/nginx_vcl.mk
index 1ad163b..8c53733 100644
--- a/packages/nginx_vcl.mk
+++ b/packages/nginx_vcl.mk
@@ -15,7 +15,7 @@ nginx_vcl_version := 1.14.2
nginx_vcl_patch_dir := $(CURDIR)/nginx_patches
nginx_vcl_src_dir := $(B)/nginx_vcl
vpp_vcl_src_dir := $(CURDIR)/vpp
-nginx_vcl_install_dir := $(I)/local/nginx
+nginx_vcl_install_dir := /usr/local/nginx
nginx_vcl_deb_inst_dir := /usr/local/nginx
nginx_vcl_pkg_deb_name := nginx
nginx_vcl_pkg_deb_dir := $(I)/deb-vcl
diff --git a/packages/openssl.mk b/packages/openssl.mk
index 3f76a7b..f395efa 100644
--- a/packages/openssl.mk
+++ b/packages/openssl.mk
@@ -12,7 +12,7 @@
# limitations under the License.
openssl_version := 3.0.0-alpha2
-openssl_install_dir := $(I)/local/ssl
+openssl_install_dir := /usr/local/ssl
openssl_deb_inst_dir := /usr/local/ssl
openssl_pkg_deb_name := openssl3
openssl_pkg_deb_dir := $(I)/openssl-deb
diff --git a/packages/verify.sh b/packages/verify.sh
new file mode 100755
index 0000000..6b3d7a3
--- /dev/null
+++ b/packages/verify.sh
@@ -0,0 +1,147 @@
+#!/bin/bash
+
+ngxvcl=${BR}/_build/nginx_vcl
+ngxldp=${BR}/_build/nginx_ldp
+
+function test_vcl(){
+ echo ""
+ echo "===================================================================="
+ echo "Testing ..."
+ echo ""
+ export LD_LIBRARY_PATH=/usr/local/ssl/lib
+ cp ${BR}/configs/startup.conf ${BR}/configs/startup-test.conf
+
+ sed -i 's|/var/log/vpp/vpp.log|/tmp/vpp.log|' ${BR}/configs/startup-test.conf
+ sed -i 's|cli-vpp1.sock|cli.sock|' ${BR}/configs/startup-test.conf
+ sed -i 's|/path/to/configs/vppenvset|configs/vppset|' ${BR}/configs/startup-test.conf
+ sed -i 's|socket-name /path/to/vpp-api.sock|default|' ${BR}/configs/startup-test.conf
+ echo "set int state local0 up" > ${BR}/configs/vppset
+
+ ${BR}/vpp/build-root/install-vpp-native/vpp/bin/vpp -c configs/startup-test.conf &
+ vpp_pid=$!
+
+ sleep 5
+
+ export VCL_CONFIG=${BR}/configs/vcl.conf
+
+ export NGXVCL_TLS_ON=1
+ export NGXVCL_TLS_CERT=${BR}/configs/tls-test-cert
+ export NGXVCL_TLS_KEY=${BR}/configs/tls-test-key
+
+ export LD_LIBRARY_PATH=${BR}/vpp/build-root/install-vpp-native/vpp/lib
+
+ sudo killall -v -s 9 nginx || echo "continue execute"
+
+ cp ${BR}/configs/nginx.conf ${BR}/configs/nginx-test.conf
+ sed -i 's|#worker_processes 1|worker_processes 1|' ${BR}/configs/nginx-test.conf
+
+ ${ngxvcl}/objs/nginx -c ${BR}/configs/nginx-test.conf &
+ nginx_pid=$!
+ sleep 5
+
+ echo "===================================================================="
+ ret=0
+ v=`ps -A|grep "${vpp_pid}" | wc -l`
+ if [ ${v} -eq 1 ]; then
+ echo "VCL test: vpp OK"
+ else
+ echo "VCL test: vpp FAIL"
+ ret=1
+ fi
+
+ v=`ps -A|grep "${nginx_pid}" | wc -l`
+ if [ ${v} -eq 1 ]; then
+ echo "VCL test: nginx OK"
+ else
+ echo "VCL test: nginx FAIL"
+ ret=1
+ fi
+ echo "===================================================================="
+
+ sudo killall -v -s 9 nginx || echo ""
+ sudo kill -9 ${vpp_pid} || echo ""
+ rm -f ${BR}/configs/nginx-test.conf
+ rm -f ${BR}/configs/startup-test.conf
+ rm -f ${BR}/configs/vppset
+ rm -f /tmp/vpp.log
+
+ if [ ${ret} -eq 1 ]; then
+ exit 1;
+ fi
+}
+
+function test_ldp(){
+ echo ""
+ echo "===================================================================="
+ echo "Testing ..."
+ echo ""
+
+ export LD_LIBRARY_PATH=/usr/local/ssl/lib
+ cp ${BR}/configs/startup.conf ${BR}/configs/startup-test.conf
+
+ sed -i 's|/var/log/vpp/vpp.log|/tmp/vpp.log|' ${BR}/configs/startup-test.conf
+ sed -i 's|cli-vpp1.sock|cli.sock|' ${BR}/configs/startup-test.conf
+ sed -i 's|/path/to/configs/vppenvset|configs/vppset|' ${BR}/configs/startup-test.conf
+ sed -i 's|socket-name /path/to/vpp-api.sock|default|' ${BR}/configs/startup-test.conf
+ echo "set int state local0 up" > ${BR}/configs/vppset
+
+ ${BR}/vpp/build-root/install-vpp-native/vpp/bin/vpp -c configs/startup-test.conf &
+ vpp_pid=$!
+
+ sleep 5
+
+ cp ${BR}/configs/nginx.conf ${BR}/configs/nginx-test.conf
+ sed -i 's|#worker_processes 1|worker_processes 1|' ${BR}/configs/nginx-test.conf
+
+ export VCL_CONFIG=${BR}/configs/vcl.conf
+ export LDP_TRANSPARENT_TLS=1
+ export LDP_TLS_CERT_FILE=${BR}/configs/tls-test-cert
+ export LDP_TLS_KEY_FILE=${BR}/configs/tls-test-key
+ LD_PRELOAD=${BR}/vpp/build-root/install-vpp-native/vpp/lib/libvcl_ldpreload.so \
+ ${ngxldp}/objs/nginx -c ${BR}/configs/nginx-test.conf &
+
+ nginx_pid=$!
+ sleep 5
+
+ echo "===================================================================="
+ ret=0
+ v=`ps -A|grep "${vpp_pid}" | wc -l`
+ if [ ${v} -eq 1 ]; then
+ echo "LDP test: vpp OK"
+ else
+ echo "LDP test: vpp FAIL"
+ ret=1
+ fi
+
+
+ v=`ps -A|grep "${nginx_pid}" | wc -l`
+ if [ ${v} -eq 1 ]; then
+ echo "LDP test: nginx OK"
+ else
+ echo "LDP test: nginx FAIL"
+ ret=1
+ fi
+ echo "===================================================================="
+
+ sudo killall -v -s 9 nginx || echo ""
+ sudo kill -9 ${vpp_pid} || echo ""
+
+ rm -f ${BR}/configs/nginx-test.conf
+ rm -f ${BR}/configs/startup-test.conf
+ rm -f ${BR}/configs/vppset
+ rm -rf /tmp/vpp.log
+
+ if [ ${ret} -eq 1 ]; then
+ exit 1
+ fi
+}
+
+args=("$@")
+case ${1} in
+ vcl)
+ test_vcl
+ ;;
+ ldp)
+ test_ldp
+ ;;
+esac
diff --git a/packages/vpp_ldp.mk b/packages/vpp_ldp.mk
index 2f4eae1..37a72bb 100644
--- a/packages/vpp_ldp.mk
+++ b/packages/vpp_ldp.mk
@@ -17,6 +17,7 @@ vpp_ldp_install_dir := $(I)/local
vpp_ldp_pkg_deb_name := vpp
vpp_ldp_pkg_deb_dir := $(CURDIR)/vpp/build-root
vpp_ldp_desc := "ldp vpp"
+openssl_install_dir ?= /usr/local/ssl
define vpp_ldp_extract_cmds
@@ -27,16 +28,16 @@ define vpp_ldp_patch_cmds
@echo "--- ldp vpp patching ---"
@cd $(vpp_ldp_src_dir); \
git reset --hard; git clean -f; git checkout master; \
- if [ ! -z $(_VPP_VER) -a $(_VPP_VER) != "master" ] ; then \
+ if [ $(_VPP_VER) != "master" ] ; then \
echo "--- vpp version: $(_VPP_VER) ---"; \
- git checkout remotes/origin/stable/$(_VPP_VER); \
+ git checkout stable/$(_VPP_VER); \
git reset --hard; git clean -f; \
fi
@for f in $(CURDIR)/vpp_patches/common/*.patch ; do \
echo Applying patch: $$(basename $$f) ; \
patch -p1 -d $(vpp_ldp_src_dir) < $$f ; \
done
- @if [ -z $(_VPP_VER) -o $(_VPP_VER) = "master" ]; then \
+ @if [ $(_VPP_VER) = "master" -o $(_VPP_VER) = "2005" ]; then \
echo "--- vpp master ---"; \
for f in $(CURDIR)/vpp_patches/common/master/*.patch ; do \
echo Applying patch: $$(basename $$f) ; \
@@ -49,7 +50,7 @@ define vpp_ldp_patch_cmds
patch -p1 -d $(vpp_ldp_src_dir) < $$f ; \
done; \
fi
- @if [ -z $(_VPP_VER) ]; then \
+ @if [ $(_VPP_VER) = "master" ]; then \
echo "--- patch master ---"; \
for f in $(CURDIR)/vpp_patches/ldp/master/*.patch ; do \
echo Applying patch: $$(basename $$f) ; \
@@ -73,8 +74,8 @@ endef
define vpp_ldp_build_cmds
@cd $(vpp_ldp_src_dir); \
echo "---build : $(vpp_ldp_src_dir)"; \
- export OPENSSL_ROOT_DIR=$(I)/local/ssl; \
- export LD_LIBRARY_PATH=$(I)/local/ssl/lib; \
+ export OPENSSL_ROOT_DIR=$(openssl_install_dir); \
+ export LD_LIBRARY_PATH=$(openssl_install_dir)/lib; \
$(MAKE) wipe-release; \
rm -f $(vpp_ldp_pkg_deb_dir)/*.deb; \
$(MAKE) build-release; \
diff --git a/packages/vpp_vcl.mk b/packages/vpp_vcl.mk
index d8c9600..1a7ffce 100644
--- a/packages/vpp_vcl.mk
+++ b/packages/vpp_vcl.mk
@@ -17,6 +17,7 @@ vpp_vcl_install_dir := $(I)/local
vpp_vcl_pkg_deb_name := vpp
vpp_vcl_pkg_deb_dir := $(CURDIR)/vpp/build-root
vpp_vcl_desc := "vcl vpp"
+openssl_install_dir ?= /usr/local/ssl
define vpp_vcl_extract_cmds
@@ -27,16 +28,16 @@ define vpp_vcl_patch_cmds
@echo "--- vpp patching ---"
@cd $(vpp_vcl_src_dir); \
git reset --hard; git clean -f; git checkout master; \
- if [ ! -z $(_VPP_VER) -a $(_VPP_VER) != "master" ]; then \
+ if [ $(_VPP_VER) != "master" ]; then \
echo "--- vpp version: $(_VPP_VER) ---"; \
- git checkout origin/stable/$(_VPP_VER); \
+ git checkout stable/$(_VPP_VER); \
git reset --hard; git clean -f; \
fi
@for f in $(CURDIR)/vpp_patches/common/*.patch ; do \
echo Applying patch: $$(basename $$f) ; \
patch -p1 -d $(vpp_vcl_src_dir) < $$f ; \
done
- @if [ -z $(_VPP_VER) -o $(_VPP_VER) = "master" ]; then \
+ @if [ $(_VPP_VER) = "2005" -o $(_VPP_VER) = "master" ]; then \
echo "--- vpp master ---"; \
for f in $(CURDIR)/vpp_patches/common/master/*.patch ; do \
echo Applying patch: $$(basename $$f) ; \
@@ -65,8 +66,8 @@ endef
define vpp_vcl_build_cmds
@cd $(vpp_vcl_src_dir); \
echo "--- build : $(vpp_vcl_src_dir)"; \
- export OPENSSL_ROOT_DIR=$(I)/local/ssl; \
- export LD_LIBRARY_PATH=$(I)/local/ssl/lib; \
+ export OPENSSL_ROOT_DIR=$(openssl_install_dir); \
+ export LD_LIBRARY_PATH=$(openssl_install_dir)/lib; \
$(MAKE) wipe-release; \
rm -f $(vpp_vcl_pkg_deb_dir)/*.deb; \
$(MAKE) build-release; \