cfceca0bd222c382e68c2c11acf73aeeeb02ad53
[demo.git] / vnfs / VES5.0 / evel / evel-library / code / VESreporting_vAFX / afx_ves_reporter.h
1 #ifndef _VES_REPORTER
2 #define _VES_REPORTER  1
3
4 #include <pthread.h>
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <ctype.h>
8 #include <string.h>
9 #include <stdint.h>
10 #include <unistd.h>
11 #include <sys/stat.h>
12 #include <sys/time.h>
13 #include <sys/types.h>
14
15 #define NUM_THREADS     5
16 #define MAX_INTERFACES 40
17
18 #define BUFSIZE 128
19 #define BGPBUFSIZE 512
20 #define PERF_MONITOR_INTERVAL 300
21 #define LINK_MONITOR_INTERVAL 20
22
23 struct thread_data
24 {
25    int  thread_id;
26    int  sum;
27    char *message;
28 };
29
30 #define AFX_MODULES_FILE  "afxmodules.conf"
31
32 void *LinkMonitorAfxThread(void *threadarg);
33 #define AFX_INTERFACE_FILE  "afxintf.conf"
34
35 #define OAM_INTERFACE  "ens3"
36
37 void *ServiceMonitorAfxThread(void *threadarg);
38 #define SERVICE_MONITOR_INTERVAL 30
39
40 void *BgpLoggingAfxThread(void *threadarg);
41 #define AFX_SYSLOG_FILE  "afxfilter.txt"
42 #define MAX_SYSLOG_WORDS 50
43
44 void *MeasureAfxThread(void *threadarg);
45
46 typedef struct linkstat {
47
48   char linkname[32];
49   char linkdescr[256];
50   char linkmode[64];
51   int  speedmbps;
52   int  linkstat;
53
54 }LINKSTAT;
55
56
57 typedef struct dummy_vpp_metrics_struct {
58
59   char linkname[32];
60   char linkdescr[256];
61   uint64_t rx_bytes;
62   uint64_t tx_bytes;
63   uint64_t rx_packets;
64   uint64_t tx_packets;
65   uint64_t rx_mcast;
66   uint64_t delta_rx_bytes;
67   uint64_t delta_rx_packets;
68   uint64_t delta_rx_mcast;
69   uint64_t delta_tx_bytes;
70   uint64_t delta_tx_packets;
71
72 } VPP_METRICS_STRUCT;
73
74 void report_fault( char* evname, char *evid, EVEL_SEVERITIES sevty, char *categ, char *intf, char *trapname, char *descr, char *rem_router, char *routername, char *router_ip, int status );
75
76 const char *openstack_vm_uuid();
77 char *get_oam_intfaddr();
78
79 int file_is_modified(const char *path, time_t *oldMTime);
80 void remove_spaces(char* source);
81 char *escape_json(char *in);
82
83 extern char hostname[BUFSIZE];
84 extern char oam_intfaddr[BUFSIZE];
85 #endif