TSG-23335 TFE适配AArch64架构
This commit is contained in:
141
.gitlab-ci.yml
141
.gitlab-ci.yml
@@ -3,7 +3,8 @@ variables:
|
|||||||
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
|
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
|
||||||
INSTALL_PREFIX: "/opt/tsg/tfe"
|
INSTALL_PREFIX: "/opt/tsg/tfe"
|
||||||
TESTING_VERSION_BUILD: 0
|
TESTING_VERSION_BUILD: 0
|
||||||
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
|
BUILD_IMAGE_X86_64_EL8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
|
||||||
|
BUILD_IMAGE_AARCH64_EL9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64"
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
@@ -17,9 +18,112 @@ stages:
|
|||||||
- yum makecache
|
- yum makecache
|
||||||
- yum install -y elfutils-libelf-devel
|
- yum install -y elfutils-libelf-devel
|
||||||
|
|
||||||
.build_by_travis_for_centos8:
|
###############################################################################
|
||||||
|
# compile for el9
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
.build_by_travis_for_aarch64_el9:
|
||||||
stage: build
|
stage: build
|
||||||
image: $BUILD_IMAGE_CENTOS8
|
image: $BUILD_IMAGE_AARCH64_EL9
|
||||||
|
extends: .build_before_script
|
||||||
|
script:
|
||||||
|
- dnf install -y libmnl-devel
|
||||||
|
- dnf install -y libnfnetlink-devel
|
||||||
|
- dnf install -y clang
|
||||||
|
- dnf install -y llvm
|
||||||
|
- dnf install -y libbpf-devel
|
||||||
|
- dnf install -y liburing-devel
|
||||||
|
- ./ci/travis.sh
|
||||||
|
tags:
|
||||||
|
- tsg-os-builder-aarch64
|
||||||
|
|
||||||
|
branch_build_debug_for_aarch64_el9:
|
||||||
|
extends: .build_by_travis_for_aarch64_el9
|
||||||
|
variables:
|
||||||
|
BUILD_TYPE: Debug
|
||||||
|
except:
|
||||||
|
- /^develop-.*$/i
|
||||||
|
- /^release-.*$/i
|
||||||
|
- tags
|
||||||
|
|
||||||
|
branch_build_release_for_aarch64_el9:
|
||||||
|
variables:
|
||||||
|
BUILD_TYPE: RelWithDebInfo
|
||||||
|
extends: .build_by_travis_for_aarch64_el9
|
||||||
|
except:
|
||||||
|
- /^develop-.*$/i
|
||||||
|
- /^release-.*$/i
|
||||||
|
- tags
|
||||||
|
|
||||||
|
develop_build_debug_for_aarch64_el9:
|
||||||
|
extends: .build_by_travis_for_aarch64_el9
|
||||||
|
variables:
|
||||||
|
TESTING_VERSION_BUILD: 1
|
||||||
|
BUILD_TYPE: Debug
|
||||||
|
# ASAN_OPTION: ADDRESS
|
||||||
|
PACKAGE: 1
|
||||||
|
PULP3_REPO_NAME: tfe-testing-aarch64.el9
|
||||||
|
PULP3_DIST_NAME: tfe-testing-aarch64.el9
|
||||||
|
artifacts:
|
||||||
|
name: "tfe-develop-$CI_COMMIT_REF_NAME-debug"
|
||||||
|
paths:
|
||||||
|
- build/*.rpm
|
||||||
|
only:
|
||||||
|
- /^develop-.*$/i
|
||||||
|
- /^release-.*$/i
|
||||||
|
|
||||||
|
develop_build_release_for_aarch64_el9:
|
||||||
|
extends: .build_by_travis_for_aarch64_el9
|
||||||
|
variables:
|
||||||
|
TESTING_VERSION_BUILD: 1
|
||||||
|
# ASAN_OPTION: ADDRESS
|
||||||
|
BUILD_TYPE: RelWithDebInfo
|
||||||
|
PACKAGE: 1
|
||||||
|
PULP3_REPO_NAME: tfe-testing-aarch64.el9
|
||||||
|
PULP3_DIST_NAME: tfe-testing-aarch64.el9
|
||||||
|
artifacts:
|
||||||
|
name: "tfe-develop-$CI_COMMIT_REF_NAME-release"
|
||||||
|
paths:
|
||||||
|
- build/*.rpm
|
||||||
|
only:
|
||||||
|
- /^develop-.*$/i
|
||||||
|
- /^release-.*$/i
|
||||||
|
|
||||||
|
release_build_debug_for_aarch64_el9:
|
||||||
|
variables:
|
||||||
|
BUILD_TYPE: Debug
|
||||||
|
PACKAGE: 1
|
||||||
|
PULP3_REPO_NAME: tfe-stable-aarch64.el9
|
||||||
|
PULP3_DIST_NAME: tfe-stable-aarch64.el9
|
||||||
|
extends: .build_by_travis_for_aarch64_el9
|
||||||
|
artifacts:
|
||||||
|
name: "tfe-install-$CI_COMMIT_REF_NAME-debug"
|
||||||
|
paths:
|
||||||
|
- build/*.rpm
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
|
||||||
|
release_build_release_for_aarch64_el9:
|
||||||
|
variables:
|
||||||
|
BUILD_TYPE: RelWithDebInfo
|
||||||
|
PACKAGE: 1
|
||||||
|
PULP3_REPO_NAME: tfe-stable-aarch64.el9
|
||||||
|
PULP3_DIST_NAME: tfe-stable-aarch64.el9
|
||||||
|
extends: .build_by_travis_for_aarch64_el9
|
||||||
|
artifacts:
|
||||||
|
name: "tfe-install-$CI_COMMIT_REF_NAME-release"
|
||||||
|
paths:
|
||||||
|
- build/*.rpm
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# compile for el8
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
.build_by_travis_for_x86_64_el8:
|
||||||
|
stage: build
|
||||||
|
image: $BUILD_IMAGE_X86_64_EL8
|
||||||
extends: .build_before_script
|
extends: .build_before_script
|
||||||
script:
|
script:
|
||||||
- dnf --enablerepo=powertools install -y libmnl-devel
|
- dnf --enablerepo=powertools install -y libmnl-devel
|
||||||
@@ -32,12 +136,9 @@ stages:
|
|||||||
tags:
|
tags:
|
||||||
- share
|
- share
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# compile use image: build-env:rockylinux
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
branch_build_debug_for_centos8:
|
branch_build_debug_for_x86_64_el8:
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_x86_64_el8
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
except:
|
except:
|
||||||
@@ -45,20 +146,19 @@ branch_build_debug_for_centos8:
|
|||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
branch_build_release_for_centos8:
|
branch_build_release_for_x86_64_el8:
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: RelWithDebInfo
|
BUILD_TYPE: RelWithDebInfo
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_x86_64_el8
|
||||||
except:
|
except:
|
||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
develop_build_debug_for_centos8:
|
develop_build_debug_for_x86_64_el8:
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_x86_64_el8
|
||||||
variables:
|
variables:
|
||||||
TESTING_VERSION_BUILD: 1
|
TESTING_VERSION_BUILD: 1
|
||||||
#UPLOAD_SYMBOL_FILES: 1
|
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
# ASAN_OPTION: ADDRESS
|
# ASAN_OPTION: ADDRESS
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
@@ -72,11 +172,10 @@ develop_build_debug_for_centos8:
|
|||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
|
|
||||||
develop_build_release_for_centos8:
|
develop_build_release_for_x86_64_el8:
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_x86_64_el8
|
||||||
variables:
|
variables:
|
||||||
TESTING_VERSION_BUILD: 1
|
TESTING_VERSION_BUILD: 1
|
||||||
#UPLOAD_SYMBOL_FILES: 1
|
|
||||||
# ASAN_OPTION: ADDRESS
|
# ASAN_OPTION: ADDRESS
|
||||||
BUILD_TYPE: RelWithDebInfo
|
BUILD_TYPE: RelWithDebInfo
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
@@ -90,14 +189,13 @@ develop_build_release_for_centos8:
|
|||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
|
|
||||||
release_build_debug_for_centos8:
|
release_build_debug_for_x86_64_el8:
|
||||||
variables:
|
variables:
|
||||||
#UPLOAD_SYMBOL_FILES: 1
|
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
PULP3_REPO_NAME: tfe-stable-x86_64.el8
|
PULP3_REPO_NAME: tfe-stable-x86_64.el8
|
||||||
PULP3_DIST_NAME: tfe-stable-x86_64.el8
|
PULP3_DIST_NAME: tfe-stable-x86_64.el8
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_x86_64_el8
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "tfe-install-$CI_COMMIT_REF_NAME-debug"
|
name: "tfe-install-$CI_COMMIT_REF_NAME-debug"
|
||||||
paths:
|
paths:
|
||||||
@@ -105,14 +203,13 @@ release_build_debug_for_centos8:
|
|||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
release_build_release_for_centos8:
|
release_build_release_for_x86_64_el8:
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: RelWithDebInfo
|
BUILD_TYPE: RelWithDebInfo
|
||||||
#UPLOAD_SYMBOL_FILES: 1
|
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
PULP3_REPO_NAME: tfe-stable-x86_64.el8
|
PULP3_REPO_NAME: tfe-stable-x86_64.el8
|
||||||
PULP3_DIST_NAME: tfe-stable-x86_64.el8
|
PULP3_DIST_NAME: tfe-stable-x86_64.el8
|
||||||
extends: .build_by_travis_for_centos8
|
extends: .build_by_travis_for_x86_64_el8
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "tfe-install-$CI_COMMIT_REF_NAME-release"
|
name: "tfe-install-$CI_COMMIT_REF_NAME-release"
|
||||||
paths:
|
paths:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ set(CMAKE_CXX_STANDARD 11)
|
|||||||
set(CMAKE_C_STANDARD 11)
|
set(CMAKE_C_STANDARD 11)
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx2")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
||||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
|
||||||
|
|||||||
@@ -55,11 +55,42 @@ struct bpf_obj_ctx *bpf_obj_load(const char *obj_file, uint32_t queue_num, uint3
|
|||||||
bpf_config_set_hash_mode(&ctx->config, hash_mode);
|
bpf_config_set_hash_mode(&ctx->config, hash_mode);
|
||||||
bpf_config_set_debug_log(&ctx->config, debug_log);
|
bpf_config_set_debug_log(&ctx->config, debug_log);
|
||||||
|
|
||||||
|
#if (LIBBPF_MAJOR_VERSION > 0 || (LIBBPF_MAJOR_VERSION == 0 && LIBBPF_MINOR_VERSION >= 7))
|
||||||
|
struct bpf_program *prog;
|
||||||
|
ctx->prog_obj = bpf_object__open_file(ctx->obj_file, NULL);
|
||||||
|
if (ctx->prog_obj == NULL)
|
||||||
|
{
|
||||||
|
printf("ERROR: Unable to open bpf object %s, %s.\n", ctx->obj_file, strerror(errno));
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
prog = bpf_object__find_program_by_name(ctx->prog_obj, "bpf_tun_rss_steering");
|
||||||
|
if (!prog)
|
||||||
|
{
|
||||||
|
printf("ERROR: Unable to get bpf program from object %s, %s.\n", ctx->obj_file, strerror(errno));
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
bpf_program__set_type(prog, BPF_PROG_TYPE_SOCKET_FILTER);
|
||||||
|
if (bpf_object__load(ctx->prog_obj))
|
||||||
|
{
|
||||||
|
printf("ERROR: Unable to load bpf object %s, %s.\n", ctx->obj_file, strerror(errno));
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx->prog_fd = bpf_program__fd(prog);
|
||||||
|
if (ctx->prog_fd < 0)
|
||||||
|
{
|
||||||
|
printf("ERROR: Unable to get bpf program fd from object %s, %s.\n", ctx->obj_file, strerror(errno));
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
#else
|
||||||
if (bpf_prog_load(ctx->obj_file, BPF_PROG_TYPE_SOCKET_FILTER, &ctx->prog_obj, &ctx->prog_fd) < 0)
|
if (bpf_prog_load(ctx->obj_file, BPF_PROG_TYPE_SOCKET_FILTER, &ctx->prog_obj, &ctx->prog_fd) < 0)
|
||||||
{
|
{
|
||||||
printf("ERROR: Unable to load bpf object %s, %s.\n", ctx->obj_file, strerror(errno));
|
printf("ERROR: Unable to load bpf object %s, %s.\n", ctx->obj_file, strerror(errno));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (bpf_config_update_map(&ctx->config, ctx->prog_obj) == -1)
|
if (bpf_config_update_map(&ctx->config, ctx->prog_obj) == -1)
|
||||||
{
|
{
|
||||||
|
|||||||
21
ci/travis.sh
21
ci/travis.sh
@@ -33,13 +33,19 @@ env | sort
|
|||||||
: "${COMPILER_IS_GNUCXX:=OFF}"
|
: "${COMPILER_IS_GNUCXX:=OFF}"
|
||||||
|
|
||||||
# Install dependency from YUM
|
# Install dependency from YUM
|
||||||
yum install -y mrzcpd-corei7-4.* numactl-devel zlib-devel librdkafka-devel-1.2.2.1218b3c-1.el8.x86_64 librdkafka-1.2.2.1218b3c-1.el8.x86_64 systemd-devel
|
if [[ `arch` =~ 'x86_64' ]];then
|
||||||
yum install -y libcjson-devel libmaatframe-devel libMESA_field_stat2-devel libfieldstat4-devel libMESA_handle_logger-devel libelua-devel
|
yum install -y mrzcpd-corei7
|
||||||
yum install -y libMESA_htable-devel libMESA_prof_load-devel libwiredcfg-devel libWiredLB-devel sapp-devel libbreakpad_mini-devel
|
elif [[ `arch` =~ 'aarch64' ]];then
|
||||||
|
yum install -y mrzcpd
|
||||||
|
fi
|
||||||
|
yum install -y numactl-devel zlib-devel librdkafka-devel librdkafka systemd-devel
|
||||||
|
yum install -y libcjson-devel libmaatframe-devel libfieldstat4-devel libMESA_handle_logger-devel libelua-devel
|
||||||
|
yum install -y libMESA_htable-devel libMESA_prof_load-devel sapp-devel libbreakpad_mini-devel
|
||||||
yum install -y libasan
|
yum install -y libasan
|
||||||
yum install -y numactl-libs # required by mrzcpd
|
yum install -y numactl-libs # required by mrzcpd
|
||||||
yum install -y libibverbs # required by mrzcpd
|
yum install -y libibverbs # required by mrzcpd
|
||||||
yum install -y libuuid-devel
|
yum install -y libuuid-devel
|
||||||
|
yum install -y perl
|
||||||
|
|
||||||
if [ $ASAN_OPTION ];then
|
if [ $ASAN_OPTION ];then
|
||||||
source /opt/rh/devtoolset-7/enable
|
source /opt/rh/devtoolset-7/enable
|
||||||
@@ -62,11 +68,4 @@ if [ -n "${PACKAGE}" ]; then
|
|||||||
make package
|
make package
|
||||||
cp ~/rpm_upload_tools.py ./
|
cp ~/rpm_upload_tools.py ./
|
||||||
python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
|
python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
|
|
||||||
rpm -i tfe*debuginfo*.rpm
|
|
||||||
ls -ahl /usr/lib/debug/opt/tsg/tfe/bin/
|
|
||||||
cp /usr/lib/debug/opt/tsg/tfe/bin/tfe*debug /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA}
|
|
||||||
sentry-cli upload-dif -t elf /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA}
|
|
||||||
fi
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
%systemd_post tfe-env.service tfe-env-tun-mode.service tfe.service
|
|
||||||
%sysctl_apply
|
|
||||||
%tmpfiles_create
|
|
||||||
/sbin/ldconfig
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
%systemd_postun_with_restart tfe-env.service tfe-env-tun-mode.service tfe.service
|
|
||||||
%sysctl_apply
|
|
||||||
%tmpfiles_create
|
|
||||||
/sbin/ldconfig
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
%systemd_preun tfe-env.service tfe-env-tun-mode.service tfe.service
|
|
||||||
%sysctl_apply
|
|
||||||
%tmpfiles_create
|
|
||||||
@@ -25,8 +25,7 @@ target_link_libraries(tfe pthread dl nfnetlink
|
|||||||
cjson
|
cjson
|
||||||
libcurl-static
|
libcurl-static
|
||||||
hiredis-static
|
hiredis-static
|
||||||
MESA_htable wiredcfg
|
MESA_htable
|
||||||
MESA_field_stat
|
|
||||||
fieldstat4
|
fieldstat4
|
||||||
breakpad_mini
|
breakpad_mini
|
||||||
${SYSTEMD_LIBRARIES})
|
${SYSTEMD_LIBRARIES})
|
||||||
|
|||||||
@@ -12,4 +12,3 @@
|
|||||||
#include <tfe_utils.h>
|
#include <tfe_utils.h>
|
||||||
#include <MESA/MESA_handle_logger.h>
|
#include <MESA/MESA_handle_logger.h>
|
||||||
#include <MESA/MESA_prof_load.h>
|
#include <MESA/MESA_prof_load.h>
|
||||||
#include <MESA/wired_cfg.h>
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
static const char base64[] =
|
static const char base64[] =
|
||||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||||
|
|
||||||
static const char index_64[128] =
|
static const signed char index_64[128] =
|
||||||
{
|
{
|
||||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
|
|||||||
@@ -43,13 +43,13 @@ enum _log_action
|
|||||||
|
|
||||||
#define get_time_ms(tv) ((long long)(tv.tv_sec) * 1000 + (long long)(tv.tv_usec) / 1000)
|
#define get_time_ms(tv) ((long long)(tv.tv_sec) * 1000 + (long long)(tv.tv_usec) / 1000)
|
||||||
|
|
||||||
#include "uuid_v4.h"
|
// #include "uuid_v4.h"
|
||||||
UUIDv4::UUIDGenerator<std::mt19937_64> uuidGenerator;
|
// UUIDv4::UUIDGenerator<std::mt19937_64> uuidGenerator;
|
||||||
|
|
||||||
void get_http_body_uuid(char *uuid)
|
void get_http_body_uuid(char *uuid)
|
||||||
{
|
{
|
||||||
UUIDv4::UUID uid = uuidGenerator.getUUID();
|
// UUIDv4::UUID uid = uuidGenerator.getUUID();
|
||||||
uid.str(uuid);
|
// uid.str(uuid);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2417,7 +2417,7 @@ static int http2_server_on_data_chunk_recv(nghttp2_session *session, uint8_t fla
|
|||||||
if (req->h2_payload.encode_type != HTTP2_CONTENT_ENCODING_NONE){
|
if (req->h2_payload.encode_type != HTTP2_CONTENT_ENCODING_NONE){
|
||||||
ret = http2_decompress_stream(input, input_len, &uncompr, &uncompr_len,
|
ret = http2_decompress_stream(input, input_len, &uncompr, &uncompr_len,
|
||||||
&req->h2_payload.inflate, req->h2_payload.encode_type);
|
&req->h2_payload.inflate, req->h2_payload.encode_type);
|
||||||
if (((ret == Z_STREAM_END) || (ret == Z_OK)) && uncompr > 0){
|
if (((ret == Z_STREAM_END) || (ret == Z_OK)) && uncompr_len > 0){
|
||||||
input = (const uint8_t*)uncompr;
|
input = (const uint8_t*)uncompr;
|
||||||
input_len = uncompr_len;
|
input_len = uncompr_len;
|
||||||
}
|
}
|
||||||
|
|||||||
62
vendor/CMakeLists.txt
vendored
62
vendor/CMakeLists.txt
vendored
@@ -3,10 +3,16 @@
|
|||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
|
|
||||||
### OpenSSL 1.1.1
|
### OpenSSL 1.1.1
|
||||||
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||||
|
set(OPENSSL_COMPILE_ARCH linux-x86_64)
|
||||||
|
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||||
|
set(OPENSSL_COMPILE_ARCH linux-aarch64)
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(OpenSSL PREFIX openssl
|
ExternalProject_Add(OpenSSL PREFIX openssl
|
||||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/openssl-1.1.1l.tar.gz
|
URL ${CMAKE_CURRENT_SOURCE_DIR}/openssl-1.1.1l.tar.gz
|
||||||
URL_MD5 ac0d4387f3ba0ad741b0580dd45f6ff3
|
URL_MD5 ac0d4387f3ba0ad741b0580dd45f6ff3
|
||||||
CONFIGURE_COMMAND ./Configure enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers linux-x86_64 --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>/lib/ssl
|
CONFIGURE_COMMAND ./Configure enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers ${OPENSSL_COMPILE_ARCH} --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>/lib/ssl
|
||||||
enable-ec_nistp_64_gcc_128 no-shared
|
enable-ec_nistp_64_gcc_128 no-shared
|
||||||
BUILD_COMMAND ${MAKE_COMMAND}
|
BUILD_COMMAND ${MAKE_COMMAND}
|
||||||
INSTALL_COMMAND make install_sw
|
INSTALL_COMMAND make install_sw
|
||||||
@@ -122,8 +128,6 @@ set_property(TARGET gmock PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/
|
|||||||
|
|
||||||
set(MESA_FRAMEWORK_LIB_DIR /opt/MESA/lib)
|
set(MESA_FRAMEWORK_LIB_DIR /opt/MESA/lib)
|
||||||
set(MESA_FRAMEWORK_INCLUDE_DIR /opt/MESA/include)
|
set(MESA_FRAMEWORK_INCLUDE_DIR /opt/MESA/include)
|
||||||
set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
|
|
||||||
set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
|
|
||||||
|
|
||||||
add_library(MESA_handle_logger SHARED IMPORTED GLOBAL)
|
add_library(MESA_handle_logger SHARED IMPORTED GLOBAL)
|
||||||
set_property(TARGET MESA_handle_logger PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_handle_logger.so)
|
set_property(TARGET MESA_handle_logger PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_handle_logger.so)
|
||||||
@@ -133,38 +137,30 @@ add_library(MESA_prof_load SHARED IMPORTED GLOBAL)
|
|||||||
set_property(TARGET MESA_prof_load PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_prof_load.so)
|
set_property(TARGET MESA_prof_load PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_prof_load.so)
|
||||||
set_property(TARGET MESA_prof_load PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
set_property(TARGET MESA_prof_load PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
||||||
|
|
||||||
add_library(wiredcfg SHARED IMPORTED GLOBAL)
|
|
||||||
set_property(TARGET wiredcfg PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libwiredcfg.so)
|
|
||||||
set_property(TARGET wiredcfg PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
|
||||||
|
|
||||||
add_library(MESA_htable SHARED IMPORTED GLOBAL)
|
add_library(MESA_htable SHARED IMPORTED GLOBAL)
|
||||||
set_property(TARGET MESA_htable PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_htable.so)
|
set_property(TARGET MESA_htable PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_htable.so)
|
||||||
set_property(TARGET MESA_htable PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
set_property(TARGET MESA_htable PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
||||||
|
|
||||||
add_library(wiredLB SHARED IMPORTED GLOBAL)
|
|
||||||
set_property(TARGET wiredLB PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libWiredLB.so)
|
|
||||||
set_property(TARGET wiredLB PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
|
||||||
|
|
||||||
add_library(maatframe SHARED IMPORTED GLOBAL)
|
add_library(maatframe SHARED IMPORTED GLOBAL)
|
||||||
set_property(TARGET maatframe PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libmaatframe.so)
|
set_property(TARGET maatframe PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libmaatframe.so)
|
||||||
set_property(TARGET maatframe PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
set_property(TARGET maatframe PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
||||||
|
|
||||||
add_library(MESA_field_stat SHARED IMPORTED GLOBAL)
|
|
||||||
set_property(TARGET MESA_field_stat PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_field_stat2.so)
|
|
||||||
set_property(TARGET MESA_field_stat PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
|
||||||
|
|
||||||
add_library(fieldstat4 SHARED IMPORTED GLOBAL)
|
add_library(fieldstat4 SHARED IMPORTED GLOBAL)
|
||||||
set_property(TARGET fieldstat4 PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libfieldstat4.so)
|
set_property(TARGET fieldstat4 PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libfieldstat4.so)
|
||||||
set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
||||||
|
|
||||||
add_library(rdkafka SHARED IMPORTED GLOBAL)
|
|
||||||
set_property(TARGET rdkafka PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/librdkafka.so)
|
|
||||||
set_property(TARGET rdkafka PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}/MESA)
|
|
||||||
|
|
||||||
add_library(tsglua SHARED IMPORTED GLOBAL)
|
add_library(tsglua SHARED IMPORTED GLOBAL)
|
||||||
set_property(TARGET tsglua PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libelua.so)
|
set_property(TARGET tsglua PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libelua.so)
|
||||||
set_property(TARGET tsglua PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
set_property(TARGET tsglua PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
|
||||||
|
|
||||||
|
# MRZCPD
|
||||||
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||||
|
set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
|
||||||
|
set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
|
||||||
|
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||||
|
set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/aarch64/lib)
|
||||||
|
set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/aarch64/include)
|
||||||
|
endif()
|
||||||
add_library(mrzcpd SHARED IMPORTED GLOBAL)
|
add_library(mrzcpd SHARED IMPORTED GLOBAL)
|
||||||
set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)
|
set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)
|
||||||
set_property(TARGET mrzcpd PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MRZCPD_INCLUDE_DIR})
|
set_property(TARGET mrzcpd PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MRZCPD_INCLUDE_DIR})
|
||||||
@@ -189,28 +185,16 @@ add_dependencies(cjson cJSON)
|
|||||||
set_property(TARGET cjson PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/libcjson.a)
|
set_property(TARGET cjson PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/libcjson.a)
|
||||||
set_property(TARGET cjson PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
set_property(TARGET cjson PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||||||
|
|
||||||
#### librdkafka
|
|
||||||
#ExternalProject_Add(librdkafka PREFIX librdkafka
|
|
||||||
# URL ${CMAKE_CURRENT_SOURCE_DIR}/librdkafka-0.11.5.tar.gz
|
|
||||||
# URL_MD5 90bb43499252317ae55723d32ccacf18
|
|
||||||
# CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR>
|
|
||||||
# BUILD_IN_SOURCE 1)
|
|
||||||
#ExternalProject_Get_Property(librdkafka INSTALL_DIR)
|
|
||||||
#file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
|
||||||
#
|
|
||||||
#add_library(librdkafka-static STATIC IMPORTED GLOBAL)
|
|
||||||
#add_dependencies(librdkafka-static librdkafka)
|
|
||||||
#set_property(TARGET librdkafka-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/librdkafka.a)
|
|
||||||
#set_property(TARGET librdkafka-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
|
||||||
#set_property(TARGET librdkafka-static PROPERTY INTERFACE_LINK_LIBRARIES ssl crypto sasl2 m z dl pthread rt)
|
|
||||||
|
|
||||||
### ctemplate
|
### ctemplate
|
||||||
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||||
|
set(CTEMPLATE_COMPILE_ARCH x86_64)
|
||||||
|
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||||
|
set(CTEMPLATE_COMPILE_ARCH arm)
|
||||||
|
endif()
|
||||||
ExternalProject_Add(ctemplate PREFIX ctemplate
|
ExternalProject_Add(ctemplate PREFIX ctemplate
|
||||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/ctemplate-2.3.tar.gz
|
URL ${CMAKE_CURRENT_SOURCE_DIR}/ctemplate-ctemplate-2.4.tar.gz
|
||||||
URL_MD5 3b91f3c1e7aa55cb4c2957acf77d6b9a
|
URL_MD5 4dae8e9d3329d20826a94dcc092ce65e
|
||||||
PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/compile_ctemplate_use_centos8_with_gcc7.patch
|
CONFIGURE_COMMAND sh autogen.sh && ./configure --prefix=<INSTALL_DIR> --build=${CTEMPLATE_COMPILE_ARCH}
|
||||||
BUILD_COMMAND sh autogen.sh
|
|
||||||
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR>
|
|
||||||
BUILD_IN_SOURCE 1)
|
BUILD_IN_SOURCE 1)
|
||||||
|
|
||||||
ExternalProject_Get_Property(ctemplate INSTALL_DIR)
|
ExternalProject_Get_Property(ctemplate INSTALL_DIR)
|
||||||
|
|||||||
BIN
vendor/MESA_prof_load-3b2bfd.tar.gz
vendored
BIN
vendor/MESA_prof_load-3b2bfd.tar.gz
vendored
Binary file not shown.
BIN
vendor/ctemplate-2.3.tar.gz
vendored
BIN
vendor/ctemplate-2.3.tar.gz
vendored
Binary file not shown.
BIN
vendor/ctemplate-ctemplate-2.4.tar.gz
vendored
Normal file
BIN
vendor/ctemplate-ctemplate-2.4.tar.gz
vendored
Normal file
Binary file not shown.
BIN
vendor/librdkafka-0.11.5.tar.gz
vendored
BIN
vendor/librdkafka-0.11.5.tar.gz
vendored
Binary file not shown.
BIN
vendor/openssl-1.1.1g.tar.gz
vendored
BIN
vendor/openssl-1.1.1g.tar.gz
vendored
Binary file not shown.
Reference in New Issue
Block a user