summaryrefslogtreecommitdiffstats
path: root/tests/onap-demo/blueprints/tosca-vnfd-onap-demo/evel_demo.c
diff options
context:
space:
mode:
authorAimee Ukasick <aimeeu.opensource@gmail.com>2017-05-23 17:59:45 -0500
committerBryan Sullivan <bryan.sullivan@att.com>2017-06-11 18:03:27 -0700
commit8a54006e88440215666ec7f26858605bd7d679b8 (patch)
tree490d50c958bc11f2dbb9ea6de94b40a6442360d0 /tests/onap-demo/blueprints/tosca-vnfd-onap-demo/evel_demo.c
parent0a7e112bb543e73dadb1b78a2ad9d1850c9c9d2e (diff)
WIP
Update to 5 VDUs Update to use JSON schema 5.1 (separate update to Barometer plugin) Update so container is correctly referenced as 'onap-demo' Add output statement to facilitate debuggin; web servers working Disable credential validation in monitor.py Updated start.sh based on Bryan's changes Start.sh: pull latest barometer collectd plugin patch - various improvements in setup_agent() - remove GuestRunning from collectd config - add setup of InfluxDB and Grafana to monitor - add setup of agents in vFW and vLB ves_onap_demo.sh: fixed tacker not being configured (also Models patches) - add security groups for monitor incoming traffic evel_demo.c: update to latest schema, remove demo code monitor.py: integrate InfluxDB and Grafana Dashboard.json: file to import into Grafana infsetup.py: setup script for the veseventsdb database Refactoring to have junphost interact direct with VMs etc as needed. Update dashboard.json with current dashboard design. ves_onap_demo.sh: - fix method of checking if vnf has been deleted - reduce RAM size in onap.demo flavor to save headroom in virtual deploy - fix copy of public key to /opt/tacker JIRA: VES-11 Change-Id: I210d566f52e2ef7a504b78033d822cf7430631b6 Signed-off-by: Aimee Ukasick <aimeeu.opensource@gmail.com> Signed-off-by: Bryan Sullivan <bryan.sullivan@att.com>
Diffstat (limited to 'tests/onap-demo/blueprints/tosca-vnfd-onap-demo/evel_demo.c')
-rw-r--r--tests/onap-demo/blueprints/tosca-vnfd-onap-demo/evel_demo.c800
1 files changed, 19 insertions, 781 deletions
diff --git a/tests/onap-demo/blueprints/tosca-vnfd-onap-demo/evel_demo.c b/tests/onap-demo/blueprints/tosca-vnfd-onap-demo/evel_demo.c
index fc244d8..a3774fa 100644
--- a/tests/onap-demo/blueprints/tosca-vnfd-onap-demo/evel_demo.c
+++ b/tests/onap-demo/blueprints/tosca-vnfd-onap-demo/evel_demo.c
@@ -1,21 +1,21 @@
/**************************************************************************//**
* @file
- * Agent for the OPNFV VNF Event Stream (VES) vHello_VES test
+ * Agent for the OPNFV VNF Event Stream (VES) ves_onap_demo test
*
* Copyright 2016-2017 AT&T Intellectual Property, Inc
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
+ *
*****************************************************************************/
#include <stdio.h>
@@ -127,16 +127,6 @@ typedef enum {
/*****************************************************************************/
/* Local prototypes. */
/*****************************************************************************/
-static void demo_heartbeat(void);
-static void demo_fault(void);
-static void demo_measurement(const int interval);
-static void demo_mobile_flow(void);
-static void demo_service(void);
-static void demo_service_event(const SERVICE_EVENT service_event);
-static void demo_signaling(void);
-static void demo_state_change(void);
-static void demo_syslog(void);
-static void demo_other(void);
/**************************************************************************//**
* Global flags related the applicaton.
@@ -147,20 +137,27 @@ char *app_prevstate = "Stopped";
/**************************************************************************//**
* Report app state change fault.
*
- * Reports the change in app state.
+ * Reports the change in app state.
*
* param[in] char *change The type of change ("Started", "Stopped")
*****************************************************************************/
-void report_app_statechange(char *change)
+void report_app_statechange(char *change)
{
printf("report_app_statechange(%s)\n", change);
EVENT_FAULT * fault = NULL;
EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
+ int status = EVEL_VF_STATUS_ACTIVE;
+
+ if (change == "Stopped") {
+ status = EVEL_VF_STATUS_IDLE;
+ }
fault = evel_new_fault("App state change",
change,
EVEL_PRIORITY_HIGH,
- EVEL_SEVERITY_MAJOR);
+ EVEL_SEVERITY_MAJOR,
+ EVEL_SOURCE_VIRTUAL_NETWORK_FUNCTION,
+ status);
if (fault != NULL) {
evel_fault_type_set(fault, "App state change");
@@ -178,7 +175,7 @@ void report_app_statechange(char *change)
/**************************************************************************//**
* Check status of the app container.
*
- * Checks and reports any change in app state.
+ * Checks and reports any change in app state.
*
* param[in] none
*****************************************************************************/
@@ -188,7 +185,7 @@ void check_app_container_state() {
int status;
char state[100];
- fp = popen("sudo docker inspect vHello | grep Status | sed -- 's/,//g' | sed -- 's/\"//g' | sed -- 's/ Status: //g'", "r");
+ fp = popen("sudo docker inspect onap-demo | grep Status | sed -- 's/,//g' | sed -- 's/\"//g' | sed -- 's/ Status: //g'", "r");
if (fp == NULL) {
EVEL_ERROR("popen failed to execute command");
}
@@ -275,7 +272,7 @@ void measure_traffic() {
strncat(period, secs, 21);
// ....x....1....x....2.
// 15/Oct/2016:17:51:19
- strcpy(cmd, "sudo docker logs vHello | grep -c ");
+ strcpy(cmd, "sudo docker logs onap-demo | grep -c ");
strncat(cmd, period, 100);
fp = popen(cmd, "r");
@@ -501,7 +498,7 @@ int main(int argc, char ** argv)
api_username,
api_password,
EVEL_SOURCE_VIRTUAL_MACHINE,
- "EVEL demo client",
+ "webserver",
verbose_mode))
{
fprintf(stderr, "Failed to initialize the EVEL library!!!");
@@ -666,18 +663,6 @@ int main(int argc, char ** argv)
check_app_container_state();
measure_traffic();
-// demo_heartbeat();
-// demo_fault();
-// demo_measurement((measurement_interval ==
-// EVEL_MEASUREMENT_INTERVAL_UKNOWN) ?
-// DEFAULT_SLEEP_SECONDS : measurement_interval);
-// demo_mobile_flow();
-// demo_service();
-// demo_signaling();
-// demo_state_change();
-// demo_syslog();
-// demo_other();
-
/*************************************************************************/
/* MAIN RETRY LOOP. Check and implement the measurement interval. */
/*************************************************************************/
@@ -767,750 +752,3 @@ void *signal_watcher(void *void_sig_set)
return(NULL);
}
-/**************************************************************************//**
- * Create and send a heartbeat event.
- *****************************************************************************/
-void demo_heartbeat(void)
-{
- EVENT_HEADER * heartbeat = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- /***************************************************************************/
- /* Heartbeat */
- /***************************************************************************/
- heartbeat = evel_new_heartbeat();
- if (heartbeat != NULL)
- {
- evel_rc = evel_post_event(heartbeat);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Heartbeat failed");
- }
- printf(" Processed Heartbeat\n");
-}
-
-/**************************************************************************//**
- * Create and send three fault events.
- *****************************************************************************/
-void demo_fault(void)
-{
- EVENT_FAULT * fault = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- /***************************************************************************/
- /* Fault */
- /***************************************************************************/
- fault = evel_new_fault("An alarm condition",
- "Things are broken",
- EVEL_PRIORITY_NORMAL,
- EVEL_SEVERITY_MAJOR);
- if (fault != NULL)
- {
- evel_rc = evel_post_event((EVENT_HEADER *)fault);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Fault failed");
- }
- printf(" Processed empty Fault\n");
-
- fault = evel_new_fault("Another alarm condition",
- "It broke badly",
- EVEL_PRIORITY_NORMAL,
- EVEL_SEVERITY_MAJOR);
- if (fault != NULL)
- {
- evel_fault_type_set(fault, "Bad things happening");
- evel_fault_interface_set(fault, "An Interface Card");
- evel_rc = evel_post_event((EVENT_HEADER *)fault);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Fault failed");
- }
- printf(" Processed partial Fault\n");
-
- fault = evel_new_fault("My alarm condition",
- "It broke very badly",
- EVEL_PRIORITY_NORMAL,
- EVEL_SEVERITY_MAJOR);
- if (fault != NULL)
- {
- evel_fault_type_set(fault, "Bad things happen...");
- evel_fault_interface_set(fault, "My Interface Card");
- evel_fault_addl_info_add(fault, "name1", "value1");
- evel_fault_addl_info_add(fault, "name2", "value2");
- evel_rc = evel_post_event((EVENT_HEADER *)fault);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Fault failed");
- }
- printf(" Processed full Fault\n");
-}
-
-/**************************************************************************//**
- * Create and send a measurement event.
- *****************************************************************************/
-void demo_measurement(const int interval)
-{
- EVENT_MEASUREMENT * measurement = NULL;
- MEASUREMENT_LATENCY_BUCKET * bucket = NULL;
- MEASUREMENT_VNIC_USE * vnic_use = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- /***************************************************************************/
- /* Measurement */
- /***************************************************************************/
- measurement = evel_new_measurement(interval);
- if (measurement != NULL)
- {
- evel_measurement_type_set(measurement, "Perf management...");
- evel_measurement_conc_sess_set(measurement, 1);
- evel_measurement_cfg_ents_set(measurement, 2);
- evel_measurement_mean_req_lat_set(measurement, 4.4);
- evel_measurement_mem_cfg_set(measurement, 6.6);
- evel_measurement_mem_used_set(measurement, 3.3);
- evel_measurement_request_rate_set(measurement, 6);
- evel_measurement_agg_cpu_use_set(measurement, 8.8);
- evel_measurement_cpu_use_add(measurement, "cpu1", 11.11);
- evel_measurement_cpu_use_add(measurement, "cpu2", 22.22);
- evel_measurement_fsys_use_add(measurement,"00-11-22",100.11, 100.22, 33,
- 200.11, 200.22, 44);
- evel_measurement_fsys_use_add(measurement,"33-44-55",300.11, 300.22, 55,
- 400.11, 400.22, 66);
-
- bucket = evel_new_meas_latency_bucket(20);
- evel_meas_latency_bucket_low_end_set(bucket, 0.0);
- evel_meas_latency_bucket_high_end_set(bucket, 10.0);
- evel_meas_latency_bucket_add(measurement, bucket);
-
- bucket = evel_new_meas_latency_bucket(30);
- evel_meas_latency_bucket_low_end_set(bucket, 10.0);
- evel_meas_latency_bucket_high_end_set(bucket, 20.0);
- evel_meas_latency_bucket_add(measurement, bucket);
-
- vnic_use = evel_new_measurement_vnic_use("eth0", 100, 200, 3, 4);
- evel_vnic_use_bcast_pkt_in_set(vnic_use, 1);
- evel_vnic_use_bcast_pkt_out_set(vnic_use, 2);
- evel_vnic_use_mcast_pkt_in_set(vnic_use, 5);
- evel_vnic_use_mcast_pkt_out_set(vnic_use, 6);
- evel_vnic_use_ucast_pkt_in_set(vnic_use, 7);
- evel_vnic_use_ucast_pkt_out_set(vnic_use, 8);
- evel_meas_vnic_use_add(measurement, vnic_use);
-
- vnic_use = evel_new_measurement_vnic_use("eth1", 110, 240, 13, 14);
- evel_vnic_use_bcast_pkt_in_set(vnic_use, 11);
- evel_vnic_use_bcast_pkt_out_set(vnic_use, 12);
- evel_vnic_use_mcast_pkt_in_set(vnic_use, 15);
- evel_vnic_use_mcast_pkt_out_set(vnic_use, 16);
- evel_vnic_use_ucast_pkt_in_set(vnic_use, 17);
- evel_vnic_use_ucast_pkt_out_set(vnic_use, 18);
- evel_meas_vnic_use_add(measurement, vnic_use);
-
- evel_measurement_errors_set(measurement, 1, 0, 2, 1);
-
- evel_measurement_feature_use_add(measurement, "FeatureA", 123);
- evel_measurement_feature_use_add(measurement, "FeatureB", 567);
-
- evel_measurement_codec_use_add(measurement, "G711a", 91);
- evel_measurement_codec_use_add(measurement, "G729ab", 92);
-
- evel_measurement_media_port_use_set(measurement, 1234);
-
- evel_measurement_vnfc_scaling_metric_set(measurement, 1234.5678);
-
- evel_measurement_custom_measurement_add(measurement,
- "Group1", "Name1", "Value1");
- evel_measurement_custom_measurement_add(measurement,
- "Group2", "Name1", "Value1");
- evel_measurement_custom_measurement_add(measurement,
- "Group2", "Name2", "Value2");
-
- /*************************************************************************/
- /* Work out the time, to use as end of measurement period. */
- /*************************************************************************/
- struct timeval tv_now;
- gettimeofday(&tv_now, NULL);
- unsigned long long epoch_now = tv_now.tv_usec + 1000000 * tv_now.tv_sec;
- evel_start_epoch_set(&measurement->header, epoch_start);
- evel_last_epoch_set(&measurement->header, epoch_now);
- epoch_start = epoch_now;
- evel_reporting_entity_name_set(&measurement->header, "measurer");
- evel_reporting_entity_id_set(&measurement->header, "measurer_id");
-
- evel_rc = evel_post_event((EVENT_HEADER *)measurement);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post Measurement failed %d (%s)",
- evel_rc,
- evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Measurement failed");
- }
- printf(" Processed Measurement\n");
-}
-
-/**************************************************************************//**
- * Create and send three mobile flow events.
- *****************************************************************************/
-void demo_mobile_flow(void)
-{
- MOBILE_GTP_PER_FLOW_METRICS * metrics = NULL;
- EVENT_MOBILE_FLOW * mobile_flow = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- /***************************************************************************/
- /* Mobile Flow */
- /***************************************************************************/
- metrics = evel_new_mobile_gtp_flow_metrics(12.3,
- 3.12,
- 100,
- 2100,
- 500,
- 1470409421,
- 987,
- 1470409431,
- 11,
- (time_t)1470409431,
- "Working",
- 87,
- 3,
- 17,
- 123654,
- 4561,
- 0,
- 12,
- 10,
- 1,
- 3,
- 7,
- 899,
- 901,
- 302,
- 6,
- 2,
- 0,
- 110,
- 225);
- if (metrics != NULL)
- {
- mobile_flow = evel_new_mobile_flow("Outbound",
- metrics,
- "TCP",
- "IPv4",
- "2.3.4.1",
- 2341,
- "4.2.3.1",
- 4321);
- if (mobile_flow != NULL)
- {
- evel_rc = evel_post_event((EVENT_HEADER *)mobile_flow);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post Mobile Flow failed %d (%s)",
- evel_rc,
- evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Mobile Flow failed");
- }
- printf(" Processed empty Mobile Flow\n");
- }
- else
- {
- EVEL_ERROR("New GTP Per Flow Metrics failed - skipping Mobile Flow");
- printf(" Skipped empty Mobile Flow\n");
- }
-
- metrics = evel_new_mobile_gtp_flow_metrics(132.0001,
- 31.2,
- 101,
- 2101,
- 501,
- 1470409422,
- 988,
- 1470409432,
- 12,
- (time_t)1470409432,
- "Inactive",
- 88,
- 4,
- 18,
- 123655,
- 4562,
- 1,
- 13,
- 11,
- 2,
- 4,
- 8,
- 900,
- 902,
- 303,
- 7,
- 3,
- 1,
- 111,
- 226);
- if (metrics != NULL)
- {
- mobile_flow = evel_new_mobile_flow("Inbound",
- metrics,
- "UDP",
- "IPv6",
- "2.3.4.2",
- 2342,
- "4.2.3.2",
- 4322);
- if (mobile_flow != NULL)
- {
- evel_mobile_flow_app_type_set(mobile_flow, "Demo application");
- evel_mobile_flow_app_prot_type_set(mobile_flow, "GSM");
- evel_mobile_flow_app_prot_ver_set(mobile_flow, "1");
- evel_mobile_flow_cid_set(mobile_flow, "65535");
- evel_mobile_flow_con_type_set(mobile_flow, "S1-U");
- evel_mobile_flow_ecgi_set(mobile_flow, "e65535");
- evel_mobile_flow_gtp_prot_type_set(mobile_flow, "GTP-U");
- evel_mobile_flow_gtp_prot_ver_set(mobile_flow, "1");
- evel_mobile_flow_http_header_set(mobile_flow,
- "http://www.something.com");
- evel_mobile_flow_imei_set(mobile_flow, "209917614823");
- evel_mobile_flow_imsi_set(mobile_flow, "355251/05/850925/8");
- evel_mobile_flow_lac_set(mobile_flow, "1");
- evel_mobile_flow_mcc_set(mobile_flow, "410");
- evel_mobile_flow_mnc_set(mobile_flow, "04");
- evel_mobile_flow_msisdn_set(mobile_flow, "6017123456789");
- evel_mobile_flow_other_func_role_set(mobile_flow, "MME");
- evel_mobile_flow_rac_set(mobile_flow, "514");
- evel_mobile_flow_radio_acc_tech_set(mobile_flow, "LTE");
- evel_mobile_flow_sac_set(mobile_flow, "1");
- evel_mobile_flow_samp_alg_set(mobile_flow, 1);
- evel_mobile_flow_tac_set(mobile_flow, "2099");
- evel_mobile_flow_tunnel_id_set(mobile_flow, "Tunnel 1");
- evel_mobile_flow_vlan_id_set(mobile_flow, "15");
-
- evel_rc = evel_post_event((EVENT_HEADER *)mobile_flow);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post Mobile Flow failed %d (%s)",
- evel_rc,
- evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Mobile Flow failed");
- }
- printf(" Processed partial Mobile Flow\n");
- }
- else
- {
- EVEL_ERROR("New GTP Per Flow Metrics failed - skipping Mobile Flow");
- printf(" Skipped partial Mobile Flow\n");
- }
-
- metrics = evel_new_mobile_gtp_flow_metrics(12.32,
- 3.122,
- 1002,
- 21002,
- 5002,
- 1470409423,
- 9872,
- 1470409433,
- 112,
- (time_t)1470409433,
- "Failed",
- 872,
- 32,
- 172,
- 1236542,
- 45612,
- 2,
- 122,
- 102,
- 12,
- 32,
- 72,
- 8992,
- 9012,
- 3022,
- 62,
- 22,
- 2,
- 1102,
- 2252);
- if (metrics != NULL)
- {
- evel_mobile_gtp_metrics_dur_con_fail_set(metrics, 12);
- evel_mobile_gtp_metrics_dur_tun_fail_set(metrics, 13);
- evel_mobile_gtp_metrics_act_by_set(metrics, "Remote");
- evel_mobile_gtp_metrics_act_time_set(metrics, (time_t)1470409423);
- evel_mobile_gtp_metrics_deact_by_set(metrics, "Remote");
- evel_mobile_gtp_metrics_con_status_set(metrics, "Connected");
- evel_mobile_gtp_metrics_tun_status_set(metrics, "Not tunneling");
- evel_mobile_gtp_metrics_iptos_set(metrics, 1, 13);
- evel_mobile_gtp_metrics_iptos_set(metrics, 17, 1);
- evel_mobile_gtp_metrics_iptos_set(metrics, 4, 99);
- evel_mobile_gtp_metrics_large_pkt_rtt_set(metrics, 80);
- evel_mobile_gtp_metrics_large_pkt_thresh_set(metrics, 600.0);
- evel_mobile_gtp_metrics_max_rcv_bit_rate_set(metrics, 1357924680);
- evel_mobile_gtp_metrics_max_trx_bit_rate_set(metrics, 235711);
- evel_mobile_gtp_metrics_num_echo_fail_set(metrics, 1);
- evel_mobile_gtp_metrics_num_tun_fail_set(metrics, 4);
- evel_mobile_gtp_metrics_num_http_errors_set(metrics, 2);
- evel_mobile_gtp_metrics_tcp_flag_count_add(metrics, EVEL_TCP_CWR, 10);
- evel_mobile_gtp_metrics_tcp_flag_count_add(metrics, EVEL_TCP_URG, 121);
- evel_mobile_gtp_metrics_qci_cos_count_add(
- metrics, EVEL_QCI_COS_UMTS_CONVERSATIONAL, 11);
- evel_mobile_gtp_metrics_qci_cos_count_add(
- metrics, EVEL_QCI_COS_LTE_65, 122);
-
- mobile_flow = evel_new_mobile_flow("Outbound",
- metrics,
- "RTP",
- "IPv8",
- "2.3.4.3",
- 2343,
- "4.2.3.3",
- 4323);
- if (mobile_flow != NULL)
- {
- evel_mobile_flow_app_type_set(mobile_flow, "Demo application 2");
- evel_mobile_flow_app_prot_type_set(mobile_flow, "GSM");
- evel_mobile_flow_app_prot_ver_set(mobile_flow, "2");
- evel_mobile_flow_cid_set(mobile_flow, "1");
- evel_mobile_flow_con_type_set(mobile_flow, "S1-U");
- evel_mobile_flow_ecgi_set(mobile_flow, "e1");
- evel_mobile_flow_gtp_prot_type_set(mobile_flow, "GTP-U");
- evel_mobile_flow_gtp_prot_ver_set(mobile_flow, "1");
- evel_mobile_flow_http_header_set(mobile_flow, "http://www.google.com");
- evel_mobile_flow_imei_set(mobile_flow, "209917614823");
- evel_mobile_flow_imsi_set(mobile_flow, "355251/05/850925/8");
- evel_mobile_flow_lac_set(mobile_flow, "1");
- evel_mobile_flow_mcc_set(mobile_flow, "410");
- evel_mobile_flow_mnc_set(mobile_flow, "04");
- evel_mobile_flow_msisdn_set(mobile_flow, "6017123456789");
- evel_mobile_flow_other_func_role_set(mobile_flow, "MMF");
- evel_mobile_flow_rac_set(mobile_flow, "514");
- evel_mobile_flow_radio_acc_tech_set(mobile_flow, "3G");
- evel_mobile_flow_sac_set(mobile_flow, "1");
- evel_mobile_flow_samp_alg_set(mobile_flow, 2);
- evel_mobile_flow_tac_set(mobile_flow, "2099");
- evel_mobile_flow_tunnel_id_set(mobile_flow, "Tunnel 2");
- evel_mobile_flow_vlan_id_set(mobile_flow, "4096");
-
- evel_rc = evel_post_event((EVENT_HEADER *)mobile_flow);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post Mobile Flow failed %d (%s)",
- evel_rc,
- evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Mobile Flow failed");
- }
- printf(" Processed full Mobile Flow\n");
- }
- else
- {
- EVEL_ERROR("New GTP Per Flow Metrics failed - skipping Mobile Flow");
- printf(" Skipped full Mobile Flow\n");
- }
-}
-
-/**************************************************************************//**
- * Create and send a Service event.
- *****************************************************************************/
-void demo_service()
-{
- demo_service_event(SERVICE_CODEC);
- demo_service_event(SERVICE_TRANSCODING);
- demo_service_event(SERVICE_RTCP);
- demo_service_event(SERVICE_EOC_VQM);
- demo_service_event(SERVICE_MARKER);
-}
-
-void demo_service_event(const SERVICE_EVENT service_event)
-{
- EVENT_SERVICE * event = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- event = evel_new_service("vendor_x_id", "vendor_x_event_id");
- if (event != NULL)
- {
- evel_service_type_set(event, "Service Event");
- evel_service_product_id_set(event, "vendor_x_product_id");
- evel_service_subsystem_id_set(event, "vendor_x_subsystem_id");
- evel_service_friendly_name_set(event, "vendor_x_frieldly_name");
- evel_service_correlator_set(event, "vendor_x_correlator");
- evel_service_addl_field_add(event, "Name1", "Value1");
- evel_service_addl_field_add(event, "Name2", "Value2");
-
- switch (service_event)
- {
- case SERVICE_CODEC:
- evel_service_codec_set(event, "PCMA");
- break;
- case SERVICE_TRANSCODING:
- evel_service_callee_codec_set(event, "PCMA");
- evel_service_caller_codec_set(event, "G729A");
- break;
- case SERVICE_RTCP:
- evel_service_rtcp_data_set(event, "some_rtcp_data");
- break;
- case SERVICE_EOC_VQM:
- evel_service_adjacency_name_set(event, "vendor_x_adjacency");
- evel_service_endpoint_desc_set(event, EVEL_SERVICE_ENDPOINT_CALLER);
- evel_service_endpoint_jitter_set(event, 66);
- evel_service_endpoint_rtp_oct_disc_set(event, 100);
- evel_service_endpoint_rtp_oct_recv_set(event, 200);
- evel_service_endpoint_rtp_oct_sent_set(event, 300);
- evel_service_endpoint_rtp_pkt_disc_set(event, 400);
- evel_service_endpoint_rtp_pkt_recv_set(event, 500);
- evel_service_endpoint_rtp_pkt_sent_set(event, 600);
- evel_service_local_jitter_set(event, 99);
- evel_service_local_rtp_oct_disc_set(event, 150);
- evel_service_local_rtp_oct_recv_set(event, 250);
- evel_service_local_rtp_oct_sent_set(event, 350);
- evel_service_local_rtp_pkt_disc_set(event, 450);
- evel_service_local_rtp_pkt_recv_set(event, 550);
- evel_service_local_rtp_pkt_sent_set(event, 650);
- evel_service_mos_cqe_set(event, 12.255);
- evel_service_packets_lost_set(event, 157);
- evel_service_packet_loss_percent_set(event, 0.232);
- evel_service_r_factor_set(event, 11);
- evel_service_round_trip_delay_set(event, 15);
- break;
- case SERVICE_MARKER:
- evel_service_phone_number_set(event, "0888888888");
- break;
- }
-
- evel_rc = evel_post_event((EVENT_HEADER *) event);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Service failed");
- }
- printf(" Processed Service Events\n");
-}
-
-/**************************************************************************//**
- * Create and send a Signaling event.
- *****************************************************************************/
-void demo_signaling(void)
-{
- EVENT_SIGNALING * event = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- event = evel_new_signaling("vendor_x_id", "vendor_x_event_id");
- if (event != NULL)
- {
- evel_signaling_type_set(event, "Signaling");
- evel_signaling_product_id_set(event, "vendor_x_product_id");
- evel_signaling_subsystem_id_set(event, "vendor_x_subsystem_id");
- evel_signaling_friendly_name_set(event, "vendor_x_frieldly_name");
- evel_signaling_correlator_set(event, "vendor_x_correlator");
- evel_signaling_local_ip_address_set(event, "1.0.3.1");
- evel_signaling_local_port_set(event, "1031");
- evel_signaling_remote_ip_address_set(event, "5.3.3.0");
- evel_signaling_remote_port_set(event, "5330");
- evel_signaling_compressed_sip_set(event, "compressed_sip");
- evel_signaling_summary_sip_set(event, "summary_sip");
- evel_rc = evel_post_event((EVENT_HEADER *) event);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Signaling failed");
- }
- printf(" Processed Signaling\n");
-}
-
-/**************************************************************************//**
- * Create and send a state change event.
- *****************************************************************************/
-void demo_state_change(void)
-{
- EVENT_STATE_CHANGE * state_change = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- /***************************************************************************/
- /* State Change */
- /***************************************************************************/
- state_change = evel_new_state_change(EVEL_ENTITY_STATE_IN_SERVICE,
- EVEL_ENTITY_STATE_OUT_OF_SERVICE,
- "Interface");
- if (state_change != NULL)
- {
- evel_state_change_type_set(state_change, "State Change");
- evel_state_change_addl_field_add(state_change, "Name1", "Value1");
- evel_state_change_addl_field_add(state_change, "Name2", "Value2");
- evel_rc = evel_post_event((EVENT_HEADER *)state_change);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New State Change failed");
- }
- printf(" Processed State Change\n");
-}
-
-/**************************************************************************//**
- * Create and send two syslog events.
- *****************************************************************************/
-void demo_syslog(void)
-{
- EVENT_SYSLOG * syslog = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- /***************************************************************************/
- /* Syslog */
- /***************************************************************************/
- syslog = evel_new_syslog(EVEL_SOURCE_VIRTUAL_NETWORK_FUNCTION,
- "EVEL library message",
- "EVEL");
- if (syslog != NULL)
- {
- evel_rc = evel_post_event((EVENT_HEADER *)syslog);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Syslog failed");
- }
- printf(" Processed empty Syslog\n");
-
- syslog = evel_new_syslog(EVEL_SOURCE_VIRTUAL_MACHINE,
- "EVEL library message",
- "EVEL");
- if (syslog != NULL)
- {
- evel_syslog_event_source_host_set(syslog, "Virtual host");
- evel_syslog_facility_set(syslog, EVEL_SYSLOG_FACILITY_LOCAL0);
- evel_syslog_proc_set(syslog, "vnf_process");
- evel_syslog_proc_id_set(syslog, 1423);
- evel_syslog_version_set(syslog, 1);
- evel_syslog_addl_field_add(syslog, "Name1", "Value1");
- evel_syslog_addl_field_add(syslog, "Name2", "Value2");
- evel_syslog_addl_field_add(syslog, "Name3", "Value3");
- evel_syslog_addl_field_add(syslog, "Name4", "Value4");
- evel_rc = evel_post_event((EVENT_HEADER *)syslog);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Syslog failed");
- }
- printf(" Processed full Syslog\n");
-}
-
-/**************************************************************************//**
- * Create and send two other events.
- *****************************************************************************/
-void demo_other(void)
-{
- EVENT_OTHER * other = NULL;
- EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
-
- /***************************************************************************/
- /* Other */
- /***************************************************************************/
- other = evel_new_other();
- if (other != NULL)
- {
- evel_rc = evel_post_event((EVENT_HEADER *)other);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Other failed");
- }
- printf(" Processed empty Other\n");
-
- other = evel_new_other();
- if (other != NULL)
- {
- evel_other_field_add(other,
- "Other field 1",
- "Other value 1");
- evel_rc = evel_post_event((EVENT_HEADER *)other);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Other failed");
- }
- printf(" Processed small Other\n");
-
- other = evel_new_other();
- if (other != NULL)
- {
- evel_other_field_add(other,
- "Other field A",
- "Other value A");
- evel_other_field_add(other,
- "Other field B",
- "Other value B");
- evel_other_field_add(other,
- "Other field C",
- "Other value C");
- evel_rc = evel_post_event((EVENT_HEADER *)other);
- if (evel_rc != EVEL_SUCCESS)
- {
- EVEL_ERROR("Post failed %d (%s)", evel_rc, evel_error_string());
- }
- }
- else
- {
- EVEL_ERROR("New Other failed");
- }
- printf(" Processed large Other\n");
-}