1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#ifndef MRL_STAT_H
#define MRL_STAT_H
#include <stdint.h>
#include "MESA/field_stat2.h"
enum FS_FIELD
{
FIELD_RECV_IR_TCP_PKTS = 0,
FIELD_RECV_IR_UDP_PKTS,
FIELD_RECV_MGW_PKTS,
FIELD_MAX
};
enum FS_STATUS
{
STATUS_SEND_DETECT_PKTS = 0,
STATUS_RECV_DETECT_PKTS,
STATUS_SNAT_CANDIDATE_NUM,
STATUS_DNAT_CANDIDATE_NUM,
STATUS_SNAT_NOMINEE_NUM,
STATUS_DNAT_NOMINEE_NUM,
STATUS_LINK_IDENTITY_NUM,
STATUS_DNAT_POLICYC_NUM,
STATUS_VXLAN_INFO_ITEM,
STATUS_MRL_IP_ITEM,
STATUS_MALLOC_MEMORY,
STATUS_FREE_MEMORY,
STATUS_MAX
};
struct global_stat_t
{
/**field stat varible**/
uint64_t recv_ir_tcp_pkts;
uint64_t recv_ir_udp_pkts;
uint64_t recv_mgw_pkts;
/**status stat varible**/
uint64_t send_detect_pkts;
uint64_t recv_detect_pkts;
uint64_t link_identity_num;
uint64_t snat_nominee_num;
uint64_t dnat_nominee_num;
uint64_t snat_candidate_num;
uint64_t dnat_candidate_num;
uint64_t dnat_policy_num;
uint64_t mrl_ip_num;
uint64_t vxlan_info_num;
uint64_t malloc_memory;
uint64_t free_memory;
};
struct fs_stat_t
{
screen_stat_handle_t handle;
int fs_field_id[FIELD_MAX];
int fs_status_id[STATUS_MAX];
};
void mrl_stat_init();
void *mrl_stat_action(void *arg);
#endif // STAT_H_INCLUDED
|