summaryrefslogtreecommitdiff
path: root/src/mrl_stat.cpp
diff options
context:
space:
mode:
authorlijie <[email protected]>2019-01-21 20:46:44 +0800
committerlijie <[email protected]>2019-01-21 20:46:44 +0800
commita558cf074391f1f4b3581c9a4b5d6c6241d21c28 (patch)
tree81e5921620171d742214cd38a238cbf7e7e1c526 /src/mrl_stat.cpp
parenta5495b25b06223bf1b78eb7886c61042416a6c5c (diff)
修改无法支持dnat_policy中IP相同端口不同的策略问题v2.0.1
Diffstat (limited to 'src/mrl_stat.cpp')
-rw-r--r--src/mrl_stat.cpp162
1 files changed, 81 insertions, 81 deletions
diff --git a/src/mrl_stat.cpp b/src/mrl_stat.cpp
index a02ca8a..e97564c 100644
--- a/src/mrl_stat.cpp
+++ b/src/mrl_stat.cpp
@@ -1,81 +1,81 @@
-#include"mrl_stat.h"
-#include<stdio.h>
-#include<stdlib.h>
-#include<string.h>
-#include<unistd.h>
-
-struct global_stat_t global_stat;
-struct fs_stat_t global_fs_stat;
-void mrl_stat_init()
-{
- int value = 0;
- char stat_file[] = "log/mrl_stat.log";
- memset(&global_stat,0,sizeof(struct global_stat_t));
-
- global_fs_stat.handle = FS_create_handle();
-
- FS_set_para(global_fs_stat.handle, OUTPUT_DEVICE, stat_file, strlen(stat_file)+1);
-
- value = 1;
- FS_set_para(global_fs_stat.handle, PRINT_MODE, &value, sizeof(value));
-
- value = 0;
- FS_set_para(global_fs_stat.handle, CREATE_THREAD, &value, sizeof(value));
-
- /* field */
- global_fs_stat.fs_field_id[FIELD_RECV_IR_TCP_PKTS] = FS_register(global_fs_stat.handle, FS_STYLE_FIELD, FS_CALC_SPEED,"recv_ir_tcp");
- global_fs_stat.fs_field_id[FIELD_RECV_IR_UDP_PKTS] = FS_register(global_fs_stat.handle, FS_STYLE_FIELD, FS_CALC_SPEED,"recv_ir_udp");
- global_fs_stat.fs_field_id[FIELD_RECV_MGW_PKTS] = FS_register(global_fs_stat.handle, FS_STYLE_FIELD, FS_CALC_SPEED,"recv_mgw_pkts");
-
- /*status*/
- global_fs_stat.fs_status_id[STATUS_SNAT_CANDIDATE_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "snat_candidate_num");
- global_fs_stat.fs_status_id[STATUS_DNAT_CANDIDATE_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "dnat_candiate_num");
- global_fs_stat.fs_status_id[STATUS_SNAT_NOMINEE_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "snat_nominee_num");
- global_fs_stat.fs_status_id[STATUS_DNAT_NOMINEE_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "dnat_nominee_num");
- global_fs_stat.fs_status_id[STATUS_LINK_IDENTITY_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "link_identity_num");
- global_fs_stat.fs_status_id[STATUS_DNAT_POLICYC_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "dnat_policy_num");
- global_fs_stat.fs_status_id[STATUS_VXLAN_INFO_ITEM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "vxlan_info_num");
- global_fs_stat.fs_status_id[STATUS_MRL_IP_ITEM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "mrl_info_num");
-
- global_fs_stat.fs_status_id[STATUS_MALLOC_MEMORY] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "malloc_memory(Byte)");
- global_fs_stat.fs_status_id[STATUS_FREE_MEMORY] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "free_memory(Byte)");
-
- FS_start(global_fs_stat.handle);
-}
-
-
-void mrl_stat_output()
-{
- /*field*/
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_field_id[FIELD_RECV_IR_TCP_PKTS], 0, FS_OP_SET, global_stat.recv_ir_tcp_pkts);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_field_id[FIELD_RECV_IR_UDP_PKTS], 0, FS_OP_SET, global_stat.recv_ir_udp_pkts);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_field_id[FIELD_RECV_MGW_PKTS], 0, FS_OP_SET, global_stat.recv_mgw_pkts);
-
- /*status*/
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_SNAT_CANDIDATE_NUM], 0, FS_OP_SET, global_stat.snat_candidate_num);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_DNAT_CANDIDATE_NUM], 0, FS_OP_SET, global_stat.dnat_candidate_num);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_SNAT_NOMINEE_NUM], 0, FS_OP_SET, global_stat.snat_nominee_num);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_DNAT_NOMINEE_NUM], 0, FS_OP_SET, global_stat.dnat_nominee_num);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_LINK_IDENTITY_NUM], 0, FS_OP_SET, global_stat.link_identity_num);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_DNAT_POLICYC_NUM], 0, FS_OP_SET, global_stat.dnat_policy_num);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_VXLAN_INFO_ITEM], 0, FS_OP_SET, global_stat.vxlan_info_num);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_MRL_IP_ITEM], 0, FS_OP_SET, global_stat.mrl_ip_num);
-
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_MALLOC_MEMORY], 0, FS_OP_SET, global_stat.malloc_memory);
- FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_FREE_MEMORY], 0, FS_OP_SET, global_stat.free_memory);
-
- FS_passive_output(global_fs_stat.handle);
-}
-
-
-void *mrl_stat_action(void *arg)
-{
- for(;;)
- {
- mrl_stat_output();
- sleep(1);
- }
- return NULL;
-}
-
-
+#include"mrl_stat.h"
+#include<stdio.h>
+#include<stdlib.h>
+#include<string.h>
+#include<unistd.h>
+
+struct global_stat_t global_stat;
+struct fs_stat_t global_fs_stat;
+void mrl_stat_init()
+{
+ int value = 0;
+ char stat_file[] = "log/mrl_stat.log";
+ memset(&global_stat,0,sizeof(struct global_stat_t));
+
+ global_fs_stat.handle = FS_create_handle();
+
+ FS_set_para(global_fs_stat.handle, OUTPUT_DEVICE, stat_file, strlen(stat_file)+1);
+
+ value = 1;
+ FS_set_para(global_fs_stat.handle, PRINT_MODE, &value, sizeof(value));
+
+ value = 0;
+ FS_set_para(global_fs_stat.handle, CREATE_THREAD, &value, sizeof(value));
+
+ /* field */
+ global_fs_stat.fs_field_id[FIELD_RECV_IR_TCP_PKTS] = FS_register(global_fs_stat.handle, FS_STYLE_FIELD, FS_CALC_SPEED,"recv_ir_tcp");
+ global_fs_stat.fs_field_id[FIELD_RECV_IR_UDP_PKTS] = FS_register(global_fs_stat.handle, FS_STYLE_FIELD, FS_CALC_SPEED,"recv_ir_udp");
+ global_fs_stat.fs_field_id[FIELD_RECV_MGW_PKTS] = FS_register(global_fs_stat.handle, FS_STYLE_FIELD, FS_CALC_SPEED,"recv_mgw_pkts");
+
+ /*status*/
+ global_fs_stat.fs_status_id[STATUS_SNAT_CANDIDATE_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "snat_candidate_num");
+ global_fs_stat.fs_status_id[STATUS_DNAT_CANDIDATE_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "dnat_candiate_num");
+ global_fs_stat.fs_status_id[STATUS_SNAT_NOMINEE_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "snat_nominee_num");
+ global_fs_stat.fs_status_id[STATUS_DNAT_NOMINEE_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "dnat_nominee_num");
+ global_fs_stat.fs_status_id[STATUS_LINK_IDENTITY_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "link_identity_num");
+ global_fs_stat.fs_status_id[STATUS_DNAT_POLICYC_NUM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "dnat_policy_num");
+ global_fs_stat.fs_status_id[STATUS_VXLAN_INFO_ITEM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "vxlan_info_num");
+ global_fs_stat.fs_status_id[STATUS_MRL_IP_ITEM] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "mrl_info_num");
+
+ global_fs_stat.fs_status_id[STATUS_MALLOC_MEMORY] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "malloc_memory(Byte)");
+ global_fs_stat.fs_status_id[STATUS_FREE_MEMORY] = FS_register(global_fs_stat.handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "free_memory(Byte)");
+
+ FS_start(global_fs_stat.handle);
+}
+
+
+void mrl_stat_output()
+{
+ /*field*/
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_field_id[FIELD_RECV_IR_TCP_PKTS], 0, FS_OP_SET, global_stat.recv_ir_tcp_pkts);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_field_id[FIELD_RECV_IR_UDP_PKTS], 0, FS_OP_SET, global_stat.recv_ir_udp_pkts);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_field_id[FIELD_RECV_MGW_PKTS], 0, FS_OP_SET, global_stat.recv_mgw_pkts);
+
+ /*status*/
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_SNAT_CANDIDATE_NUM], 0, FS_OP_SET, global_stat.snat_candidate_num);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_DNAT_CANDIDATE_NUM], 0, FS_OP_SET, global_stat.dnat_candidate_num);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_SNAT_NOMINEE_NUM], 0, FS_OP_SET, global_stat.snat_nominee_num);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_DNAT_NOMINEE_NUM], 0, FS_OP_SET, global_stat.dnat_nominee_num);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_LINK_IDENTITY_NUM], 0, FS_OP_SET, global_stat.link_identity_num);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_DNAT_POLICYC_NUM], 0, FS_OP_SET, global_stat.dnat_policy_num);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_VXLAN_INFO_ITEM], 0, FS_OP_SET, global_stat.vxlan_info_num);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_MRL_IP_ITEM], 0, FS_OP_SET, global_stat.mrl_ip_num);
+
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_MALLOC_MEMORY], 0, FS_OP_SET, global_stat.malloc_memory);
+ FS_operate(global_fs_stat.handle, global_fs_stat.fs_status_id[STATUS_FREE_MEMORY], 0, FS_OP_SET, global_stat.free_memory);
+
+ FS_passive_output(global_fs_stat.handle);
+}
+
+
+void *mrl_stat_action(void *arg)
+{
+ for(;;)
+ {
+ mrl_stat_output();
+ sleep(1);
+ }
+ return NULL;
+}
+
+