++ evel_force_option_string(&header->source_id, openstack_vnf_id()); /* vCPE quick hack */
++ evel_init_option_intheader(&header->internal_field);
++
++ EVEL_EXIT();
++}
++
++/**************************************************************************//**
++ * Initialize a newly created event header.
++ *
++ * @param header Pointer to the header being initialized.
++ *****************************************************************************/
++void evel_init_header_source_name(EVENT_HEADER * const header,const char *const eventname, const char *eventid, const char *eventsrcname)
++{
++ struct timeval tv;
++
++ EVEL_ENTER();
++
++ assert(header != NULL);
++ assert(eventname != NULL);
++ assert(eventid != NULL);
++
++ gettimeofday(&tv, NULL);
++
++ /***************************************************************************/
++ /* Initialize the header. Get a new event sequence number. Note that if */
++ /* any memory allocation fails in here we will fail gracefully because */
++ /* everything downstream can cope with NULLs. */
++ /***************************************************************************/
++ header->event_domain = EVEL_DOMAIN_HEARTBEAT;
++ header->event_id = strdup(eventid);
++ header->event_name = strdup(eventname);
++ header->last_epoch_microsec = tv.tv_usec + 1000000 * tv.tv_sec;
++ header->priority = EVEL_PRIORITY_NORMAL;
++ header->reporting_entity_name = strdup(openstack_vm_name());
++ /* header->source_name = strdup(openstack_vm_name()); */
++ /* vCPE quck hack */
++ if (strlen(eventsrcname)) {
++ header->source_name = strdup(eventsrcname);
++ } else {
++ header->source_name = strdup(openstack_vnf_id());
++ }
++ header->sequence = event_sequence;
++ header->start_epoch_microsec = header->last_epoch_microsec;
++ header->major_version = EVEL_HEADER_MAJOR_VERSION;
++ header->minor_version = EVEL_HEADER_MINOR_VERSION;
++ event_sequence++;
++
++ /***************************************************************************/
++ /* Optional parameters. */
++ /***************************************************************************/
++ evel_init_option_string(&header->event_type);
++ evel_init_option_string(&header->nfcnaming_code);
++ evel_init_option_string(&header->nfnaming_code);
++ evel_force_option_string(&header->reporting_entity_id, openstack_vm_uuid());
++ /* evel_force_option_string(&header->source_id, openstack_vm_uuid()); */