summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryangwei <[email protected]>2019-05-24 18:08:22 +0800
committeryangwei <[email protected]>2019-05-24 18:08:22 +0800
commit6987955ba3566f3856af043132444bfeb04846ca (patch)
tree92200b6c19fa7eff4b4fd96885f80da1642a5dc6
parent7aa858405319bbe5ff14d04a52678a278ca9fe55 (diff)
1、更新version.cmake文件,命名规范化,配套更新sapp_main.c中使用的版本宏定义至GIT_VERSION
2、新增package.cmake用于打包RPM 3、注释掉CMakeLists中无关的捕包模式,目前仅保留pcap,pag和marsio,其中pcap对应的packet_io一定会编译
-rw-r--r--.gitignore1
-rw-r--r--.splint.rc48
-rw-r--r--CMakeLists.txt99
-rw-r--r--cmake/Package.cmake36
-rw-r--r--cmake/Version.cmake43
-rw-r--r--entry/sapp_main.c2
-rw-r--r--packet_io/CMakeLists.txt26
-rw-r--r--run/conf/main.conf9
8 files changed, 135 insertions, 129 deletions
diff --git a/.gitignore b/.gitignore
index 715cc8f..760b646 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ build/
.idea/
run/log/
run/sapp
+version.txt \ No newline at end of file
diff --git a/.splint.rc b/.splint.rc
deleted file mode 100644
index 3e4f7b3..0000000
--- a/.splint.rc
+++ /dev/null
@@ -1,48 +0,0 @@
-+sysdirs /usr/include/:/usr/include/netinet/:/usr/local/include
-+single-include
-+unixlib
--bounds
--retvalother
--retvalint
--redef
--boolops
--predboolint
--fixedformalarray
--type
--nestcomment
-
--I./include
--I./include/stream_inc
--I./include/support
--I./project
--I./packet_io
--I./dealpkt
--I./include/net
--I/usr/include/linux/
--Dasm=__asm__
--D__signed__=signed
--D__linux__=1
--Dlinux=1
--D__LITTLE_ENDIAN=1234
--D__BYTE_ORDER=__LITTLE_ENDIAN
--D__USE_BSD=1
--D__unix__=1
--D__unix=1
--D__size_t
--D__daddr_t_defined
--D__SIZE_T
--D_ARPA_INET_H=1
--D__gnu_linux__=1
--D__USE_ISOC95=1
--D__USE_ISOC99=1
--D__USE_POSIX199506=1
--D__USE_POSIX199309=1
--D__amd64=1
--D__USE_POSIX=1
--D__USE_POSIX2=1
--D__ELF__=1
--D__USE_MISC=1
--D__USE_POSIX=1
--D__off_t_defined
--D__size_t__
--D_STDLIB_H=1
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bc71270..903c6bb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,11 @@
cmake_minimum_required(VERSION 2.8)
+set(project_name sapp)
+
+project(${project_name})
+
+
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
include(Version)
@@ -14,7 +19,7 @@ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG -DHIGH_PERF=0")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG -DHIGH_PERF=0")
#set(CMAKE_INSTALL_PREFIX /home/ceiec/sapp/)
-set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/run/)
+set(CMAKE_INSTALL_PREFIX /home/mesasoft/sapp_run/)
option(PLATFORM_MODE_SERIAL "Using serial mode" FALSE)
@@ -49,35 +54,35 @@ set(MESA_SDK_PREFIX "/opt/MESA/" CACHE STRING "MESA Framework Prefix")
# Capture Mode
option(OPT_IOMODE_PCAP "Capture network traffic with libpcap" ON)
option(OPT_IOMODE_PAG "Capture network traffic with libpag" OFF)
-option(OPT_IOMODE_PPF "Capture network traffic with libppf" OFF)
-option(OPT_IOMODE_PFRING "Capture network traffic with PF-RING" OFF)
-option(OPT_IOMODE_DPDK "Capture network traffic with DPDK" OFF)
-option(OPT_IOMODE_PAG_N95 "Capture network traffic with N95" OFF)
+#option(OPT_IOMODE_PPF "Capture network traffic with libppf" OFF)
+#option(OPT_IOMODE_PFRING "Capture network traffic with PF-RING" OFF)
+#option(OPT_IOMODE_DPDK "Capture network traffic with DPDK" OFF)
+#option(OPT_IOMODE_PAG_N95 "Capture network traffic with N95" OFF)
option(OPT_IOMODE_MARSIO "Capture network traffic with MARSIO" OFF)
if(OPT_IOMODE_PCAP)
- set(CAPTURE_MODE "PCAP")
+ set(CAPTURE_MODE "PCAP")
endif()
if(OPT_IOMODE_PAG)
set(CAPTURE_MODE "PAG")
endif()
-if(OPT_IOMODE_PPF)
- set(CAPTURE_MODE "PPF")
-endif()
-
-if(OPT_IOMODE_PFRING)
- set(CAPTURE_MODE "PFRING")
-endif()
-
-if(OPT_IOMODE_DPDK)
- set(CAPTURE_MODE "DPDK")
-endif()
-
-if(OPT_IOMODE_PAG_N95)
- set(CAPTURE_MODE "PAG_N95")
-endif()
+#if(OPT_IOMODE_PPF)
+# set(CAPTURE_MODE "PPF")
+#endif()
+#
+#if(OPT_IOMODE_PFRING)
+# set(CAPTURE_MODE "PFRING")
+#endif()
+#
+#if(OPT_IOMODE_DPDK)
+# set(CAPTURE_MODE "DPDK")
+#endif()
+#
+#if(OPT_IOMODE_PAG_N95)
+# set(CAPTURE_MODE "PAG_N95")
+#endif()
if(OPT_IOMODE_MARSIO)
set(CAPTURE_MODE "MARSIO")
@@ -91,20 +96,20 @@ if(CAPTURE_MODE MATCHES "PAG")
set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_PAG)
endif()
-if(CAPTURE_MODE MATCHES "PPF")
- set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_PPF)
-endif()
-
-if(CAPTURE_MODE MATCHES "PFRING")
- set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_PFRING)
-endif()
-
-if(CAPTURE_MODE MATCHES "DPDK")
- set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_DPDK)
-endif()
+#if(CAPTURE_MODE MATCHES "PPF")
+# set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_PPF)
+#endif()
+#
+#if(CAPTURE_MODE MATCHES "PFRING")
+# set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_PFRING)
+#endif()
+#
+#if(CAPTURE_MODE MATCHES "DPDK")
+# set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_DPDK)
+#endif()
if(CAPTURE_MODE MATCHES "MARSIO")
- set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_MARSIO -DIOMODE_MARSIO)
+ set(CAPTURE_DEFINITIONS -DCAPTURE_MODE_MARSIO -DIOMODE_MARSIO)
endif()
# Memory Allocator
@@ -171,7 +176,7 @@ install(PROGRAMS ${CMAKE_BINARY_DIR}/entry/sapp DESTINATION .)
install(PROGRAMS run/r2 DESTINATION .)
install(PROGRAMS run/r3 DESTINATION .)
-install(PROGRAMS run/vv.py DESTINATION .)
+#install(PROGRAMS run/vv.py DESTINATION .)
install(PROGRAMS run/pag.conf DESTINATION .)
install(PROGRAMS run/memchk.sh DESTINATION .)
install(FILES run/conf/gdev_block.conf DESTINATION conf)
@@ -190,21 +195,26 @@ if(CAPTURE_MODE MATCHES "MARSIO")
install(FILES ${CMAKE_BINARY_DIR}/packet_io/packet_io_marsio.so DESTINATION platform_lib)
endif()
-if(CAPTURE_MODE MATCHES "PCAP")
- install(FILES ${CMAKE_BINARY_DIR}/packet_io/packet_io_pcap.so DESTINATION platform_lib)
+if(CAPTURE_MODE MATCHES "PAG")
+ install(FILES ${CMAKE_BINARY_DIR}/packet_io/packet_io_pag.so DESTINATION platform_lib)
endif()
-install(FILES run/plug/protocol/conflist_protocol.inf DESTINATION plug/protocol)
+#if(CAPTURE_MODE MATCHES "PCAP")
+ install(FILES ${CMAKE_BINARY_DIR}/packet_io/packet_io_pcap.so DESTINATION platform_lib)
+#endif()
-install(FILES run/plug/protocol/isakmp_protocol_plug/isakmp_protocol_plug.inf DESTINATION plug/protocol/isakmp_protocol_plug)
-install(FILES ${CMAKE_BINARY_DIR}/inner_plug/isakmp_protocol_plug.so DESTINATION plug/protocol/isakmp_protocol_plug)
+install(FILES run/plug/protocol/conflist_protocol.inf DESTINATION plug/protocol)
-install(FILES run/plug/protocol/l2tp_protocol_plug/l2tp_protocol_plug.inf DESTINATION plug/protocol/l2tp_protocol_plug)
-install(FILES ${CMAKE_BINARY_DIR}/inner_plug/l2tp_protocol_plug.so DESTINATION plug/protocol/l2tp_protocol_plug)
+if(NOT PLATFORM_MODE_SERIAL)
+ install(FILES run/plug/protocol/isakmp_protocol_plug/isakmp_protocol_plug.inf DESTINATION plug/protocol/isakmp_protocol_plug)
+ install(FILES ${CMAKE_BINARY_DIR}/inner_plug/isakmp_protocol_plug.so DESTINATION plug/protocol/isakmp_protocol_plug)
-install(FILES run/plug/protocol/pptp_protocol_plug/pptp_protocol_plug.inf DESTINATION plug/protocol/pptp_protocol_plug)
-install(FILES ${CMAKE_BINARY_DIR}/inner_plug/pptp_protocol_plug.so DESTINATION plug/protocol/pptp_protocol_plug)
+ install(FILES run/plug/protocol/l2tp_protocol_plug/l2tp_protocol_plug.inf DESTINATION plug/protocol/l2tp_protocol_plug)
+ install(FILES ${CMAKE_BINARY_DIR}/inner_plug/l2tp_protocol_plug.so DESTINATION plug/protocol/l2tp_protocol_plug)
+ install(FILES run/plug/protocol/pptp_protocol_plug/pptp_protocol_plug.inf DESTINATION plug/protocol/pptp_protocol_plug)
+ install(FILES ${CMAKE_BINARY_DIR}/inner_plug/pptp_protocol_plug.so DESTINATION plug/protocol/pptp_protocol_plug)
+endif()
install(FILES run/plug/platform/conflist_platform.inf DESTINATION plug/platform)
@@ -219,3 +229,6 @@ install(FILES run/plug/business/conflist_business.inf DESTINATION plug/business)
install(FILES run/plug/business/test_app/test_app.inf DESTINATION plug/business/test_app)
install(FILES ${CMAKE_BINARY_DIR}/test_so/test_app_sapp.so DESTINATION plug/business/test_app)
install(FILES ${CMAKE_BINARY_DIR}/test_so/trace_delay.so DESTINATION plug/business/test_app)
+
+
+include(Package) \ No newline at end of file
diff --git a/cmake/Package.cmake b/cmake/Package.cmake
new file mode 100644
index 0000000..a797e6c
--- /dev/null
+++ b/cmake/Package.cmake
@@ -0,0 +1,36 @@
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ set(CPACK_PACKAGE_NAME "${project_name}-debug")
+else()
+ set(CPACK_PACKAGE_NAME ${project_name})
+endif()
+
+message(STATUS "Package: ${CPACK_PACKAGE_NAME}")
+
+set(CPACK_PACKAGE_VECDOR "MESA")
+set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
+set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
+set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}.${VERSION_BUILD}")
+set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+
+#set(CPACK_RPM_PACKAGE_DEBUG 1)
+
+# RPM Build
+set(CPACK_GENERATOR "RPM")
+set(CPACK_RPM_AUTO_GENERATED_FILE_NAME ON)
+set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
+set(CPACK_RPM_PACKAGE_VENDOR "MESA")
+set(CPACK_RPM_PACKAGE_AUTOREQPROV "no")
+set(CPACK_RPM_PACKAGE_RELEASE_DIST on)
+set(CPACK_RPM_DEBUGINFO_PACKAGE off)
+
+set(CPACK_BUILD_SOURCE_DIRS "${CMAKE_SOURCE_DIR}")
+
+# Must uninstall the debug package before install release package
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ set(CPACK_RPM_PACKAGE_CONFLICTS "${project_name}-debug")
+else()
+ set(CPACK_RPM_PACKAGE_CONFLICTS ${project_name})
+ # set(CPACK_STRIP_FILES TRUE)
+endif()
+
+include(CPack)
diff --git a/cmake/Version.cmake b/cmake/Version.cmake
index ff92e75..5bbb1dc 100644
--- a/cmake/Version.cmake
+++ b/cmake/Version.cmake
@@ -1,4 +1,3 @@
-
# Using autorevision.sh to generate version information
set(__SOURCE_AUTORESIVISION ${CMAKE_SOURCE_DIR}/autorevision.sh)
@@ -7,37 +6,41 @@ set(__VERSION_CACHE ${CMAKE_SOURCE_DIR}/version.txt)
set(__VERSION_CONFIG ${CMAKE_BINARY_DIR}/version.cmake)
file(COPY ${__SOURCE_AUTORESIVISION} DESTINATION ${CMAKE_BINARY_DIR}
- FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
- WORLD_READ WORLD_EXECUTE)
+ FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
+ WORLD_READ WORLD_EXECUTE)
# execute autorevision.sh to generate version information
-execute_process(COMMAND ${__AUTORESIVISION} -t cmake -o ${__VERSION_CACHE}
- OUTPUT_FILE ${__VERSION_CONFIG} ERROR_QUIET)
+execute_process(COMMAND ${__AUTORESIVISION} -t cmake -o ${__VERSION_CACHE}
+ OUTPUT_FILE ${__VERSION_CONFIG} ERROR_QUIET)
include(${__VERSION_CONFIG})
# extract major, minor, patch version from git tag
-string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" SAPP_VERSION_MAJOR "${VCS_TAG}")
-string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" SAPP_VERSION_MINOR "${VCS_TAG}")
-string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" SAPP_VERSION_PATCH "${VCS_TAG}")
+string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${VCS_TAG}")
+string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${VCS_TAG}")
+string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${VCS_TAG}")
-if(NOT SAPP_VERSION_MAJOR)
- set(SAPP_VERSION_MAJOR 3)
+if(NOT VERSION_MAJOR)
+ set(VERSION_MAJOR 3)
endif()
-if(NOT SAPP_VERSION_MINOR)
- set(SAPP_VERSION_MINOR 0)
+if(NOT VERSION_MINOR)
+ set(VERSION_MINOR 0)
endif()
-if(NOT SAPP_VERSION_PATCH)
- set(SAPP_VERSION_PATCH 0)
+if(NOT VERSION_PATCH)
+ set(VERSION_PATCH 0)
endif()
-set(SAPP_VERSION "${SAPP_VERSION_MAJOR}.${SAPP_VERSION_MINOR}.${SAPP_VERSION_PATCH}")
-set(SAPP_VERSION_BUILD "${VCS_SHORT_HASH}")
+set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
+set(VERSION_BUILD "${VCS_SHORT_HASH}")
+
+set(GIT_VERSION
+ "${VERSION}-${CMAKE_BUILD_TYPE}-${VERSION_BUILD}-${VCS_BRANCH}-${VCS_TAG}-${VCS_DATE}")
+
+string(REGEX REPLACE "[-:+/\\.]" "_" GIT_VERSION ${GIT_VERSION})
+
+add_definitions(-DGIT_VERSION=\"${GIT_VERSION}\")
-set(SAPP_GIT_VERSION
- "${SAPP_VERSION}-${CMAKE_BUILD_TYPE}-${SAPP_VERSION_BUILD}-${VCS_BRANCH}-${VCS_TAG}-${VCS_DATE}")
-add_definitions(-DGITVER=\"${SAPP_GIT_VERSION}\")
# print information
-message(STATUS "Sapp Version: ${SAPP_GIT_VERSION}")
+message(STATUS "Sapp Version: ${GIT_VERSION}")
diff --git a/entry/sapp_main.c b/entry/sapp_main.c
index 27461f0..e504a07 100644
--- a/entry/sapp_main.c
+++ b/entry/sapp_main.c
@@ -80,7 +80,7 @@ static void signal_take_over(void)
int main(int argc, char *argv[])
{
if((argc == 2) && (strncasecmp(argv[1], "-v", 2) == 0)){
- const char *sapp_version = GITVER;
+ const char *sapp_version = GIT_VERSION;
printf("Platform version: %s\n", sapp_version);
exit(0);
}
diff --git a/packet_io/CMakeLists.txt b/packet_io/CMakeLists.txt
index 96d797c..c720ad7 100644
--- a/packet_io/CMakeLists.txt
+++ b/packet_io/CMakeLists.txt
@@ -12,26 +12,26 @@ include_directories(${CMAKE_SOURCE_DIR}/packet_io)
add_definitions(-fPIC)
-if(CAPTURE_MODE MATCHES "PCAP")
- set(PACKET_IO_SOURCE ${PACKET_IO_SOURCE} packet_io_pcap.c)
- add_library(packet_io_pcap SHARED ${PACKET_IO_SOURCE})
+#if(CAPTURE_MODE MATCHES "PCAP")
+ #set(PACKET_IO_SOURCE ${PACKET_IO_SOURCE} packet_io_pcap.c)
+ add_library(packet_io_pcap SHARED packet_io_pcap.c)
set_target_properties(packet_io_pcap PROPERTIES PREFIX "")
-endif()
+#endif()
if(CAPTURE_MODE MATCHES "PAG")
set(PACKET_IO_SOURCE ${PACKET_IO_SOURCE} packet_io_pag_marsio.c)
add_library(packet_io_pag_marsio SHARED ${PACKET_IO_SOURCE})
endif()
-if(CAPTURE_MODE MATCHES "PPF")
- set(PACKET_IO_SOURCE ${PACKET_IO_SOURCE} packet_io_ppf.c)
- add_library(packet_io_ppf SHARED ${PACKET_IO_SOURCE})
-endif()
-
-if(CAPTURE_MODE MATCHES "DPDK")
- set(PACKET_IO_SOURCE ${PACKET_IO_SOURCE} packet_io_dpdk.c)
- add_library(packet_io_dpdk SHARED ${PACKET_IO_SOURCE})
-endif()
+#if(CAPTURE_MODE MATCHES "PPF")
+# set(PACKET_IO_SOURCE ${PACKET_IO_SOURCE} packet_io_ppf.c)
+# add_library(packet_io_ppf SHARED ${PACKET_IO_SOURCE})
+#endif()
+#
+#if(CAPTURE_MODE MATCHES "DPDK")
+# set(PACKET_IO_SOURCE ${PACKET_IO_SOURCE} packet_io_dpdk.c)
+# add_library(packet_io_dpdk SHARED ${PACKET_IO_SOURCE})
+#endif()
if(CAPTURE_MODE MATCHES "MARSIO")
set(PACKET_IO_SOURCE ${PACKET_IO_SOURCE} packet_io_marsio.c)
diff --git a/run/conf/main.conf b/run/conf/main.conf
index ab31134..53558c1 100644
--- a/run/conf/main.conf
+++ b/run/conf/main.conf
@@ -1,6 +1,6 @@
[Module]
-threadnum=1
+threadnum=8
#cpu_bind_core_mask=1,2,3,4,5
cpu_bind_core_mask=0xFF0
app_instance_name=sapp
@@ -61,7 +61,7 @@ treat_vlan_as_mac_in_mac=0
#(0:pag,1:pcap,2:dumpfile,3:pfring,4:DPDK,5:ppf,6:NPacket,7:qnf,8:N95,9:pcap-dumpfile-list,10:topsec,
#(11:ipfile, 12:marsio4, 13:agent_smith, 14:dpdk_vxlan, 15:marsio_vxlan, 16:pag_marsio
-capdatamodlel=2
+capdatamodlel=1
forwardpkt=0
pcapdevice=lo
pcapdevice2=em2
@@ -87,9 +87,10 @@ net_connection_mode=1
[ShowStatInfo]
showinterval=3
-iknow_switch=1
+iknow_switch=0
iknow_listen_port=65432
-platform_log_level=10
+platform_log_level=30
+
FS_switch=1
FS_cycle=3
FS_print_switch=1