summaryrefslogtreecommitdiff
path: root/include/mrl_stat.h
blob: 010106ddc2e6c431aac1932de859ebbee57c5168 (plain)
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