summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlijia <[email protected]>2024-04-27 22:31:48 +0800
committerlijia <[email protected]>2024-04-28 19:13:45 +0800
commited1ff3bc45c45a3ed131beadf1584529e28b2856 (patch)
treef0762619ceeabb70aadd8508799a9b1ac0ae9e44
parent16a633839f9917d26fe229ddaa887fe10b57deac (diff)
update g_current_time based on the timestamp of the pcap packet header
-rw-r--r--benchmark_pcap/tcp/tcp_timeout_reset.pcapbin471 -> 2100 bytes
-rw-r--r--module_test/src/gtest_inline_plug.cpp9
-rw-r--r--module_test/src/gtest_main.cpp33
-rw-r--r--module_test/src/gtest_mpls.cpp3
-rw-r--r--module_test/src/gtest_mpls_plug.cpp30
-rw-r--r--module_test/src/gtest_sapp_ipv4_plug.cpp41
-rw-r--r--module_test/src/gtest_sapp_support.cpp68
-rw-r--r--module_test/src/gtest_sapp_support_plug.cpp15
-rw-r--r--module_test/src/gtest_sapp_tcp.cpp80
-rw-r--r--module_test/src/gtest_sapp_tcp_plug.cpp53
-rw-r--r--module_test/src/gtest_sapp_udp.cpp69
-rw-r--r--module_test/src/gtest_vlan.cpp4
-rw-r--r--module_test/src/gtest_vlan_plug.cpp32
-rw-r--r--src/dealpkt/plug_support.c27
14 files changed, 253 insertions, 211 deletions
diff --git a/benchmark_pcap/tcp/tcp_timeout_reset.pcap b/benchmark_pcap/tcp/tcp_timeout_reset.pcap
index 5f51ec9..4319b2d 100644
--- a/benchmark_pcap/tcp/tcp_timeout_reset.pcap
+++ b/benchmark_pcap/tcp/tcp_timeout_reset.pcap
Binary files differ
diff --git a/module_test/src/gtest_inline_plug.cpp b/module_test/src/gtest_inline_plug.cpp
index d3ea463..4f24fb7 100644
--- a/module_test/src/gtest_inline_plug.cpp
+++ b/module_test/src/gtest_inline_plug.cpp
@@ -34,6 +34,7 @@ extern "C" char tcpall_pkt_stat(struct streaminfo *pstream,void **pme, int threa
extern "C" char tcp_pkt_stat(struct streaminfo *pstream,void **pme, int thread_seq, void *a_packet);
extern gtest_plug_stat_t gtest_tcp_stat;
+extern gtest_plug_stat_t gtest_tcpall_stat;
static void build_rst_tcp_paras(struct rst_tcp_para *inject_paras, unsigned char send_dir)
{
@@ -320,10 +321,10 @@ extern "C" char inline_stream_addr_ntop_entry(struct streaminfo *stream,void **p
extern "C" char inline_tcpall_simple(struct streaminfo *pstream,void **pme, int thread_seq, void *a_packet)
{
if(pstream->pktstate == OP_STATE_CLOSE){
- if((1 == gtest_tcp_stat.C2S_all_pkt)
- &&(0 == gtest_tcp_stat.C2S_all_byte)
- &&(1 == gtest_tcp_stat.S2C_all_pkt)
- &&(0 == gtest_tcp_stat.S2C_all_byte)){
+ if((1 == gtest_tcpall_stat.C2S_all_pkt)
+ &&(0 == gtest_tcpall_stat.C2S_all_byte)
+ &&(1 == gtest_tcpall_stat.S2C_all_pkt)
+ &&(0 == gtest_tcpall_stat.S2C_all_byte)){
SAPP_PLUG_LOG(RLOG_LV_INFO,"inline_tcpall_simple", "\033[32m inline_tcpall_simple() test succ!\033[0m\n");
fprintf(stderr,"\033[32m inline_tcpall_simple() test succ!\033[0m\n");
gtest_set_libsapp_devel_result(GTEST_INLINE_TO_SAPP_SUCC);
diff --git a/module_test/src/gtest_main.cpp b/module_test/src/gtest_main.cpp
index fa44674..8a4ff00 100644
--- a/module_test/src/gtest_main.cpp
+++ b/module_test/src/gtest_main.cpp
@@ -24,7 +24,7 @@ int g_slient_mode = 0;
const char *for_test_sapp_version = "4.2.68_c9193fe";
-static int g_libsapp_devel_res = GTEST_SAPP_ERR; /* 使用lisapp_devel.so在同一个进程内运行的测试结�??*/
+static int g_libsapp_devel_res = GTEST_SAPP_ERR; /* 使用lisapp_devel.so在同一个进程内运行的测试结�???*/
int gtest_set_libsapp_devel_result(int res_value)
{
g_libsapp_devel_res = res_value;
@@ -170,7 +170,7 @@ void call_libsapp_devel_online_mode(void)
while(sapp_get_current_state() != SAPP_STATE_PROCESSING){
usleep(100);
}
- sleep(3); /* TODO: 此处不用超时, 而是靠一个标志位或特定状�??*/
+ sleep(3); /* TODO: 此处不用超时, 而是靠一个标志位或特定状�???*/
libsapp_destroy_env();
}
@@ -481,14 +481,14 @@ TEST(tcp, dropstream_and_unorder)
}
#define tcp_tuple4_reuse_with_fin 1 // for SI symbol view
-TEST(tcp, DISABLED_tuple4_reuse_with_fin)
+TEST(tcp, tuple4_reuse_with_fin)
{
tcp_tuple4_reuse_with_fin_run();
EXPECT_EQ(GTEST_SAPP_SUCC, gtest_get_libsapp_devel_result());
}
#define tcpall_tuple4_reuse_with_fin 1 // for SI symbol view
-TEST(tcpall, DISABLED_tuple4_reuse_with_fin)
+TEST(tcpall, tuple4_reuse_with_fin)
{
tcpall_tuple4_reuse_with_fin_run();
EXPECT_EQ(GTEST_SAPP_SUCC, gtest_get_libsapp_devel_result());
@@ -958,15 +958,18 @@ TEST(control, get_ip_ttl)
#define control_get_tcp_rtt 1
-TEST(control, DISABLED_get_tcp_rtt)
+TEST(control, get_tcp_rtt)
{
- control_get_tcp_rtt_run();
- ASSERT_EQ(GTEST_SAPP_SUCC, gtest_get_libsapp_devel_result());
- // EXPECT_EXIT(control_get_tcp_rtt_run(), testing::ExitedWithCode(0), "test succ");
+#if 0
+ //control_get_tcp_rtt_run();
+ //ASSERT_EQ(GTEST_SAPP_SUCC, gtest_get_libsapp_devel_result());
+#else
+ EXPECT_EXIT(control_get_tcp_rtt_run(), testing::ExitedWithCode(0), "test succ");
+#endif
}
#define control_get_tcp_rtt_c2s 1
-TEST(control, DISABLED_get_tcp_rtt_c2s)
+TEST(control, get_tcp_rtt_c2s)
{
control_get_tcp_rtt_c2s_run();
ASSERT_EQ(GTEST_SAPP_SUCC, gtest_get_libsapp_devel_result());
@@ -974,7 +977,7 @@ TEST(control, DISABLED_get_tcp_rtt_c2s)
}
#define control_get_tcp_rtt_s2c 1
-TEST(control, DISABLED_get_tcp_rtt_s2c)
+TEST(control, get_tcp_rtt_s2c)
{
control_get_tcp_rtt_s2c_run();
ASSERT_EQ(GTEST_SAPP_SUCC, gtest_get_libsapp_devel_result());
@@ -1314,7 +1317,7 @@ TEST(appstate, kill_follow_ip_entry)
/************************ sapp timer test ***********************/
#if SAPP_V4 //timer only support in sapp-v4.0
#define timer_simple 1 // for SI symbol view
-TEST(timer, simple)
+TEST(timer, DISABLED_simple)
{
timer_simple_run();
//ASSERT_EQ(GTEST_SAPP_SUCC, gtest_get_libsapp_devel_result());
@@ -1326,7 +1329,7 @@ TEST(timer, simple)
/********************* inject rst packet Test ***********************/
#if SAPP_V4 //rst_tcp only support in sapp-v4.0
-#if 0 /* 改成用sapp_benchmark框架测试, 不需要写代码、不用重新编�??*/
+#if 0 /* 改成用sapp_benchmark框架测试, 不需要写代码、不用重新编�???*/
#define inject_rst_packet_test_v4 1 // for SI symbol view
TEST(inject, rst_pkt_v4)
{
@@ -1337,7 +1340,7 @@ TEST(inject, rst_pkt_v4)
/********************* inject rst packet Test ***********************/
#define inject_rst_packet_test_v6 1 // for SI symbol view
-#if 0 /* 改成用sapp_benchmark框架测试, 不需要写代码、不用重新编�??*/
+#if 0 /* 改成用sapp_benchmark框架测试, 不需要写代码、不用重新编�???*/
TEST(inject, rst_pkt_v6)
{
MESA_rst_tcp_test_v6_run();
@@ -2044,7 +2047,7 @@ TEST(proxy, simple)
#define _proxy_kill_tcp 1
/*
TODO:
- 使用libsapp_devel实测, 两个用例不能顺序执行, 疑似与解析层dlopen有关�?? 暂未定位原因, 待解�??!!!
+ 使用libsapp_devel实测, 两个用例不能顺序执行, 疑似与解析层dlopen有关�??? 暂未定位原因, 待解�???!!!
*/
#if 0
TEST(proxy, kill_tcp)
@@ -2166,7 +2169,7 @@ TEST(fake_marsio, vlan_flip_and_symmetric_mpls1vs2)
#define _fake_marsio_vlan_mac_flip_inject_no_asymmetric 1
TEST(fake_marsio, vlan_mac_flip_inject_no_asymmetric)
{
- /* 别着�?? 不是BUG!
+ /* 别着�??? 不是BUG!
这个测试用例就是应该错的 !!!
*/
EXPECT_EXIT(fake_marsio_vlan_mac_flipping_inject_run(0), testing::ExitedWithCode(1), "index:4, mac addr error");
diff --git a/module_test/src/gtest_mpls.cpp b/module_test/src/gtest_mpls.cpp
index e868f8c..4bafcfd 100644
--- a/module_test/src/gtest_mpls.cpp
+++ b/module_test/src/gtest_mpls.cpp
@@ -30,7 +30,8 @@ void mpls_asymmetric_1vs2_run(void)
ASSERT_EQ(file_md5_checksum("dumpfile", "3894f69adfab6c2fe690982866aa8d9c"),0);
- gtest_start_sapp_progress(sapp_start_args);
+ call_libsapp_devel_for_dumpfile_topspeed();
+ // gtest_start_sapp_progress(sapp_start_args);
}
diff --git a/module_test/src/gtest_mpls_plug.cpp b/module_test/src/gtest_mpls_plug.cpp
index 163425d..33cc480 100644
--- a/module_test/src/gtest_mpls_plug.cpp
+++ b/module_test/src/gtest_mpls_plug.cpp
@@ -39,94 +39,94 @@ extern "C" char tcp_entry_for_asymmetric_1vs2(struct streaminfo *pstream,void **
if(OP_STATE_CLOSE == pstream->opstate){
if(mpls_pstream->addr.addrtype != ADDR_TYPE_MPLS){
printf("\033[1;31;40mnot found mpls stream layer!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
/* c2s */
if(mpls_pstream->addr.mpls->c2s_layer_num != 2){
printf("\033[1;31;40mmpls c2s layer num error, expect 2, but actual is:%d!\033[0m\n", mpls_pstream->addr.mpls->c2s_layer_num);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(ntohl(mpls_pstream->addr.mpls->c2s_addr_array[0].label) != 301632){
printf("\033[1;31;40mmpls c2s addr error, expect label:301632, but actual is:%u!\033[0m\n", ntohl(mpls_pstream->addr.mpls->c2s_addr_array[0].label));
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(mpls_pstream->addr.mpls->c2s_addr_array[0].experimental != 0){
printf("\033[1;31;40mmpls c2s addr error, expect experimental:0, but actual is:%u!\033[0m\n", mpls_pstream->addr.mpls->c2s_addr_array[0].experimental);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(mpls_pstream->addr.mpls->c2s_addr_array[0].ttl != 63){
printf("\033[1;31;40mmpls c2s addr error, expect ttl:63, but actual is:%u!\033[0m\n", mpls_pstream->addr.mpls->c2s_addr_array[0].ttl);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(ntohl(mpls_pstream->addr.mpls->c2s_addr_array[1].label) != 794436){
printf("\033[1;31;40mmpls c2s addr error, expect label:794436, but actual is:%u!\033[0m\n", ntohl(mpls_pstream->addr.mpls->c2s_addr_array[1].label));
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(mpls_pstream->addr.mpls->c2s_addr_array[1].experimental != 0){
printf("\033[1;31;40mmpls c2s addr error, expect experimental:0, but actual is:%u!\033[0m\n", mpls_pstream->addr.mpls->c2s_addr_array[1].experimental);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(mpls_pstream->addr.mpls->c2s_addr_array[1].ttl != 63){
printf("\033[1;31;40mmpls c2s addr error, expect ttl:63, but actual is:%u!\033[0m\n", mpls_pstream->addr.mpls->c2s_addr_array[1].ttl);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(mpls_pstream->addr.mpls->c2s_addr_array[1].bottom != 1){
printf("\033[1;31;40mmpls c2s addr error, expect bottom:1, but actual is:%u!\033[0m\n", mpls_pstream->addr.mpls->c2s_addr_array[1].bottom);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
/* s2c */
if(mpls_pstream->addr.mpls->s2c_layer_num != 1){
printf("\033[1;31;40mmpls s2c layer num error, expect 1, but actual is:%d!\033[0m\n", mpls_pstream->addr.mpls->s2c_layer_num);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(ntohl(mpls_pstream->addr.mpls->s2c_addr_array[0].label) != 23041){
printf("\033[1;31;40mmpls c2s addr error, expect label:23041, but actual is:%u!\033[0m\n", ntohl(mpls_pstream->addr.mpls->s2c_addr_array[0].label));
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(mpls_pstream->addr.mpls->s2c_addr_array[0].experimental != 6){
printf("\033[1;31;40mmpls c2s addr error, expect experimental:6, but actual is:%u!\033[0m\n", mpls_pstream->addr.mpls->s2c_addr_array[0].experimental);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(mpls_pstream->addr.mpls->s2c_addr_array[0].ttl != 251){
printf("\033[1;31;40mmpls c2s addr error, expect ttl:251, but actual is:%u!\033[0m\n", mpls_pstream->addr.mpls->s2c_addr_array[0].ttl);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(mpls_pstream->addr.mpls->s2c_addr_array[0].bottom != 1){
printf("\033[1;31;40mmpls c2s addr error, expect bottom:1, but actual is:%u!\033[0m\n", mpls_pstream->addr.mpls->s2c_addr_array[0].bottom);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
printf("\033[32mtest mpls 1vs2 success!\033[0m\n");
- sendto_test_result(GTEST_SAPP_SUCC);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_SUCC);
}
return APP_STATE_GIVEME;
diff --git a/module_test/src/gtest_sapp_ipv4_plug.cpp b/module_test/src/gtest_sapp_ipv4_plug.cpp
index a76f6a9..63800ce 100644
--- a/module_test/src/gtest_sapp_ipv4_plug.cpp
+++ b/module_test/src/gtest_sapp_ipv4_plug.cpp
@@ -1,4 +1,5 @@
#include <assert.h>
+#include <sys/select.h>
#include <time.h>
#include <arpa/inet.h>
#include "stream.h"
@@ -105,4 +106,44 @@ extern "C" char ipv4_frag_assemble_checksum(const struct streaminfo *pstream,
return APP_STATE_GIVEME;
}
+#include "../../include/private/sapp_private_api.h"
+extern volatile long long g_current_time_ms;
+extern volatile time_t g_current_time;
+/* If the Real World time is used, the time difference may be inaccurate due to overload CPU resources, operating system scheduling or other issues. */
+extern "C" char iplayer_readjust_time_entry(const struct streaminfo *pstream, unsigned char nouse1, int nouse2, const struct ip *nouse3)
+{
+ int ret;
+ struct timeval cur_pkt_stamp = {};
+ static struct timeval first_pkt_stamp = {0,0};
+ ret = get_rawpkt_opt_from_streaminfo(pstream, RAW_PKT_GET_TIMESTAMP, &cur_pkt_stamp);
+ if (ret < 0)
+ {
+ fprintf(stderr, "\033[1;31;40mipv4_adjust_time_entry get pcap timestamp error!\033[0m\n");
+ return APP_STATE_DROPME;
+ }
+
+ unsigned long long tot_pkt = 0;
+ int optlen = sizeof(long long);
+ ret = sapp_get_platform_opt(SPO_TOTAL_RCV_PKT, &tot_pkt, &optlen);
+ if (ret < 0)
+ {
+ fprintf(stderr, "\033[1;31;40msapp_get_platform_opt() error!\033[0m\n");
+ return APP_STATE_DROPME;
+ }
+
+ if (tot_pkt <= 1)
+ {
+ /* stop background timer thread, and set current time based on the pcap header timestamp */
+ pthread_cancel(sapp_global_val->individual_fixed.thread_timer_loop_id);
+ usleep(1000 * 100);
+ first_pkt_stamp.tv_sec = cur_pkt_stamp.tv_sec;
+ first_pkt_stamp.tv_usec = cur_pkt_stamp.tv_usec;
+ g_current_time_ms = 0; // set time to PanGu
+ g_current_time = 0; // set time to PanGu
+ return APP_STATE_GIVEME;
+ }
+ g_current_time_ms = ((long)cur_pkt_stamp.tv_sec * 1000 + cur_pkt_stamp.tv_usec / 1000) - ((long)first_pkt_stamp.tv_sec * 1000 + first_pkt_stamp.tv_usec / 1000);
+ g_current_time = g_current_time_ms / 1000;
+ return APP_STATE_GIVEME;
+}
diff --git a/module_test/src/gtest_sapp_support.cpp b/module_test/src/gtest_sapp_support.cpp
index 82c9550..c58dd81 100644
--- a/module_test/src/gtest_sapp_support.cpp
+++ b/module_test/src/gtest_sapp_support.cpp
@@ -68,34 +68,25 @@ void control_takeover_run(void)
void control_timeout_run(void)
{
- const char *sapp_argv[4];
-
- sapp_argv[0] = (char *)"./sapp ";
- sapp_argv[1] = (char *)"--dumpfile";
- sapp_argv[2] = (char *)"--dumpfile-speed=timestamp";
- sapp_argv[3] = NULL;
-
-
set_default_config();
#if SAPP_V3
update_config_file("conf/main.conf", "CreatLinkMode", "1");
update_config_file("conf/main.conf", "LinkTimeout", "0");
update_config_file("conf/main.conf", "UdpResetTime", "0");
#elif SAPP_V4
- update_config_file("etc/sapp.toml", "syn_mandatory", "0");
+ update_config_file("etc/sapp.toml", "syn_mandatory", "1");
update_config_file("etc/sapp.toml", "timeout", "5");
#else
abort();
#endif
- update_plugin_inf("TCP", "ctrl_tcp_timeout_entry");
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("TCP", "ctrl_tcp_timeout_entry");
set_pcap_dumpfile("tcp/tcp_timeout_reset.pcap");
- ASSERT_EQ(file_md5_checksum("dumpfile", "9e8c65901915a0535d210e3766030b9e"),0);
+ ASSERT_EQ(file_md5_checksum("dumpfile", "064293d96e1299cfc29d419399e8137e"),0);
- printf("test for timer, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_with_args(3, sapp_argv);
+ call_libsapp_devel_for_dumpfile_topspeed();
}
@@ -408,14 +399,6 @@ void global_stream_id_run(void)
void global_stream_id_tuple4_reuse_run(void)
{
- const char *reuse_argv[4];
-
- reuse_argv[0] = (char *)"./sapp";
- reuse_argv[1] = (char *)"--dumpfile";
- reuse_argv[2] = (char *)"--dumpfile-speed=timestamp";
- reuse_argv[3] = NULL;
-
-
set_default_config();
set_project_list_conf_default();
@@ -426,15 +409,14 @@ void global_stream_id_tuple4_reuse_run(void)
update_config_file("etc/sapp.toml", "tuple4_reuse_time_interval", "10");
update_config_file("etc/sapp.toml", "stream_id_base_time", "\"2018-08-08 08:08:08\"");
- update_plugin_inf("TCP_ALL", "global_stream_id_tuple4_reuse_tcpall_entry");
+ /* stop background timer thread, and set current time based on the pcap header timestamp */
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("TCP_ALL", "global_stream_id_tuple4_reuse_tcpall_entry");
set_pcap_dumpfile("tcp/tcp_tuple4_reuse.pcap");
-
ASSERT_EQ(file_md5_checksum("dumpfile", "4a7f3337a2039de8a91b7186e9a71c62"),0);
- printf("test for tuple4 reuse, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_with_args(3, reuse_argv);
+ call_libsapp_devel_for_dumpfile_topspeed();
}
/*
@@ -442,14 +424,13 @@ void global_stream_id_tuple4_reuse_run(void)
*/
void stream_creattime_tuple4_reuse_run(void)
{
- const char *reuse_argv[4];
+ // const char *reuse_argv[4];
- reuse_argv[0] = (char *)"./sapp";
- reuse_argv[1] = (char *)"--dumpfile";
- reuse_argv[2] = (char *)"--dumpfile-speed=timestamp";
- reuse_argv[3] = NULL;
+ // reuse_argv[0] = (char *)"./sapp";
+ // reuse_argv[1] = (char *)"--dumpfile";
+ // reuse_argv[2] = (char *)"--dumpfile-speed=timestamp";
+ // reuse_argv[3] = NULL;
-
set_default_config();
set_project_list_conf_default();
@@ -459,16 +440,17 @@ void stream_creattime_tuple4_reuse_run(void)
update_config_file("etc/sapp.toml", "timeout", "0");
update_config_file("etc/sapp.toml", "tuple4_reuse_time_interval", "10");
update_config_file("etc/sapp.toml", "stream_id_base_time", "\"2018-08-08 08:08:08\"");
-
- update_plugin_inf("TCP_ALL", "stream_creatime_tuple4_reuse_tcpall_entry");
+ /* stop background timer thread, and set current time based on the pcap header timestamp */
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("TCP_ALL", "stream_creatime_tuple4_reuse_tcpall_entry");
set_pcap_dumpfile("tcp/tcp_tuple4_reuse.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "4a7f3337a2039de8a91b7186e9a71c62"),0);
- printf("test for tuple4 reuse, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_with_args(3, reuse_argv);
+ // printf("test for tuple4 reuse, set --dumpfile-speed=timestamp please wait for a monment......\n");
+ // call_libsapp_devel_with_args(3, reuse_argv);
+ call_libsapp_devel_for_dumpfile_topspeed();
}
@@ -1112,12 +1094,14 @@ void control_get_ip_ttl_run(void)
void control_get_tcp_rtt_run(void)
{
set_default_config();
- update_plugin_inf("TCP", "get_tcp_rtt_entry");
+
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("TCP", "get_tcp_rtt_entry");
set_pcap_dumpfile("for_gtest_only/tcp/tcp_rtt.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "1e06f7ed52405f9014bea2b117ecadff"),0);
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
void control_get_tcp_rtt_c2s_run(void)
@@ -1128,7 +1112,7 @@ void control_get_tcp_rtt_c2s_run(void)
set_pcap_dumpfile("tcp/tcp_isn_c2s_single.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "a5d0d96ee6f44f729d79aeac5cc2fee0"),0);
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
void control_get_tcp_rtt_s2c_run(void)
@@ -1139,5 +1123,5 @@ void control_get_tcp_rtt_s2c_run(void)
set_pcap_dumpfile("for_gtest_only/tcp/tcp_rtt_s2c.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "006277b38aa1f9a0d272b643b8a3b686"),0);
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
diff --git a/module_test/src/gtest_sapp_support_plug.cpp b/module_test/src/gtest_sapp_support_plug.cpp
index ce1cc33..19158b1 100644
--- a/module_test/src/gtest_sapp_support_plug.cpp
+++ b/module_test/src/gtest_sapp_support_plug.cpp
@@ -154,14 +154,9 @@ extern "C" char ctrl_takeover_exclusive_entry(struct streaminfo *pstream,void **
extern "C" char ctrl_tcp_timeout_entry(struct streaminfo *pstream,void **pme, int thread_seq, void *a_packet)
{
int ret;
- static int rcv_pkt = 0;
unsigned char mclose_type;
int opt_len = sizeof(mclose_type);
- if(OP_STATE_PENDING == pstream->opstate){
- gtest_sapp_sleep(5, "tcp time out"); /* 收到第一个包后, 强制sleep, 使当前流后续的包超时, 导致当前流被结束 */
- }
-
if(OP_STATE_CLOSE == pstream->opstate){
ret = MESA_get_stream_opt(pstream, MSO_STREAM_CLOSE_REASON, (void *)&mclose_type, &opt_len);
if(ret < 0){
@@ -176,15 +171,13 @@ extern "C" char ctrl_tcp_timeout_entry(struct streaminfo *pstream,void **pme, in
}
- if(1 == rcv_pkt){
+ if(6 == pstream->ptcpdetail->clientpktnum + pstream->ptcpdetail->serverpktnum){
printf("\033[32m ctrl_tcp_timeout_entry() test succ!\033[0m\n");
sendto_test_result(GTEST_SAPP_SUCC);
}else{
printf("\033[1;31;40mset timeout, but stream is hasn't close!\033[0m\n");
sendto_test_result(GTEST_SAPP_ERR);
}
- }else{
- rcv_pkt++;
}
return APP_STATE_GIVEME;
@@ -2504,13 +2497,14 @@ extern "C" char get_tcp_rtt_entry(struct streaminfo *pstream, void **pme, int th
int ret;
int opt_len = sizeof(short);
- if (DIR_DOUBLE == pstream->dir)
+ if (pstream->opstate == OP_STATE_CLOSE)
{
ret = MESA_get_stream_opt(pstream, MSO_TCP_RTT_CSC, &rtt_csc, &opt_len);
if (ret < 0)
{
fprintf(stderr, "\033[1;31;40mget_tcp_rtt_entry error: get MSO_TCP_RTT_CSC test fail!\033[0m\n");
gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
+ exit(1);
return APP_STATE_DROPME;
}
@@ -2519,6 +2513,7 @@ extern "C" char get_tcp_rtt_entry(struct streaminfo *pstream, void **pme, int th
{
fprintf(stderr, "\033[1;31;40mget_tcp_rtt_entry error: get MSO_TCP_RTT_SCS test fail!\033[0m\n");
gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
+ exit(1);
return APP_STATE_DROPME;
}
@@ -2527,10 +2522,12 @@ extern "C" char get_tcp_rtt_entry(struct streaminfo *pstream, void **pme, int th
{
fprintf(stderr, "\033[32mget_tcp_rtt_entry test succ \033[0m\n");
gtest_set_libsapp_devel_result(GTEST_SAPP_SUCC);
+ exit(0);
return APP_STATE_DROPME;
}else{
fprintf(stderr, "\033[1;31;40mget_tcp_rtt_entry error: get rtt_csc:%d, but expect:%d, get rtt_scs:%d, but expect:%d\033[0m\n", rtt_csc, 65, rtt_scs, 143);
gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
+ exit(1);
return APP_STATE_DROPME;
}
}
diff --git a/module_test/src/gtest_sapp_tcp.cpp b/module_test/src/gtest_sapp_tcp.cpp
index 59ab500..4fea257 100644
--- a/module_test/src/gtest_sapp_tcp.cpp
+++ b/module_test/src/gtest_sapp_tcp.cpp
@@ -59,7 +59,7 @@ void tcp_oos_run(void)
}
-/* TCP因乱�?? 且最大乱序数不合适导致丢包测�??*/
+/* TCP因乱�??? 且最大乱序数不合适导致丢包测�???*/
void tcp_oos_lost_pkt_run(void)
{
set_default_config();
@@ -99,11 +99,9 @@ void tcp_timeout_reset_run(void)
append_plugin_inf("IP", "ip_entry_check_tcp_timeout");
set_pcap_dumpfile("tcp/tcp_timeout_reset.pcap");
- ASSERT_EQ(file_md5_checksum("dumpfile", "9e8c65901915a0535d210e3766030b9e"),0);
+ ASSERT_EQ(file_md5_checksum("dumpfile", "064293d96e1299cfc29d419399e8137e"),0);
- printf("test for timeout_reset, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
@@ -221,7 +219,7 @@ void tcp_lost_pkt_run(void)
33333333333333333333333333333333333333333333333
44444444444444444444444444444444444444444444444
55555555555555555555555555555555555555555555555
- 故意将第3个数据包删除, 测试丢包检测功�??
+ 故意将第3个数据包删除, 测试丢包检测功�???
*/
void tcp_lost_pkt_manual_run(void)
{
@@ -251,8 +249,8 @@ void tcp_raw_entry_run(void)
}
/*
- 读取一批pcap文件, 这些小pcap文件实际是通过editcap切割一个原始pcap文件而得�??
- 目的是测�??f --dumpfile-list参数功能.
+ 读取一批pcap文件, 这些小pcap文件实际是通过editcap切割一个原始pcap文件而得�???
+ 目的是测�???f --dumpfile-list参数功能.
*/
void tcp_dumpfile_list_run(void)
{
@@ -290,9 +288,9 @@ void tcp_dup_pkt_positive_run(void)
update_config_file("etc/sapp.toml", "bloom_capacity", "1000000");
update_config_file("etc/sapp.toml", "bloom_error_rate", "0.00001");
update_config_file("etc/sapp.toml", "bloom_timeout", "10");
- /* tcp层的重复数据包不能在tcp入口测试,因为序号一样肯定被认为是重传而不调用插件,要挂载到TCP_ALL�?? */
+ /* tcp层的重复数据包不能在tcp入口测试,因为序号一样肯定被认为是重传而不调用插件,要挂载到TCP_ALL�??? */
update_plugin_inf("TCP_ALL", "tcpall_dup_pkt_positive_check");
- /* 此pcap包一共有9个包,前两个和后两个是人为制造的重复包, tcpall插件应该只收到7个包才是对的 */
+ /* 此pcap包一共有9个包,前两个和后两个是人为制造的重复�?, tcpall插件应该只收�?7个包才是对的 */
set_pcap_dumpfile("for_gtest_only/duplicate_packet/tcp_no_syn_dup.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "a56bfea74cd5168e9e3cbf1e2c5c17fb"),0);
@@ -308,9 +306,9 @@ void tcp_dup_pkt_negative_run(void)
update_config_file("etc/sapp.toml", "bloom_capacity", "1000000");
update_config_file("etc/sapp.toml", "bloom_error_rate", "0.00001");
update_config_file("etc/sapp.toml", "bloom_timeout", "10");
- /* tcp层的重复数据包不能在tcp入口测试,因为序号一样肯定被认为是重传而不调用插件,要挂载到TCP_ALL�?? */
+ /* tcp层的重复数据包不能在tcp入口测试,因为序号一样肯定被认为是重传而不调用插件,要挂载到TCP_ALL�??? */
update_plugin_inf("TCP_ALL", "tcpall_dup_pkt_negative_check");
- /* 此pcap包一共有9个包,前两个和后两个是人为制造的重复包, 关闭重复包检查, tcpall插件应该全收到9个包才是对的 */
+ /* 此pcap包一共有9个包,前两个和后两个是人为制造的重复�?, 关闭重复包检�?, tcpall插件应该全收�?9个包才是对的 */
set_pcap_dumpfile("for_gtest_only/duplicate_packet/tcp_no_syn_dup.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "a56bfea74cd5168e9e3cbf1e2c5c17fb"),0);
@@ -318,7 +316,7 @@ void tcp_dup_pkt_negative_run(void)
}
/*
- 一个流有乱序包, 但是插件曾经调用过MSO_DROP_STREAM, 理论上什么情况都不应该再调用插件�??
+ 一个流有乱序包, 但是插件曾经调用过MSO_DROP_STREAM, 理论上什么情况都不应该再调用插件�???
*/
void tcp_dropstream_and_unorder_run(void)
{
@@ -334,7 +332,7 @@ void tcp_dropstream_and_unorder_run(void)
}
/*
- 期待�??gtest_sapp_hybrid_stream.log 日志内容:
+ 期待�???gtest_sapp_hybrid_stream.log 日志内容:
stream:192.168.36.103.57222>120.241.25.57.36688,c2s_pkt:5,c2s_byte:548,s2c_pkt:4,s2c_byte:20
stream:192.168.36.103.57235>120.241.25.15.36688,c2s_pkt:7,c2s_byte:424,s2c_pkt:5,s2c_byte:40
@@ -480,7 +478,7 @@ void hybrid_pure_tcp_run(void)
update_plugin_inf_with_options("./plug/business/gtest_sapp", "gtest", "gtest_sapp_slave_init", "hybrid_tcp_destroy", "TCP", "hybrid_stream_log_entry");
- /* hybrid混合包测试用例不开启重复流量检�??*/
+ /* hybrid混合包测试用例不开启重复流量检�???*/
update_config_file("etc/sapp.toml", "inject_all_enabled", "0");
update_config_file("etc/sapp.toml", "original_ipv4_tcp_enabled", "0");
update_config_file("etc/sapp.toml", "original_ipv4_udp_enabled", "0");
@@ -501,7 +499,7 @@ void hybrid_pure_tcp_run(void)
/*
- 单次读取一批pcap包测�?? 期待�??gtest_sapp_hybrid_stream.log:
+ 单次读取一批pcap包测�??? 期待�???gtest_sapp_hybrid_stream.log:
stream:2001::192:168:40:134.37948>2001::192:168:40:133.22,c2s_pkt:60,c2s_byte:3937,s2c_pkt:41,s2c_byte:4813
stream:2a00:5e80:101:212d:504:7b1:2572:db22.37034>2606:f200:0:7:bad:f00d:d00d:1.80,c2s_pkt:5,c2s_byte:82,s2c_pkt:4,s2c_byte:381
@@ -534,7 +532,7 @@ void hybrid_dataset_run(void)
update_config_file("etc/sapp.toml", "reorder_pkt_max", "100");
update_config_file("etc/sapp.toml", "timeout", "0");
- /* hybrid混合包测试用例不开启重复流量检�??*/
+ /* hybrid混合包测试用例不开启重复流量检�???*/
update_config_file("etc/sapp.toml", "inject_all_enabled", "0");
update_config_file("etc/sapp.toml", "original_ipv4_tcp_enabled", "0");
update_config_file("etc/sapp.toml", "original_ipv4_udp_enabled", "0");
@@ -553,7 +551,7 @@ void hybrid_dataset_run(void)
/*
- 带fin包正常结束的tcp四元组重用测�?? 没有TCP_ALL插件.
+ 带fin包正常结束的tcp四元组重用测�??? 没有TCP_ALL插件.
*/
void tcp_tuple4_reuse_with_fin_run(void)
{
@@ -570,18 +568,17 @@ void tcp_tuple4_reuse_with_fin_run(void)
#else
abort();
#endif
- update_plugin_inf("TCP", "tcp_tuple4_reuse_with_fin_entry");
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("TCP", "tcp_tuple4_reuse_with_fin_entry");
set_pcap_dumpfile("tcp/tcp_tuple4_reuse.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "4a7f3337a2039de8a91b7186e9a71c62"),0);
- printf("test for timeout_reset, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
/*
- 带fin包正常结束的tcp四元组重用测�?? 还加载了TCP_ALL插件, 此时第一个流结束不会真正free, 而是转到nouse链表.
+ 带fin包正常结束的tcp四元组重用测�??? 还加载了TCP_ALL插件, 此时第一个流结束不会真正free, 而是转到nouse链表.
*/
void tcpall_tuple4_reuse_with_fin_run(void)
{
@@ -599,21 +596,20 @@ void tcpall_tuple4_reuse_with_fin_run(void)
abort();
#endif
- update_plugin_inf("TCP", "tcp_tuple4_reuse_with_fin_entry");
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("TCP", "tcp_tuple4_reuse_with_fin_entry");
append_plugin_inf("TCP_ALL", "void_entry");
set_pcap_dumpfile("tcp/tcp_tuple4_reuse.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "4a7f3337a2039de8a91b7186e9a71c62"),0);
- printf("test for timeout_reset, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
/*
- 没有正常结束的tcp四元组重用测�??
+ 没有正常结束的tcp四元组重用测�???
*/
void tcp_tuple4_reuse_no_close_run(void)
{
@@ -631,14 +627,14 @@ void tcp_tuple4_reuse_no_close_run(void)
abort();
#endif
update_config_file_by_lastline("etc/sapp.toml", "packet_io.polling","enabled", "1");
- update_plugin_inf("TCP", "tcp_tuple4_reuse_no_close_entry");
+
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("TCP", "tcp_tuple4_reuse_no_close_entry");
set_pcap_dumpfile("tcp/tcp_tuple4_reuse_5.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "4094ca41ca245c72987638e3c9fad8eb"),0);
- printf("test for timeout_reset, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
@@ -652,7 +648,7 @@ void tcp_well_known_port_run_v4(void)
update_plugin_inf("TCP", "tcp_well_known_port_v4_entry");
system("echo [TCP] > ./etc/well_known_port.conf");
system("echo 8088 >> ./etc/well_known_port.conf");
- /* UDP的配置在这里其实没啥�?? 就是顺带测试一下解析配置文件的功能 */
+ /* UDP的配置在这里其实没啥�??? 就是顺带测试一下解析配置文件的功能 */
system("echo [UDP] >> ./etc/well_known_port.conf");
system("echo 12345 >> ./etc/well_known_port.conf");
system("echo 54321 >> ./etc/well_known_port.conf");
@@ -666,7 +662,7 @@ void tcp_well_known_port_run_v4(void)
/*
测试小端口是客户端的四元组创建流方向,
- 此包是带SYN标志�?? 理论上不应该受etc/well_known_port.conf影响, 故意将源端口33720设成服务�??
+ 此包是带SYN标志�??? 理论上不应该受etc/well_known_port.conf影响, 故意将源端口33720设成服务�???
*/
void tcp_not_use_well_known_port_run_v4(void)
{
@@ -675,7 +671,7 @@ void tcp_not_use_well_known_port_run_v4(void)
update_plugin_inf("TCP", "tcp_should_not_use_well_known_port_v4_entry");
system("echo [TCP] > ./etc/well_known_port.conf");
system("echo 33720 >> ./etc/well_known_port.conf");
- /* UDP的配置在这里其实没啥�?? 就是顺带测试一下解析配置文件的功能 */
+ /* UDP的配置在这里其实没啥�??? 就是顺带测试一下解析配置文件的功能 */
system("echo [UDP] >> ./etc/well_known_port.conf");
system("echo 12345 >> ./etc/well_known_port.conf");
system("echo 54321 >> ./etc/well_known_port.conf");
@@ -698,7 +694,7 @@ void tcp_well_known_port_run_v6(void)
update_plugin_inf("TCP", "tcp_well_known_port_v6_entry");
system("echo [TCP] > ./etc/well_known_port.conf");
system("echo 55555 >> ./etc/well_known_port.conf");
- /* UDP的配置在这里其实没啥�?? 就是顺带测试一下解析配置文件的功能 */
+ /* UDP的配置在这里其实没啥�??? 就是顺带测试一下解析配置文件的功能 */
system("echo [UDP] >> ./etc/well_known_port.conf");
system("echo 12345 >> ./etc/well_known_port.conf");
system("echo 54321 >> ./etc/well_known_port.conf");
@@ -711,7 +707,7 @@ void tcp_well_known_port_run_v6(void)
}
/*
- tcp重传包处�??
+ tcp重传包处�???
*/
void tcp_retransmit_run(void)
{
@@ -752,9 +748,9 @@ void tcp_overlap_run(void)
/*
在没有TCP插件且第一个包就是乱序的情况下,
- sapp在函数tcp_deal_unorder()�?? 会调用update_stream_list_raw_pkt_pointer(),
+ sapp在函数tcp_deal_unorder()�??? 会调用update_stream_list_raw_pkt_pointer(),
但是忘记恢复rawpkt指针就返回了, 导致后续再访问rawpkt其实是被free的乱序包中的rawpkt,
- 如果有插件获取原始包选项, �??021-08-23之前是错误的!
+ 如果有插件获取原始包选项, �???021-08-23之前是错误的!
*/
void tcp_first_unorder_rawpkt_run(void)
{
@@ -769,7 +765,7 @@ void tcp_first_unorder_rawpkt_run(void)
}
/*
- gtp有序�?? 无扩展头�??
+ gtp有序�??? 无扩展头�???
*/
void gtp_with_seq_no_ext_tcp_run(void)
{
@@ -784,7 +780,7 @@ void gtp_with_seq_no_ext_tcp_run(void)
}
/*
- gtp无序�?? 但是有扩展头�??
+ gtp无序�??? 但是有扩展头�???
*/
void gtp_without_seq_and_ext_tcp_run(void)
{
@@ -800,7 +796,7 @@ void gtp_without_seq_and_ext_tcp_run(void)
/*
- gtp有序号且有扩展头�??
+ gtp有序号且有扩展头�???
*/
#if (0 == HIGH_PERF)
void gtp_with_seq_and_ext_tcp_run(void)
diff --git a/module_test/src/gtest_sapp_tcp_plug.cpp b/module_test/src/gtest_sapp_tcp_plug.cpp
index 4257442..9b23de4 100644
--- a/module_test/src/gtest_sapp_tcp_plug.cpp
+++ b/module_test/src/gtest_sapp_tcp_plug.cpp
@@ -34,6 +34,7 @@
#include "sapp_global_val.h"
gtest_plug_stat_t gtest_tcp_stat;
+gtest_plug_stat_t gtest_tcpall_stat;
extern "C" char tcp_pkt_stat(struct streaminfo *pstream,void **pme, int thread_seq, void *a_packet)
{
@@ -41,13 +42,10 @@ extern "C" char tcp_pkt_stat(struct streaminfo *pstream,void **pme, int thread_s
if(OP_STATE_PENDING == pstream->opstate){
/* pending״̬���ü��� */
- memset(&gtest_tcp_stat, 0, sizeof(gtest_tcp_stat));
+ memset(&gtest_tcp_stat, 0, sizeof(gtest_tcp_stat));
}
if(pstream->opstate != OP_STATE_CLOSE){
- printf("tcp_pkt_stat, curdir:%u, data_len:%u, c2s_pkt:%u, c2s_bytes:%llu, s2c_pkt:%u, s2c_bytes:%llu\n",
- pstream->curdir, pdetail->datalen,
- gtest_tcp_stat.C2S_data_pkt, gtest_tcp_stat.C2S_data_byte, gtest_tcp_stat.S2C_data_pkt, gtest_tcp_stat.S2C_data_byte);
if(DIR_C2S == pstream->curdir){
gtest_tcp_stat.C2S_data_pkt++;
gtest_tcp_stat.C2S_data_byte += pdetail->datalen;
@@ -61,6 +59,9 @@ extern "C" char tcp_pkt_stat(struct streaminfo *pstream,void **pme, int thread_s
gtest_tcp_stat.S2C_lost_byte += pdetail->lostlen;
}
}
+ printf("tcp_pkt_stat, curdir:%u, data_len:%u, c2s_pkt:%u, c2s_bytes:%llu, s2c_pkt:%u, s2c_bytes:%llu\n",
+ pstream->curdir, pdetail->datalen,
+ gtest_tcp_stat.C2S_data_pkt, gtest_tcp_stat.C2S_data_byte, gtest_tcp_stat.S2C_data_pkt, gtest_tcp_stat.S2C_data_byte);
}
return APP_STATE_GIVEME;
@@ -72,34 +73,36 @@ extern "C" char tcpall_pkt_stat(struct streaminfo *pstream,void **pme, int threa
if(OP_STATE_PENDING == pstream->pktstate){
/* pending״̬���ü��� */
- memset(&gtest_tcp_stat, 0, sizeof(gtest_tcp_stat));
+ memset(&gtest_tcpall_stat, 0, sizeof(gtest_tcpall_stat));
}
if(pstream->pktstate != OP_STATE_CLOSE){
- printf("tcpall_pkt_stat, curdir:%u, data_len:%u,c2s_pkt:%u, c2s_bytes:%llu, s2c_pkt:%u, s2c_bytes:%llu\n", pstream->curdir, pdetail->datalen
- , gtest_tcp_stat.C2S_all_pkt, gtest_tcp_stat.C2S_all_byte, gtest_tcp_stat.S2C_all_pkt, gtest_tcp_stat.S2C_all_byte);
if(DIR_C2S == pstream->curdir){
- gtest_tcp_stat.C2S_all_pkt++;
- gtest_tcp_stat.C2S_all_byte += pdetail->datalen;
+ gtest_tcpall_stat.C2S_all_pkt++;
+ gtest_tcpall_stat.C2S_all_byte += pdetail->datalen;
}else{
- gtest_tcp_stat.S2C_all_pkt++;
- gtest_tcp_stat.S2C_all_byte += pdetail->datalen;
+ gtest_tcpall_stat.S2C_all_pkt++;
+ gtest_tcpall_stat.S2C_all_byte += pdetail->datalen;
}
+ printf("tcpall_pkt_stat, curdir:%u, data_len:%u,c2s_all_pkt:%u, c2s_all_bytes:%llu, s2c_all_pkt:%u, s2c_all_bytes:%llu\n", pstream->curdir, pdetail->datalen
+ , gtest_tcpall_stat.C2S_all_pkt, gtest_tcpall_stat.C2S_all_byte, gtest_tcpall_stat.S2C_all_pkt, gtest_tcpall_stat.S2C_all_byte);
}
return APP_STATE_GIVEME;
}
-
+extern "C" char iplayer_readjust_time_entry(const struct streaminfo *pstream, unsigned char nouse1, int nouse2, const struct ip *nouse3);
extern "C" char ip_entry_check_tcp_timeout(const struct streaminfo *pstream,
unsigned char routedir,int thread_seq, const struct ip *ipv4_hdr)
{
static int ip_pkt_number = 0;
- /* tcp_timeout_reset.pcapһ��5����,
- ��4������ʱ����, ��Ϊ�ǰ�SYN������, �Ժ�İ����Ὠ����, tcp��������ᱻ����,
- tcpall����ᱻǰ3��������, ��4����������,Ҳ�������,
+ iplayer_readjust_time_entry(pstream, routedir, thread_seq, ipv4_hdr);
+
+ /* tcp_timeout_reset.pcapһ��7����,
+ ��7������ʱ����, ��Ϊ�ǰ�SYN������, �Ժ�İ����Ὠ����, tcp��������ᱻ����,
+ tcpall����ᱻǰ6��������, ��7����������,Ҳ�������,
��ǰ���ǵ�5��,ipentry�ȵ���,tcpall��δ����.
*/
if(ipv4_hdr->ip_p == IPPROTO_TCP)
@@ -108,17 +111,17 @@ extern "C" char ip_entry_check_tcp_timeout(const struct streaminfo *pstream,
printf("ip_entry_check_tcp_timeout, ipid:%x\n", ipv4_hdr->ip_id);
}
- if(5 == ip_pkt_number){
- if((gtest_tcp_stat.C2S_data_pkt == 0)
- && (gtest_tcp_stat.S2C_data_pkt == 0)
- && (gtest_tcp_stat.C2S_all_pkt == 2)
- && (gtest_tcp_stat.S2C_all_pkt == 1)
+ if(7 == ip_pkt_number){
+ if((gtest_tcp_stat.C2S_data_pkt == 1)
+ && (gtest_tcp_stat.S2C_data_pkt == 1)
+ && (gtest_tcpall_stat.C2S_all_pkt == 3)
+ && (gtest_tcpall_stat.S2C_all_pkt == 3)
){
printf("\033[32mtcp.timeout_reset() test succ!\033[0m\n");
gtest_set_libsapp_devel_result(GTEST_SAPP_SUCC);
}else{
printf("\033[1;31;40mtcp_timeout_reset: check data error, ip_number:%d, tcp_c2s:%u, tcp_s2c:%u, tcpall_c2s:%u, tcpall_s2c:%u!\033[0m\n",
- ip_pkt_number, gtest_tcp_stat.C2S_data_pkt, gtest_tcp_stat.S2C_data_pkt, gtest_tcp_stat.C2S_all_pkt, gtest_tcp_stat.S2C_all_pkt);
+ ip_pkt_number, gtest_tcp_stat.C2S_data_pkt, gtest_tcp_stat.S2C_data_pkt, gtest_tcpall_stat.C2S_all_pkt, gtest_tcpall_stat.S2C_all_pkt);
gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
}
}
@@ -177,10 +180,10 @@ extern "C" char tcp_simple(struct streaminfo *pstream,void **pme, int thread_seq
extern "C" char tcpall_simple(struct streaminfo *pstream,void **pme, int thread_seq, void *a_packet)
{
if(pstream->pktstate == OP_STATE_CLOSE){
- if((31 == gtest_tcp_stat.C2S_all_pkt)
- &&(2329 == gtest_tcp_stat.C2S_all_byte)
- &&(37 == gtest_tcp_stat.S2C_all_pkt)
- &&(11345 == gtest_tcp_stat.S2C_all_byte)){
+ if((31 == gtest_tcpall_stat.C2S_all_pkt)
+ &&(2329 == gtest_tcpall_stat.C2S_all_byte)
+ &&(37 == gtest_tcpall_stat.S2C_all_pkt)
+ &&(11345 == gtest_tcpall_stat.S2C_all_byte)){
SAPP_PLUG_LOG(RLOG_LV_INFO, "tcpall.simple", "\033[32m tcpall_simple() test succ!\033[0m\n");
sendto_test_result(GTEST_SAPP_SUCC);
}else{
diff --git a/module_test/src/gtest_sapp_udp.cpp b/module_test/src/gtest_sapp_udp.cpp
index 5687c6c..8fa7601 100644
--- a/module_test/src/gtest_sapp_udp.cpp
+++ b/module_test/src/gtest_sapp_udp.cpp
@@ -40,17 +40,21 @@ void udp_link_c2s_1pkt_run(void)
update_config_file("etc/sapp.toml", "syn_mandatory", "0");
update_config_file("etc/sapp.toml", "meaningful_statistics_minimum_pkt", "3");
update_config_file("etc/sapp.toml", "meaningful_statistics_minimum_byte", "5");
+
+ update_config_file("etc/sapp.toml", "original_ipv4_udp_enabled", "0");
+ update_config_file("etc/sapp.toml", "original_ipv4_tcp_enabled", "0");
+ update_config_file("etc/sapp.toml", "inject_all_enabled", "0");
+ update_config_file("etc/sapp.toml", "kickout_udp_stream_enabled", "0");
- update_plugin_inf("UDP", "udp_link_c2s_1pkt_entry");
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("UDP", "udp_link_c2s_1pkt_entry");
append_plugin_inf("TCP", "udp_link_check_result_tcp_entry");
set_pcap_dumpfile("for_gtest_only/udp/udp_C2S_1.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "7872fd733ba5610ad23e4d2dee133793"),0);
- printf("test for udp timeout and close, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
@@ -63,8 +67,14 @@ void udp_link_c2s_10pkt_run(void)
update_config_file("etc/sapp.toml", "syn_mandatory", "0");
update_config_file("etc/sapp.toml", "meaningful_statistics_minimum_pkt", "3");
update_config_file("etc/sapp.toml", "meaningful_statistics_minimum_byte", "5");
-
- update_plugin_inf("UDP", "udp_link_c2s_10pkt_entry");
+
+ update_config_file("etc/sapp.toml", "original_ipv4_udp_enabled", "0");
+ update_config_file("etc/sapp.toml", "original_ipv4_tcp_enabled", "0");
+ update_config_file("etc/sapp.toml", "inject_all_enabled", "0");
+ update_config_file("etc/sapp.toml", "kickout_udp_stream_enabled", "0");
+
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("UDP", "udp_link_c2s_10pkt_entry");
append_plugin_inf("TCP", "udp_link_check_result_tcp_entry");
set_pcap_dumpfile("for_gtest_only/udp/udp_C2S_10.pcap");
@@ -77,9 +87,7 @@ void udp_link_c2s_10pkt_run(void)
*/
ASSERT_EQ(file_md5_checksum("dumpfile", "ff140c986f5d412d6cd234f1b44024fa"),0);
- printf("test for udp timeout and close, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
@@ -92,17 +100,21 @@ void udp_link_s2c_1pkt_run(void)
update_config_file("etc/sapp.toml", "syn_mandatory", "0");
update_config_file("etc/sapp.toml", "meaningful_statistics_minimum_pkt", "3");
update_config_file("etc/sapp.toml", "meaningful_statistics_minimum_byte", "5");
-
- update_plugin_inf("UDP", "udp_link_s2c_1pkt_entry");
+
+ update_config_file("etc/sapp.toml", "original_ipv4_udp_enabled", "0");
+ update_config_file("etc/sapp.toml", "original_ipv4_tcp_enabled", "0");
+ update_config_file("etc/sapp.toml", "inject_all_enabled", "0");
+ update_config_file("etc/sapp.toml", "kickout_udp_stream_enabled", "0");
+
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("UDP", "udp_link_s2c_1pkt_entry");
append_plugin_inf("TCP", "udp_link_check_result_tcp_entry");
set_pcap_dumpfile("for_gtest_only/udp/udp_S2C_1.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "8944e363d3398b0cde08990d33052f8e"),0);
- printf("test for udp timeout and close, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
void udp_link_s2c_10pkt_run(void)
@@ -114,18 +126,21 @@ void udp_link_s2c_10pkt_run(void)
update_config_file("etc/sapp.toml", "syn_mandatory", "0");
update_config_file("etc/sapp.toml", "meaningful_statistics_minimum_pkt", "3");
update_config_file("etc/sapp.toml", "meaningful_statistics_minimum_byte", "5");
-
- update_plugin_inf("UDP", "udp_link_s2c_10pkt_entry");
+
+ update_config_file("etc/sapp.toml", "original_ipv4_udp_enabled", "0");
+ update_config_file("etc/sapp.toml", "original_ipv4_tcp_enabled", "0");
+ update_config_file("etc/sapp.toml", "inject_all_enabled", "0");
+ update_config_file("etc/sapp.toml", "kickout_udp_stream_enabled", "0");
+
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("UDP", "udp_link_s2c_10pkt_entry");
append_plugin_inf("TCP", "udp_link_check_result_tcp_entry");
set_pcap_dumpfile("for_gtest_only/udp/udp_S2C_10.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "e487e9dc01b973bc90115dd4b4f7c54f"),0);
- printf("test for udp timeout and close, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
-
+ call_libsapp_devel_for_dumpfile_topspeed();
}
void udp_dup_pkt_positive_run(void)
@@ -443,17 +458,21 @@ void udp_tuple4_reuse_test(void)
update_config_file_by_lastline("etc/sapp.toml", "packet_io.polling","enabled", "0");
update_config_file("etc/sapp.toml", "timeout", "10");
-
- update_plugin_inf("UDP", "udp_timeout_reset_entry");
+
+ update_config_file("etc/sapp.toml", "original_ipv4_udp_enabled", "0");
+ update_config_file("etc/sapp.toml", "original_ipv4_tcp_enabled", "0");
+ update_config_file("etc/sapp.toml", "inject_all_enabled", "0");
+ update_config_file("etc/sapp.toml", "kickout_udp_stream_enabled", "0");
+
+ update_plugin_inf("IP", "iplayer_readjust_time_entry");
+ append_plugin_inf("UDP", "udp_timeout_reset_entry");
/* 这个pcap�?0秒后会超�? 被sapp分成两个流处�?*/
set_pcap_dumpfile("for_gtest_only/udp/udp_timeout_reuse.pcap");
ASSERT_EQ(file_md5_checksum("dumpfile", "b7c83190ac89dd081a6235aafe9ed096"),0);
- printf("test for udp timeout and reset, set --dumpfile-speed=timestamp please wait for a monment......\n");
-
- call_libsapp_devel_for_dumpfile_timestamp();
+ call_libsapp_devel_for_dumpfile_topspeed();
}
void udp_givestate_entry_offload_run(void)
diff --git a/module_test/src/gtest_vlan.cpp b/module_test/src/gtest_vlan.cpp
index 9d89bdc..bc85dfb 100644
--- a/module_test/src/gtest_vlan.cpp
+++ b/module_test/src/gtest_vlan.cpp
@@ -29,7 +29,7 @@ void vlan_2layer_run(void)
ASSERT_EQ(file_md5_checksum("dumpfile", "d31d70928b2a647b7820e27a99b247cb"),0);
- gtest_start_sapp_progress(sapp_start_args);
+ call_libsapp_devel_for_dumpfile_topspeed();
}
@@ -52,7 +52,7 @@ void vlan_asymmetric_merge_run(void)
ASSERT_EQ(file_md5_checksum("dumpfile", "502c003b622d9e7a15d242375634837c"),0);
- gtest_start_sapp_progress(sapp_start_args);
+ call_libsapp_devel_for_dumpfile_topspeed();
}
diff --git a/module_test/src/gtest_vlan_plug.cpp b/module_test/src/gtest_vlan_plug.cpp
index 8eaaf45..0e15b09 100644
--- a/module_test/src/gtest_vlan_plug.cpp
+++ b/module_test/src/gtest_vlan_plug.cpp
@@ -39,59 +39,59 @@ extern "C" char tcp_entry_for_vlan_2layer(struct streaminfo *pstream,void **pme,
if(OP_STATE_CLOSE == pstream->opstate){
if(vlan_pstream->addr.addrtype != ADDR_TYPE_VLAN){
printf("\033[1;31;40mnot found vlan stream layer!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(vlan_pstream->addr.vlan->c2s_layer_num != 0){
printf("\033[1;31;40mvlan c2s_layer num is not 0!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(vlan_pstream->addr.vlan->s2c_layer_num != 2){
printf("\033[1;31;40mvlan s2c layer num is not 2!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(ntohs(vlan_pstream->addr.vlan->s2c_addr_array[0].VID) != 118){
printf("\033[1;31;40mvlan layer0 VID is not 118!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(vlan_pstream->addr.vlan->s2c_addr_array[0].PCP != 1){
printf("\033[1;31;40mvlan layer0 PCP is not 1!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(vlan_pstream->addr.vlan->s2c_addr_array[0].DEI != 1){
printf("\033[1;31;40mvlan layer0 DEI is not 1!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(ntohs(vlan_pstream->addr.vlan->s2c_addr_array[1].VID) != 10){
printf("\033[1;31;40mvlan layer1 VID is not 10!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(vlan_pstream->addr.vlan->s2c_addr_array[1].PCP != 4){
printf("\033[1;31;40mvlan layer0 PCP is not 4!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(vlan_pstream->addr.vlan->s2c_addr_array[1].DEI != 0){
printf("\033[1;31;40mvlan layer0 DEI is not 0!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
printf("\033[32mtest vlan 2layer success!\033[0m\n");
- sendto_test_result(GTEST_SAPP_SUCC);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_SUCC);
}
return APP_STATE_GIVEME;
@@ -104,33 +104,33 @@ extern "C" char tcp_entry_for_vlan_asymmetric(struct streaminfo *pstream,void **
if(OP_STATE_CLOSE == pstream->opstate){
if(vlan_pstream->addr.addrtype != ADDR_TYPE_MAC){
printf("\033[1;31;40masymmetric should be skip vlan layer!\033[0m\n");
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(pstream->ptcpdetail->serverpktnum != 18){
printf("\033[1;31;40masymmetric vlan c2s tcp pkt is:%u, but expect:%d!\033[0m\n", pstream->ptcpdetail->serverpktnum, 18);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(pstream->ptcpdetail->serverbytes != 4672){
printf("\033[1;31;40masymmetric vlan c2s tcp byte is:%u, but expect:%d!\033[0m\n", pstream->ptcpdetail->serverbytes, 4672);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(pstream->ptcpdetail->clientpktnum != 27){
printf("\033[1;31;40masymmetric vlan s2c tcp pkt is:%u, but expect:%d!\033[0m\n", pstream->ptcpdetail->clientpktnum, 27);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
if(pstream->ptcpdetail->clientbytes != 53920){
printf("\033[1;31;40masymmetric vlan s2c tcp byte is:%u, but expect:%d!\033[0m\n", pstream->ptcpdetail->clientbytes, 53920);
- sendto_test_result(GTEST_SAPP_ERR);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_ERR);
return APP_STATE_DROPME;
}
printf("\033[32mtest vlan_asymmetric success!\033[0m\n");
- sendto_test_result(GTEST_SAPP_SUCC);
+ gtest_set_libsapp_devel_result(GTEST_SAPP_SUCC);
}
return APP_STATE_GIVEME;
diff --git a/src/dealpkt/plug_support.c b/src/dealpkt/plug_support.c
index b5a5aab..2b2e765 100644
--- a/src/dealpkt/plug_support.c
+++ b/src/dealpkt/plug_support.c
@@ -538,7 +538,7 @@ int get_rawpkt_opt_from_streaminfo(const struct streaminfo *pstream, int type, v
return ret;
}
- /* sappv4.2֮��, û��mrtunnat, �޷���ctrlzone��ȡ��Щvxlan��ص��?, Ҫ��streaminfo->pfatherƫ�ƻ�ȡ */
+ /* sappv4.2֮��, û��mrtunnat, �޷���ctrlzone��ȡ��Щvxlan��ص��?, Ҫ��streaminfo->pfatherƫ�ƻ�ȡ */
switch(type){
case RAW_PKT_GET_GDEV_IP:
case RAW_PKT_GET_VXLAN_ID:
@@ -552,16 +552,13 @@ int get_rawpkt_opt_from_streaminfo(const struct streaminfo *pstream, int type, v
return get_vxlan_info_from_streaminfo(pstream_pr, type, out_value);
break;
}
- if(pstream_pr->polling_inject_context == NULL)
- {
- return ret;
- }
+
switch(type)
{
case RAW_PKT_GET_ROUTE_CTX:
{
void **value = (void **)out_value;
- if(pstream_pr->polling_inject_context->meta_stream_dir[pstream->curdir - 1] != NULL)
+ if(pstream_pr->polling_inject_context!= NULL && pstream_pr->polling_inject_context->meta_stream_dir[pstream->curdir - 1] != NULL)
{
*value = (void *)(pstream_pr->polling_inject_context->meta_stream_dir[pstream->curdir - 1]->data);
ret = pstream_pr->polling_inject_context->meta_stream_dir[pstream->curdir - 1]->sz_data;
@@ -572,7 +569,7 @@ int get_rawpkt_opt_from_streaminfo(const struct streaminfo *pstream, int type, v
case RAW_PKT_GET_SID_LIST:
{
void **value = (void **)out_value;
- if(pstream_pr->polling_inject_context->meta_stream_dir[pstream->curdir - 1] != NULL)
+ if(pstream_pr->polling_inject_context!= NULL && pstream_pr->polling_inject_context->meta_stream_dir[pstream->curdir - 1] != NULL)
{
*value = (void *)(&pstream_pr->polling_inject_context->meta_stream_dir[pstream->curdir - 1]->raw_sid_list);
ret = sizeof(struct segment_id_list);
@@ -1208,7 +1205,7 @@ static void sapp_mac_addr_to_long(const unsigned char *mac_addr, unsigned long l
ptr += 5; /* ָ��long long �ĵ�6���ֽ� */
for(i = 0; i < 6; i++){
- *ptr-- = *mac_addr++; /* �������ݰ���mac������?, copy��long long����������?(��ȥ���?2���ֽں�) */
+ *ptr-- = *mac_addr++; /* �������ݰ���mac������?, copy��long long����������?(��ȥ���?2���ֽں�) */
}
}
@@ -1264,14 +1261,14 @@ static int sapp_get_vxlan_info_from_streaminfo(const struct streaminfo *pstream,
for(i = 0; i < 6; i++, ptr += 3){
sprintf((char *)ptr, "%02x:", mim_addr->inner_src_mac[i]);
}
- vxinfo->inner_smac[17] = '\0'; /* ���һλ����? */
+ vxinfo->inner_smac[17] = '\0'; /* ���һλ����? */
memcpy(vxinfo->inner_smac_hex, mim_addr->inner_src_mac, 6);
ptr = vxinfo->inner_dmac;
for(i = 0; i < 6; i++, ptr += 3){
sprintf((char *)ptr, "%02x:", mim_addr->inner_dst_mac[i]);
}
- vxinfo->inner_dmac[17] = '\0'; /* ���һλ����? */
+ vxinfo->inner_dmac[17] = '\0'; /* ���һλ����? */
memcpy(vxinfo->inner_dmac_hex, mim_addr->inner_dst_mac, 6);
}
else
@@ -1280,14 +1277,14 @@ static int sapp_get_vxlan_info_from_streaminfo(const struct streaminfo *pstream,
for(i = 0; i < 6; i++, ptr += 3){
sprintf((char *)ptr, "%02x:", mac_addr->src_addr.h_source[i]);
}
- vxinfo->inner_smac[17] = '\0'; /* ���һλ����? */
+ vxinfo->inner_smac[17] = '\0'; /* ���һλ����? */
memcpy(vxinfo->inner_smac_hex, mac_addr->src_addr.h_source, 6);
ptr = vxinfo->inner_dmac;
for(i = 0; i < 6; i++, ptr += 3){
sprintf((char *)ptr, "%02x:", mac_addr->src_addr.h_dest[i]);
}
- vxinfo->inner_dmac[17] = '\0'; /* ���һλ����? */
+ vxinfo->inner_dmac[17] = '\0'; /* ���һλ����? */
memcpy(vxinfo->inner_dmac_hex, mac_addr->src_addr.h_dest, 6);
}
return 0;
@@ -1396,7 +1393,7 @@ static int MESA_get_stream_dup_pkt_stat(const struct streaminfo *pstream, void *
return 0;
}
- /* �������ظ�����⹦��?,����û�������ظ��� */
+ /* �������ظ�����⹦��?,����û�������ظ��� */
if(STREAM_TYPE_TCP == pstream->type){
if(pstream->ptcpdetail->clientpktnum + pstream->ptcpdetail->serverpktnum < dup_pkt_para->first_packets){ /* ��̫��, �������ж���û���ظ��� */
*res_val = -2;
@@ -2105,7 +2102,7 @@ int get_current_thread_cpu_affinity_id(void)
int tot_cpu_set_count = CPU_COUNT(&current_cpu_mask);
if((tot_cpu_set_count == tot_cpu_core) || (tot_cpu_set_count > 1)){
/* ȫ����������, ��ʵ����û�а�,
- �����������isolcpus, ���㲻���?, CPU_COUNT���ܺ������������?,
+ �����������isolcpus, ���㲻���?, CPU_COUNT���ܺ������������?,
��������1���϶���û�о�ȷ�󶨵�ij������ */
return -1;
}
@@ -2150,7 +2147,7 @@ void *dictator_realloc(int thread_seq, void *ptr, size_t size)
return realloc(ptr, size);
}
-/* ��ҵ�������ص�ֵת����ƽ̨������?, ����PROT_STATE_xxxת��ΪAPP_STATE_xxx */
+/* ��ҵ�������ص�ֵת����ƽ̨������?, ����PROT_STATE_xxxת��ΪAPP_STATE_xxx */
char biz_retval_to_platform(char biz_ret)
{
char plat_ret = 0;