diff options
| author | lijie <[email protected]> | 2019-01-21 20:46:44 +0800 |
|---|---|---|
| committer | lijie <[email protected]> | 2019-01-21 20:46:44 +0800 |
| commit | a558cf074391f1f4b3581c9a4b5d6c6241d21c28 (patch) | |
| tree | 81e5921620171d742214cd38a238cbf7e7e1c526 /src/mrl_stat.cpp | |
| parent | a5495b25b06223bf1b78eb7886c61042416a6c5c (diff) | |
修改无法支持dnat_policy中IP相同端口不同的策略问题v2.0.1
Diffstat (limited to 'src/mrl_stat.cpp')
| -rw-r--r-- | src/mrl_stat.cpp | 162 |
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;
+}
+
+
|
