diff options
author | gokuls <goksing@gmail.com> | 2017-06-08 23:31:58 -0400 |
---|---|---|
committer | gokuls <goksing@gmail.com> | 2017-06-08 23:33:50 -0400 |
commit | 4d6ce277921f99c440ebcd1796b4d6447af36f3b (patch) | |
tree | bdf38ebf310710908bc91e130e496b2471865ad0 /vnfs/VES5.0/evel | |
parent | d01dc36ebf5dc8869da816379e59ff3a0a4749d2 (diff) |
Cleanup code and correct License
Change-Id: I5f1b07772c08d098e44f5e5b987c2dea9e115465
Signed-off-by: Gokul Singaraju <goksing@gmail.com>
Diffstat (limited to 'vnfs/VES5.0/evel')
81 files changed, 673 insertions, 11510 deletions
diff --git a/vnfs/VES5.0/evel/evel-library/LICENSE.TXT b/vnfs/VES5.0/evel/evel-library/LICENSE.TXT new file mode 100644 index 00000000..ae12da20 --- /dev/null +++ b/vnfs/VES5.0/evel/evel-library/LICENSE.TXT @@ -0,0 +1,22 @@ +/* + * ============LICENSE_START========================================== + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * 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. + * ============LICENSE_END============================================ + * + * ECOMP and OpenECOMP are trademarks + * and service marks of AT&T Intellectual Property. + * + */ diff --git a/vnfs/VES5.0/evel/evel-library/bldjobs/Doxyfile b/vnfs/VES5.0/evel/evel-library/bldjobs/Doxyfile deleted file mode 100644 index f96ead25..00000000 --- a/vnfs/VES5.0/evel/evel-library/bldjobs/Doxyfile +++ /dev/null @@ -1,1475 +0,0 @@ -# Doxyfile 1.6.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = "AT&T ECOMP Vendor Event Listener library" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 0.1 - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = ../docs/source/evel - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 2 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = ../code/evel_library \ - ../code/evel_demo - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.h *.c *.md - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# If the HTML_TIMESTAMP tag is set to YES then the generated HTML -# documentation will contain the timesstamp. - -HTML_TIMESTAMP = NO - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP) -# there is already a search function so this one should typically -# be disabled. - -SEARCHENGINE = YES - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = YES - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/vnfs/VES5.0/evel/evel-library/bldjobs/Makefile b/vnfs/VES5.0/evel/evel-library/bldjobs/Makefile index ea30acca..b1e15e5e 100644 --- a/vnfs/VES5.0/evel/evel-library/bldjobs/Makefile +++ b/vnfs/VES5.0/evel/evel-library/bldjobs/Makefile @@ -1,3 +1,20 @@ +#*************************************************************************//** +#* +#* Copyright © 2017 AT&T Intellectual Property. All rights reserved. +#* +#* 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. +#* +#****************************************************************************/ + #****************************************************************************** # The ECOMP Vendor Event Listener (EVEL) API client library Makefile. # @@ -6,45 +23,12 @@ # # NOTE: because Makefiles assign special meaning to the TAB character you # will need to set tabstops to 2 characters for the layout to look OK. -# -# License -# ------- -# -# Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: This product includes -# software developed by the AT&T. -# 4. Neither the name of AT&T nor the names of its contributors may be used to -# endorse or promote products derived from this software without specific -# prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#****************************************************************************** +#****************************************************************************/ ARCH=$(shell getconf LONG_BIT) CODE_ROOT=$(CURDIR)/.. EVELLIB_ROOT=$(CODE_ROOT)/code/evel_library -EVELDEMO_ROOT=$(CODE_ROOT)/code/evel_demo EVELUNIT_ROOT=$(CODE_ROOT)/code/evel_unit -EVELTRAINING_ROOT=$(CODE_ROOT)/code/evel_training LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) OUTPUT_DIR=$(CODE_ROOT)/output/x86_$(ARCH) DOCS_ROOT=$(CODE_ROOT)/docs @@ -120,14 +104,9 @@ DOCS_SERVER_PATH=/var/www/html/evel $(JAVA) -jar $(PLANTUML) $(PLANTFLAGS) $< all: api_library \ - evel_library_demo \ - evel_library_training clean: api_library_clean \ evel_unit_clean \ - evel_library_demo_clean \ - evel_library_training_clean \ - docs_clean install: evel_install_centos evel_install_ubuntu @@ -185,33 +164,6 @@ api_library_clean: @$(RM) $(EVELLIB_ROOT)/*.d #****************************************************************************** -# Build the EVEL library demo. * -#****************************************************************************** -DEMO_SOURCES=$(EVELDEMO_ROOT)/evel_demo.c $(EVELDEMO_ROOT)/evel_test_control.c -DEMO_OBJECTS=$(DEMO_SOURCES:.c=.o) --include $(DEMO_SOURCES:.c=.d) - -evel_library_demo: api_library \ - $(OUTPUT_DIR)/evel_demo - -$(OUTPUT_DIR)/evel_demo: $(DEMO_OBJECTS) - @echo Linking EVEL demo - @$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ \ - -L $(LIBS_DIR) \ - $(DEMO_OBJECTS) \ - -level \ - -lpthread \ - -lcurl - -evel_library_demo_clean: - @echo Cleaning EVEL demo - @$(RM) $(OUTPUT_DIR)/evel_demo - @$(RM) $(API_OBJECTS) - @$(RM) $(DEMO_OBJECTS) - @$(RM) $(EVELLIB_ROOT)/*.d - @$(RM) $(EVELDEMO_ROOT)/*.d - -#****************************************************************************** # Build the EVEL library unit test. * #****************************************************************************** UNIT_SOURCES=$(EVELUNIT_ROOT)/evel_unit.c @@ -239,32 +191,6 @@ evel_unit_clean: @$(RM) $(EVELUNIT_ROOT)/*.d #****************************************************************************** -# Build the EVEL library training files. * -#****************************************************************************** -evel_library_training: - @echo Making EVEL training - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/01-hello-world - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/02-library-link - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/03-include-header - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/04-basic-lifecycle - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/05-raise-event - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/06-username-password - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/07-raise-measurement - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/08-raise-mobile-flow - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/09-raise-state-change - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/10-raise-syslog - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/11-raise-other - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/12-suppress-fault-fields - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/13-suppress-fault-pairs - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/14-measurement-interval - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/15-raise-signaling - @$(MAKE) -s -C $(EVELTRAINING_ROOT)/16-raise-service - -evel_library_training_clean: - @echo Cleaning EVEL training - @$(RM) $(EVELTRAINING_ROOT)/*/hello_evel_world - -#****************************************************************************** # Copy the EVEL demo onto the CentOS testbed as a package and build it. * #****************************************************************************** evel_install_centos: delivery @@ -345,10 +271,7 @@ delivery_baseline: docs # Package the software for delivery. * #****************************************************************************** package: api_library_clean \ - evel_unit_clean \ - evel_library_demo_clean \ - evel_library_training_clean \ - docs + evel_unit_clean @echo Packaging the software for delivery @cd $(CODE_ROOT) && tar cfz output/evel-library-package.tgz bldjobs \ code \ @@ -360,25 +283,3 @@ package: api_library_clean \ package_clean: @echo Clean delivery packages @$(RM) $(OUTPUTDIR)/*.tgz - -#****************************************************************************** -# Create project documentation. * -#****************************************************************************** -doxygen_docs: - @echo Making Doxygen documentation - @$(DOXYGEN) Doxyfile - -pdf_docs: doxygen_docs # This target is slightly broken. Run manually. - @echo Making PDF... - @$(MAKE) -C $(DOCS_ROOT)/source/evel/latex - -docs_clean: - @echo Cleaning docs... - @$(RM) $(DOCS_ROOT)/*.svg - @$(RM) -r $(DOCS_ROOT)/source/evel/html \ - $(DOCS_ROOT)/source/evel/latex - -docs_install: docs - @echo Copying docs to team web-server... - @$(SCP) -r $(DOCS_ROOT)/source/evel/html/* \ - root@$(TEAM_DOCS_SERVER):$(DOCS_SERVER_PATH) diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_demo.c b/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_demo.c deleted file mode 100644 index f5cbc03e..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_demo.c +++ /dev/null @@ -1,1611 +0,0 @@ -/**************************************************************************//** - * @file - * Utility providing example use of the ECOMP Vendor Event Listener API. - * - * This software is intended to show the essential elements of the library's - * use. - * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes software - * developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <getopt.h> -#include <sys/signal.h> -#include <pthread.h> -#include <mcheck.h> -#include <sys/time.h> - -#include "jsmn.h" -#include "evel.h" -#include "evel_demo.h" -#include "evel_test_control.h" - -/**************************************************************************//** - * Definition of long options to the program. - * - * See the documentation for getopt_long() for details of the structure's use. - *****************************************************************************/ -static const struct option long_options[] = { - {"help", no_argument, 0, 'h'}, - {"fqdn", required_argument, 0, 'f'}, - {"port", required_argument, 0, 'n'}, - {"path", required_argument, 0, 'p'}, - {"topic", required_argument, 0, 't'}, - {"https", no_argument, 0, 's'}, - {"verbose", no_argument, 0, 'v'}, - {"cycles", required_argument, 0, 'c'}, - {"username", required_argument, 0, 'u'}, - {"password", required_argument, 0, 'w'}, - {"nothrott", no_argument, 0, 'x'}, - {0, 0, 0, 0} - }; - -/**************************************************************************//** - * Definition of short options to the program. - *****************************************************************************/ -static const char* short_options = "hf:n:p:t:sc:u:w:vx"; - -/**************************************************************************//** - * Basic user help text describing the usage of the application. - *****************************************************************************/ -static const char* usage_text = -"evel_demo [--help]\n" -" --fqdn <domain>\n" -" --port <port_number>\n" -" [--path <path>]\n" -" [--topic <topic>]\n" -" [--username <username>]\n" -" [--password <password>]\n" -" [--https]\n" -" [--cycles <cycles>]\n" -" [--nothrott]\n" -"\n" -"Demonstrate use of the ECOMP Vendor Event Listener API.\n" -"\n" -" -h Display this usage message.\n" -" --help\n" -"\n" -" -f The FQDN or IP address to the RESTful API.\n" -" --fqdn\n" -"\n" -" -n The port number the RESTful API.\n" -" --port\n" -"\n" -" -p The optional path prefix to the RESTful API.\n" -" --path\n" -"\n" -" -t The optional topic part of the RESTful API.\n" -" --topic\n" -"\n" -" -u The optional username for basic authentication of requests.\n" -" --username\n" -"\n" -" -w The optional password for basic authentication of requests.\n" -" --password\n" -"\n" -" -s Use HTTPS rather than HTTP for the transport.\n" -" --https\n" -"\n" -" -c Loop <cycles> times round the main loop. Default = 1.\n" -" --cycles\n" -"\n" -" -v Generate much chattier logs.\n" -" --verbose\n" -"\n" -" -x Exclude throttling commands from demonstration.\n" -" --nothrott\n"; - -#define DEFAULT_SLEEP_SECONDS 3 -#define MINIMUM_SLEEP_SECONDS 1 - -unsigned long long epoch_start = 0; - -typedef enum { - SERVICE_CODEC, - SERVICE_TRANSCODING, - SERVICE_RTCP, - SERVICE_EOC_VQM, - SERVICE_MARKER -} SERVICE_EVENT; - -/*****************************************************************************/ -/* 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_heartbeat_field_event(void); -static void demo_signaling(void); -static void demo_state_change(void); -static void demo_syslog(void); -static void demo_other(void); -static void demo_voicequality(void); - -/**************************************************************************//** - * Global flag to initiate shutdown. - *****************************************************************************/ -static int glob_exit_now = 0; - -static char * api_fqdn = NULL; -static int api_port = 0; -static int api_secure = 0; - -static void show_usage(FILE* fp) -{ - fputs(usage_text, fp); -} - -/**************************************************************************//** - * Main function. - * - * Parses the command-line then ... - * - * @param[in] argc Argument count. - * @param[in] argv Argument vector - for usage see usage_text. - *****************************************************************************/ -int main(int argc, char ** argv) -{ - sigset_t sig_set; - pthread_t thread_id; - int option_index = 0; - int param = 0; - char * api_path = NULL; - char * api_topic = NULL; - char * api_username = ""; - char * api_password = ""; - int verbose_mode = 0; - int exclude_throttling = 0; - int cycles = 1; - int cycle; - int measurement_interval = EVEL_MEASUREMENT_INTERVAL_UKNOWN; - - /***************************************************************************/ - /* We're very interested in memory management problems so check behavior. */ - /***************************************************************************/ - mcheck(NULL); - - if (argc < 2) - { - show_usage(stderr); - exit(-1); - } - param = getopt_long(argc, argv, - short_options, - long_options, - &option_index); - while (param != -1) - { - switch (param) - { - case 'h': - show_usage(stdout); - exit(0); - break; - - case 'f': - api_fqdn = optarg; - break; - - case 'n': - api_port = atoi(optarg); - break; - - case 'p': - api_path = optarg; - break; - - case 't': - api_topic = optarg; - break; - - case 'u': - api_username = optarg; - break; - - case 'w': - api_password = optarg; - break; - - case 's': - api_secure = 1; - break; - - case 'c': - cycles = atoi(optarg); - break; - - case 'v': - verbose_mode = 1; - break; - - case 'x': - exclude_throttling = 1; - break; - - case '?': - /*********************************************************************/ - /* Unrecognized parameter - getopt_long already printed an error */ - /* message. */ - /*********************************************************************/ - break; - - default: - fprintf(stderr, "Code error: recognized but missing option (%d)!\n", - param); - exit(-1); - } - - /*************************************************************************/ - /* Extract next parameter. */ - /*************************************************************************/ - param = getopt_long(argc, argv, - short_options, - long_options, - &option_index); - } - - /***************************************************************************/ - /* All the command-line has parsed cleanly, so now check that the options */ - /* are meaningful. */ - /***************************************************************************/ - if (api_fqdn == NULL) - { - fprintf(stderr, "FQDN of the Vendor Event Listener API server must be " - "specified.\n"); - exit(1); - } - if (api_port <= 0 || api_port > 65535) - { - fprintf(stderr, "Port for the Vendor Event Listener API server must be " - "specified between 1 and 65535.\n"); - exit(1); - } - if (cycles <= 0) - { - fprintf(stderr, "Number of cycles around the main loop must be an" - "integer greater than zero.\n"); - exit(1); - } - - /***************************************************************************/ - /* Set up default signal behaviour. Block all signals we trap explicitly */ - /* on the signal_watcher thread. */ - /***************************************************************************/ - sigemptyset(&sig_set); - sigaddset(&sig_set, SIGALRM); - sigaddset(&sig_set, SIGINT); - pthread_sigmask(SIG_BLOCK, &sig_set, NULL); - - /***************************************************************************/ - /* Start the signal watcher thread. */ - /***************************************************************************/ - if (pthread_create(&thread_id, NULL, signal_watcher, &sig_set) != 0) - { - fprintf(stderr, "Failed to start signal watcher thread."); - exit(1); - } - pthread_detach(thread_id); - - /***************************************************************************/ - /* Version info */ - /***************************************************************************/ - printf("%s built %s %s\n", argv[0], __DATE__, __TIME__); - - /***************************************************************************/ - /* Initialize the EVEL interface. */ - /***************************************************************************/ - if (evel_initialize(api_fqdn, - api_port, - api_path, - api_topic, - api_secure, - api_username, - api_password, - EVEL_SOURCE_VIRTUAL_MACHINE, - "EVEL demo client", - verbose_mode)) - { - fprintf(stderr, "Failed to initialize the EVEL library!!!"); - exit(-1); - } - else - { - EVEL_INFO("Initialization completed"); - } - - /***************************************************************************/ - /* Work out a start time for measurements, and sleep for initial period. */ - /***************************************************************************/ - struct timeval tv_start; - gettimeofday(&tv_start, NULL); - epoch_start = tv_start.tv_usec + 1000000 * tv_start.tv_sec; - sleep(DEFAULT_SLEEP_SECONDS); - - /***************************************************************************/ - /* MAIN LOOP */ - /***************************************************************************/ - printf("Starting %d loops...\n", cycles); - cycle = 0; - while (cycle++ < cycles) - { - EVEL_INFO("MAI: Starting main loop"); - printf("\nStarting main loop %d\n", cycle); - - /*************************************************************************/ - /* A 20s-long repeating cycle of behaviour. */ - /*************************************************************************/ - if (exclude_throttling == 0) - { - switch (cycle % 20) - { - case 1: - printf(" 1 - Resetting throttle specification for all domains\n"); - evel_test_control_scenario(TC_RESET_ALL_DOMAINS, - api_secure, - api_fqdn, - api_port); - break; - - case 2: - printf(" 2 - Switching measurement interval to 2s\n"); - evel_test_control_meas_interval(2, - api_secure, - api_fqdn, - api_port); - break; - - case 3: - printf(" 3 - Suppressing fault domain\n"); - evel_test_control_scenario(TC_FAULT_SUPPRESS_FIELDS_AND_PAIRS, - api_secure, - api_fqdn, - api_port); - break; - - case 4: - printf(" 4 - Suppressing measurement domain\n"); - evel_test_control_scenario(TC_MEAS_SUPPRESS_FIELDS_AND_PAIRS, - api_secure, - api_fqdn, - api_port); - break; - - case 5: - printf(" 5 - Switching measurement interval to 5s\n"); - evel_test_control_meas_interval(5, - api_secure, - api_fqdn, - api_port); - break; - - case 6: - printf(" 6 - Suppressing mobile flow domain\n"); - evel_test_control_scenario(TC_MOBILE_SUPPRESS_FIELDS_AND_PAIRS, - api_secure, - api_fqdn, - api_port); - break; - - case 7: - printf(" 7 - Suppressing state change domain\n"); - evel_test_control_scenario(TC_STATE_SUPPRESS_FIELDS_AND_PAIRS, - api_secure, - api_fqdn, - api_port); - break; - - case 8: - printf(" 8 - Suppressing signaling domain\n"); - evel_test_control_scenario(TC_SIGNALING_SUPPRESS_FIELDS, - api_secure, - api_fqdn, - api_port); - break; - - case 9: - printf(" 9 - Suppressing service event domain\n"); - evel_test_control_scenario(TC_SERVICE_SUPPRESS_FIELDS_AND_PAIRS, - api_secure, - api_fqdn, - api_port); - break; - - case 10: - printf(" 10 - Switching measurement interval to 20s\n"); - evel_test_control_meas_interval(20, - api_secure, - api_fqdn, - api_port); - break; - - case 11: - printf(" 11 - Suppressing syslog domain\n"); - evel_test_control_scenario(TC_SYSLOG_SUPPRESS_FIELDS_AND_PAIRS, - api_secure, - api_fqdn, - api_port); - break; - - case 12: - printf(" 12 - Switching measurement interval to 10s\n"); - evel_test_control_meas_interval(10, - api_secure, - api_fqdn, - api_port); - break; - - case 15: - printf(" Requesting provide throttling spec\n"); - evel_test_control_scenario(TC_PROVIDE_THROTTLING_SPEC, - api_secure, - api_fqdn, - api_port); - break; - } - } - fflush(stdout); - - /*************************************************************************/ - /* Send a bunch of events. */ - /*************************************************************************/ - demo_heartbeat(); - demo_fault(); - demo_measurement((measurement_interval == - EVEL_MEASUREMENT_INTERVAL_UKNOWN) ? - DEFAULT_SLEEP_SECONDS : measurement_interval); - demo_mobile_flow(); - demo_heartbeat_field_event(); - demo_signaling(); - demo_state_change(); - demo_syslog(); - demo_other(); - demo_voicequality(); - - /*************************************************************************/ - /* MAIN RETRY LOOP. Check and implement the measurement interval. */ - /*************************************************************************/ - if (cycle <= cycles) - { - int sleep_time; - - /***********************************************************************/ - /* We have a minimum loop time. */ - /***********************************************************************/ - sleep(MINIMUM_SLEEP_SECONDS); - - /***********************************************************************/ - /* Get the latest measurement interval and sleep for the remainder. */ - /***********************************************************************/ - measurement_interval = evel_get_measurement_interval(); - printf("Measurement Interval = %d\n", measurement_interval); - - if (measurement_interval == EVEL_MEASUREMENT_INTERVAL_UKNOWN) - { - sleep_time = DEFAULT_SLEEP_SECONDS - MINIMUM_SLEEP_SECONDS; - } - else - { - sleep_time = measurement_interval - MINIMUM_SLEEP_SECONDS; - } - sleep(sleep_time); - } - } - - /***************************************************************************/ - /* We are exiting, but allow the final set of events to be dispatched */ - /* properly first. */ - /***************************************************************************/ - sleep(2); - printf("All done - exiting!\n"); - return 0; -} - -/**************************************************************************//** - * Signal watcher. - * - * Signal catcher for incoming signal processing. Work out which signal has - * been received and process it accordingly. - * - * param[in] void_sig_set The signal mask to listen for. - *****************************************************************************/ -void *signal_watcher(void *void_sig_set) -{ - sigset_t *sig_set = (sigset_t *)void_sig_set; - int sig = 0; - int old_type = 0; - siginfo_t sig_info; - - /***************************************************************************/ - /* Set this thread to be cancellable immediately. */ - /***************************************************************************/ - pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &old_type); - - while (!glob_exit_now) - { - /*************************************************************************/ - /* Wait for a signal to be received. */ - /*************************************************************************/ - sig = sigwaitinfo(sig_set, &sig_info); - switch (sig) - { - case SIGALRM: - /*********************************************************************/ - /* Failed to do something in the given amount of time. Exit. */ - /*********************************************************************/ - EVEL_ERROR( "Timeout alarm"); - fprintf(stderr,"Timeout alarm - quitting!\n"); - exit(2); - break; - - case SIGINT: - EVEL_INFO( "Interrupted - quitting"); - printf("\n\nInterrupted - quitting!\n"); - glob_exit_now = 1; - break; - } - } - - evel_terminate(); - exit(0); - 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"); -} - -/**************************************************************************//** - * tap live cpu stats - *****************************************************************************/ -void evel_get_cpu_stats(EVENT_MEASUREMENT * measurement) -{ - FILE *fp; - char path[1024]; - double usage; - double idle; - double intrpt; - double nice; - double softirq; - double steal; - double sys; - double user; - double wait; - MEASUREMENT_CPU_USE *cpu_use; - - /* Open the command for reading. */ - //fp = popen("/bin/ls /etc/", "r"); - fp = popen("/usr/bin/top -bn 2 -d 0.01 | grep '^%Cpu' | tail -n 1 ", "r"); - if (fp == NULL) { - printf("Failed to run command\n" ); - exit(1); - } - - /* Read the output a line at a time - output it. */ - while (fgets(path, sizeof(path)-1, fp) != NULL) { - printf("%s", path+10); - sscanf(path+10," %lf us, %lf sy, %lf ni, %lf id, %lf wa, %lf hi, %lf si, %lf st", - &user,&sys,&nice,&idle,&wait,&intrpt,&softirq,&steal); - } - - /* close */ - pclose(fp); - - cpu_use = evel_measurement_new_cpu_use_add(measurement, "cpu1", usage); - evel_measurement_cpu_use_idle_set(cpu_use,idle); - evel_measurement_cpu_use_interrupt_set(cpu_use,intrpt); - evel_measurement_cpu_use_nice_set(cpu_use,nice); - evel_measurement_cpu_use_softirq_set(cpu_use,softirq); - evel_measurement_cpu_use_steal_set(cpu_use,steal); - evel_measurement_cpu_use_system_set(cpu_use,sys); - evel_measurement_cpu_use_usageuser_set(cpu_use,user); - evel_measurement_cpu_use_wait_set(cpu_use,wait); - //evel_measurement_cpu_use_add(measurement, "cpu2", usage,idle,intrpt,nice,softirq,steal,sys,user,wait); -} - -/**************************************************************************//** - * tap live disk stats - *****************************************************************************/ -void evel_get_disk_stats(EVENT_MEASUREMENT * measurement) -{ - FILE *fp; - char path[1024]; - double rrqm; - double wrqm; - double rs; - double ws; - double rkbs; - double wkbs; - double avgrqs; - double avgqqs; - double wait; - double rawait; - double wawait; - double svctm; - double util; - MEASUREMENT_DISK_USE * disk_use = NULL; - - /* Open the command for reading. */ - //fp = popen("/bin/ls /etc/", "r"); - fp = popen("/usr/bin/iostat -xtd | grep '^sda' | tail -n 1 ", "r"); - if (fp == NULL) { - printf("Failed to run command\n" ); - exit(1); - } - - /* Read the output a line at a time - output it. */ - while (fgets(path, sizeof(path)-1, fp) != NULL) { - printf("%s", path+10); - sscanf(path+10,"%lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf", - &rrqm,&wrqm,&rs,&ws,&rkbs,&wkbs,&avgrqs,&avgqqs,&wait,&rawait,&wawait,&svctm,&util); - } - - /* close */ - pclose(fp); - - disk_use = evel_measurement_new_disk_use_add(measurement, "sda"); - evel_measurement_disk_use_iotimeavg_set(disk_use, rrqm); - evel_measurement_disk_use_iotimelast_set(disk_use, wrqm); - evel_measurement_disk_use_iotimemax_set(disk_use, rs); - evel_measurement_disk_use_iotimemin_set(disk_use, ws); - evel_measurement_disk_use_mergereadavg_set(disk_use, rkbs); - evel_measurement_disk_use_mergereadlast_set(disk_use, wkbs); - evel_measurement_disk_use_mergereadmax_set(disk_use, avgrqs); - evel_measurement_disk_use_mergereadmin_set(disk_use, avgqqs); - evel_measurement_disk_use_mergewritelast_set(disk_use, wait); - evel_measurement_disk_use_mergewritemax_set(disk_use, rawait); - evel_measurement_disk_use_mergewritemin_set(disk_use, wawait); - evel_measurement_disk_use_octetsreadavg_set(disk_use, svctm); - evel_measurement_disk_use_octetsreadlast_set(disk_use, util); -} - - -/**************************************************************************//** - * tap live memory stats - *****************************************************************************/ -void evel_get_mem_stats(EVENT_MEASUREMENT * measurement) -{ -char buffer[4096]; -char line[100]; -char c; -int bcount=0,lcount=0; - -double membuffsz=0.0; -double memcache=0.0; -double memconfig=0.0; -double memfree=0.0; -double slab=0.0; -double slabrecl=0.0; -double slabunrecl=0.0; -double memused=0.0; -MEASUREMENT_MEM_USE *mem_use = NULL; - - -FILE * filp = fopen("/proc/meminfo", "rb"); -int bytes_read = fread(buffer, sizeof(char), 4096, filp); -fclose(filp); - -printf("meminfo %d\n",bytes_read); - -while ( bcount < bytes_read ) -{ - for(lcount=0; buffer[bcount] != '\n';bcount++,lcount++) - { - line[lcount] = buffer[bcount]; - } - if( lcount > 0 ) - { - line[lcount] = '\0'; - //printf("%s\n",line); - if(!strncmp(line,"Buffers:", strlen("Buffers:"))) - { - sscanf(line+strlen("Buffers:"),"%lf",&membuffsz); - //printf("membuff %lf\n",membuffsz); - } - else if(!strncmp(line,"Cached:", strlen("Cached:"))) - { - sscanf(line+strlen("Cached:"),"%lf",&memcache); - } - else if(!strncmp(line,"MemTotal:", strlen("MemTotal:"))) - { - sscanf(line+strlen("MemTotal:"),"%lf",&memconfig); - } - else if(!strncmp(line,"MemFree:", strlen("MemFree:"))) - { - sscanf(line+strlen("MemFree:"),"%lf",&memfree); - } - else if(!strncmp(line,"Slab:", strlen("Slab:"))) - { - sscanf(line+strlen("Slab:"),"%lf",&slab); - } - else if(!strncmp(line,"SReclaimable:", strlen("SReclaimable:"))) - { - sscanf(line+strlen("SReclaimable:"),"%lf",&slabrecl); - } - else if(!strncmp(line,"SUnreclaim:", strlen("SUnreclaim:"))) - { - sscanf(line+strlen("SUnreclaim:"),"%lf",&slabunrecl); - } - } - bcount++; -} - -memused = memconfig - memfree - membuffsz - memcache - slab; -printf("memused %lf\n",memused); - - mem_use = evel_measurement_new_mem_use_add(measurement, "RAM", "vm1", membuffsz); - evel_measurement_mem_use_memcache_set(mem_use,memcache); - evel_measurement_mem_use_memconfig_set(mem_use,memconfig); - evel_measurement_mem_use_memfree_set(mem_use,memfree); - evel_measurement_mem_use_slab_reclaimed_set(mem_use,slabrecl); - evel_measurement_mem_use_slab_unreclaimable_set(mem_use,slabunrecl); - evel_measurement_mem_use_usedup_set(mem_use,memused); - -} - -/**************************************************************************//** - * 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, - EVEL_SOURCE_VIRTUAL_MACHINE, - EVEL_VF_STATUS_READY_TERMINATE); - 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, - EVEL_SOURCE_PORT, - EVEL_VF_STATUS_REQ_TERMINATE); - if (fault != NULL) - { - evel_fault_type_set(fault, "Bad things happening"); - evel_fault_category_set(fault, "Failed category"); - 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, - EVEL_SOURCE_HOST, - EVEL_VF_STATUS_PREP_TERMINATE); - 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_PERFORMANCE * vnic_performance = 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_request_rate_set(measurement, 6); - //evel_measurement_cpu_use_add(measurement, "cpu1", 11.11); - //evel_measurement_cpu_use_add(measurement, "cpu2", 22.22); - evel_measurement_addl_info_add(measurement, "name1", "value1"); - evel_measurement_addl_info_add(measurement, "name2", "value2"); - evel_get_cpu_stats(measurement); - evel_get_disk_stats(measurement); - 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_performance = evel_measurement_new_vnic_performance("eth0", "true"); - - evel_vnic_performance_rx_bcast_pkt_acc_set(vnic_performance, 1000000.023); - evel_vnic_performance_rx_bcast_pkt_delta_set(vnic_performance,1234.767346); - evel_vnic_performance_rx_discard_pkt_acc_set(vnic_performance, 127146784.234738587); - evel_vnic_performance_rx_discard_pkt_delta_set(vnic_performance, 123445); - evel_vnic_performance_rx_error_pkt_acc_set(vnic_performance, 2736448376); - evel_vnic_performance_rx_error_pkt_delta_set(vnic_performance, 3474438764); - evel_vnic_performance_rx_mcast_pkt_acc_set(vnic_performance, 42464676); - evel_vnic_performance_rx_mcast_pkt_delta_set(vnic_performance, 42678657654); - evel_vnic_performance_rx_octets_acc_set(vnic_performance, 47658745); - evel_vnic_performance_rx_octets_delta_set(vnic_performance, 47656465465); - evel_vnic_performance_rx_total_pkt_acc_set(vnic_performance, 4765764654444); - evel_vnic_performance_rx_total_pkt_delta_set(vnic_performance, 4545665656); - evel_vnic_performance_rx_ucast_pkt_acc_set(vnic_performance, 4765745546.); - evel_vnic_performance_rx_ucast_pkt_delta_set(vnic_performance, 4768765.78347856); - evel_vnic_performance_tx_bcast_pkt_acc_set(vnic_performance, 747665.347647); - evel_vnic_performance_tx_bcast_pkt_delta_set(vnic_performance, 3468765.4774); - evel_vnic_performance_tx_discarded_pkt_acc_set(vnic_performance, 53625345.53); - evel_vnic_performance_tx_discarded_pkt_delta_set(vnic_performance, 5465345.72455); - evel_vnic_performance_tx_error_pkt_acc_set(vnic_performance, 7632754.754); - evel_vnic_performance_tx_error_pkt_delta_set(vnic_performance, 34646875444.); - evel_vnic_performance_tx_mcast_pkt_acc_set(vnic_performance, 2734875.5534); - evel_vnic_performance_tx_mcast_pkt_delta_set(vnic_performance, 562346534.654); - evel_vnic_performance_tx_octets_acc_set(vnic_performance, 2785845.76874); - evel_vnic_performance_tx_octets_delta_set(vnic_performance, 76532645.75); - evel_vnic_performance_tx_total_pkt_acc_set(vnic_performance, 652365.5435); - evel_vnic_performance_tx_total_pkt_delta_set(vnic_performance, 754354.456); - evel_vnic_performance_tx_ucast_pkt_acc_set(vnic_performance, 738254835); - evel_vnic_performance_tx_ucast_pkt_delta_set(vnic_performance, 763274); - evel_meas_vnic_performance_add(measurement, vnic_performance); - - vnic_performance = evel_measurement_new_vnic_performance("eth1", "false"); - evel_vnic_performance_rx_mcast_pkt_delta_set(vnic_performance, 42678657654); - evel_vnic_performance_rx_octets_acc_set(vnic_performance, 47658745); - evel_vnic_performance_rx_octets_delta_set(vnic_performance, 47656465465); - evel_vnic_performance_rx_total_pkt_acc_set(vnic_performance, 4765764654444); - evel_vnic_performance_rx_total_pkt_delta_set(vnic_performance, 4545665656); - evel_vnic_performance_rx_ucast_pkt_acc_set(vnic_performance, 4765745546.); - evel_vnic_performance_rx_ucast_pkt_delta_set(vnic_performance, 4768765.78347856); - evel_vnic_performance_tx_bcast_pkt_acc_set(vnic_performance, 747665.347647); - evel_vnic_performance_tx_bcast_pkt_delta_set(vnic_performance, 3468765.4774); - evel_vnic_performance_tx_discarded_pkt_acc_set(vnic_performance, 53625345.53); - evel_meas_vnic_performance_add(measurement, vnic_performance); - - 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_get_mem_stats(measurement); - 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_addl_field_add(mobile_flow, "name1", "value1"); - evel_mobile_flow_addl_field_add(mobile_flow, "name2", "value2"); - evel_mobile_flow_addl_field_add(mobile_flow, "name3", "value3"); - - 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 Heartbeat field event. - *****************************************************************************/ -void demo_heartbeat_field_event(void) -{ - EVENT_HEARTBEAT_FIELD * event = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - event = evel_new_heartbeat_field(3); - if (event != NULL) - { - evel_hrtbt_interval_set(event, 10); - evel_hrtbt_field_addl_field_add(event, "Name1", "Value1"); - evel_hrtbt_field_addl_field_add(event, "Name2", "Value2"); - - 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 heartbeat field failed"); - } - printf(" Processed heartbeat 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", "correlator", "1.0.3.1", "1234", "192.168.1.3","3456"); - if (event != NULL) - { - evel_signaling_addl_info_add(event, "name1", "value1"); - evel_signaling_addl_info_add(event, "name2", "value2"); - evel_signaling_type_set(event, "Signaling"); - 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_signaling_vnfmodule_name_set(event, "vendor_x_module"); - evel_signaling_vnfname_set(event, "vendor_x_vnf"); - 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_filter_set(syslog, "Name1=Value1|Name2=Value2|Name3=Value3"); - evel_syslog_sdid_set(syslog, "u354@876876"); - evel_syslog_severity_set(syslog, "Error"); - 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 VoiceQuality events. - *****************************************************************************/ -void demo_voicequality(void) -{ - EVENT_VOICE_QUALITY * vq = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - /***************************************************************************/ - /* Voice Quality */ - /***************************************************************************/ - vq = evel_new_voice_quality("calleeCodec", "callerCodec", - "correlator", "midrtcp", - "EVEL"); - if (vq != NULL) - { - evel_rc = evel_post_event((EVENT_HEADER *)vq); - 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"); - - vq = evel_new_voice_quality("calleeCodec", "callerCodec", - "correlator", "midrtcp", - "EVEL"); - if (vq != NULL) - { - evel_voice_quality_end_metrics_add(vq, "adjacent", EVEL_SERVICE_ENDPOINT_CALLER, - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,4,15,16,17,18); - evel_voice_quality_end_metrics_add(vq, "adjacent", EVEL_SERVICE_ENDPOINT_CALLEE, - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,4,15,16,17,18); - - evel_voice_quality_vnfmodule_name_set(vq, "vnfmodule"); - evel_voice_quality_vnfname_set(vq, "vFW"); - evel_voice_quality_phone_number_set(vq, "123456789"); - - - evel_rc = evel_post_event((EVENT_HEADER *)vq); - 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) - { - - - char * jsstr = "{" - "\"data1\":[1,2,3,4,5,6,7,8,9]," - "\"data2\":[" - "[3,4,5,6,1]," - "[8,4,5,6,1]," - "[10,4,5,3,61]," - "[3,4,5,6,1]," - "[3,4,5,6,1]," - "[3,4,5,6,1]" - "]" - "}"; - - -char * jsstr2 = "{ \"employee\":{ \"name\":\"John\", \"age\":30, \"city\":\"New York\" } }"; - - evel_other_field_set_namedarraysize(other,50); - evel_other_field_add_namedarray(other,"name1", "disk1", "10000"); - evel_other_field_add_namedarray(other,"name2", "disk2", "20000"); - evel_other_field_add_namedarray(other,"name1", "disk2", "20000"); - evel_other_field_add_namedarray(other,"name1", "disk1", "20000"); - - EVEL_JSON_OBJECT_INSTANCE * njinst = evel_new_jsonobjinstance(jsstr ); - evel_epoch_microsec_set(njinst,9287578586767); - EVEL_INTERNAL_KEY * nkey = evel_new_internal_key("key1"); - evel_internal_key_keyorder_set(nkey , 2); - evel_internal_key_keyvalue_set(nkey , "val1"); - EVEL_INTERNAL_KEY * nkey2= evel_new_internal_key("key2"); - evel_internal_key_keyorder_set(nkey2, 2); - evel_internal_key_keyvalue_set(nkey2, "val2"); - evel_jsonobjinst_add_objectkey(njinst, nkey); - evel_jsonobjinst_add_objectkey(njinst, nkey2); - - EVEL_JSON_OBJECT_INSTANCE * njinst2 = evel_new_jsonobjinstance(jsstr2 ); - evel_epoch_microsec_set(njinst2,927578586767); - - EVEL_JSON_OBJECT * myobj = evel_new_jsonobject("Myjobject"); - evel_jsonobject_objectschema_set(myobj,"jsonschema5.0"); - evel_jsonobject_objectschemaurl_set(myobj,"http://jsonschema5.0.att.com"); - evel_jsonobject_nfsubscribedobjname_set(myobj,"nfobj1"); - evel_jsonobject_nfsubscriptionid_set(myobj,"nfid1234"); - evel_jsonobject_add_jsoninstance(myobj,njinst); - evel_jsonobject_add_jsoninstance(myobj,njinst2); - evel_other_field_add_jsonobj(other,myobj); - - 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"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_demo.h b/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_demo.h deleted file mode 100644 index e3aced4a..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_demo.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef EVEL_DEMO_INCLUDED -#define EVEL_DEMO_INCLUDED - -/**************************************************************************//** - * @file - * Includes for the ECOMP Vendor Event Listener library demo. - * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes software - * developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* IN THE SOFTWARE. - *****************************************************************************/ - - -void *signal_watcher(void *); - -#endif diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.c b/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.c deleted file mode 100644 index 5890dbec..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.c +++ /dev/null @@ -1,632 +0,0 @@ -/**************************************************************************//** - * @file - * Utility to post test control commands to the test_collector testControl API. - * - * This software is a test capability, allowing test cases to trigger - * expected throttling behaviours at the test collector, for automated test - * capabilty. - * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes software - * developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#include <stdlib.h> -#include <string.h> -#include <curl/curl.h> -#include <assert.h> - -#include "evel_test_control.h" -#include "evel_internal.h" /* For MEMORY_CHUNK */ - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp); - -/**************************************************************************//** - * POST provide JSON to the test_collector testControl API. - * - * This function does not take ownership of the json_buffer passed in. - * - * @param json_buffer Pointer to the JSON to POST - * @param json_size The number of bytes to POST - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control(char * const json_buffer, - const int json_size, - const int secure, - const char * fqdn, - const int port) -{ - CURLcode curl_rc = CURLE_OK; - char curl_err_string[CURL_ERROR_SIZE] = "<NULL>"; - - /***************************************************************************/ - /* Get a curl handle. */ - /***************************************************************************/ - CURL * curl_handle = curl_easy_init(); - assert(curl_handle != NULL); - - /***************************************************************************/ - /* Prime the library to give friendly error codes. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, - CURLOPT_ERRORBUFFER, - curl_err_string); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Build and set the testControl API URL. */ - /***************************************************************************/ - char version_string[10] = {0}; - int offset = sprintf(version_string, "%d", EVEL_API_MAJOR_VERSION); - if (EVEL_API_MINOR_VERSION != 0) - { - sprintf(version_string + offset, ".%d", EVEL_API_MINOR_VERSION); - } - char test_control_url[EVEL_MAX_URL_LEN + 1] = {0}; - snprintf(test_control_url, - EVEL_MAX_URL_LEN, - "%s://%s:%d/testControl/v%s/commandList", - secure ? "https" : "http", - fqdn, - port, - version_string); - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_URL, test_control_url); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Some servers don't like requests that are made without a user-agent */ - /* field, so we provide one. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, - CURLOPT_USERAGENT, - "libcurl-agent/1.0"); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Specify that we are going to POST data. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_POST, 1L); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* We want to use our own read function. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_READFUNCTION, read_callback); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* All of our events are JSON encoded. We also suppress the */ - /* Expect: 100-continue header that we would otherwise get since it */ - /* confuses some servers. */ - /***************************************************************************/ - static struct curl_slist * hdr_chunk = NULL; - hdr_chunk = curl_slist_append(hdr_chunk, "Content-type: application/json"); - hdr_chunk = curl_slist_append(hdr_chunk, "Expect:"); - - /***************************************************************************/ - /* Set our custom set of headers. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, hdr_chunk); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Set the timeout for the operation. */ - /***************************************************************************/ - const int TEST_CTRL_TIMEOUT = 2; - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_TIMEOUT, TEST_CTRL_TIMEOUT); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Create a common pointer to pass to our read function, on stack. */ - /***************************************************************************/ - MEMORY_CHUNK tx_chunk = {json_buffer, json_size}; - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_READDATA, &tx_chunk); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Set transmit size. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, - CURLOPT_POSTFIELDSIZE, - tx_chunk.size); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Perform the POST. */ - /***************************************************************************/ - curl_rc = curl_easy_perform(curl_handle); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Shut down the cURL library in a tidy manner. */ - /***************************************************************************/ - curl_easy_cleanup(curl_handle); - - EVEL_EXIT(); -} - -/**************************************************************************//** - * Callback function to provide POST data. - * - * Copy data into the supplied buffer, read_callback::ptr, checking size - * limits. - * - * @returns Number of bytes placed into read_callback::ptr. 0 for EOF. - *****************************************************************************/ -static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp) -{ - size_t rtn = 0; - size_t bytes_to_write = 0; - MEMORY_CHUNK * tx_chunk = (MEMORY_CHUNK *)userp; - - EVEL_ENTER(); - - bytes_to_write = min(size * nmemb, tx_chunk->size); - - if (bytes_to_write > 0) - { - strncpy((char *)ptr, tx_chunk->memory, bytes_to_write); - tx_chunk->memory += bytes_to_write; - tx_chunk->size -= bytes_to_write; - rtn = bytes_to_write; - } - - EVEL_EXIT(); - - return rtn; -} - -/**************************************************************************//** - * POST a pre-set test scenario to the test_collector testControl API. - * - * This function provides various pre-configured scenarios, purely to avoid - * duplicating them elsewhere. - * - * @param scenario The scenario to POST. - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control_scenario(const EVEL_TEST_CONTROL_SCENARIO scenario, - const int secure, - const char * fqdn, - const int port) -{ - const int MAX_JSON = 10000; - char json_buffer[MAX_JSON]; - int json_size = 0; - - EVEL_ENTER(); - - switch (scenario) - { - case TC_RESET_ALL_DOMAINS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"fault\"" - " }" - " }" - " }," - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"measurementsForVfScaling\"" - " }" - " }" - " }," - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"mobileFlow\"" - " }" - " }" - " }," - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"serviceEvents\"" - " }" - " }" - " }," - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"signaling\"" - " }" - " }" - " }," - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"stateChange\"" - " }" - " }" - " }," - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"syslog\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_FAULT_SUPPRESS_FIELDS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedFieldNames\": [" - " \"alarmInterfaceA\"," - " \"alarmAdditionalInformation\"" - " ]," - " \"eventDomain\": \"fault\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_FAULT_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"alarmAdditionalInformation\"," - " \"suppressedNvPairNames\": [" - " \"name1\"," - " \"name2\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"alarmInterfaceA\"" - " ]," - " \"eventDomain\": \"fault\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_FAULT_SUPPRESS_NOTHING: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"fault\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_FAULT_SUPPRESS_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"alarmAdditionalInformation\"," - " \"suppressedNvPairNames\": [" - " \"name1\"," - " \"name2\"" - " ]" - " }" - " ]," - " \"eventDomain\": \"fault\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_MEAS_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"cpuUsageArray\"," - " \"suppressedNvPairNames\": [" - " \"cpu1\"," - " \"cpu3\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"numberOfMediaPortsInUse\"" - " ]," - " \"eventDomain\": \"measurementsForVfScaling\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_MOBILE_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedFieldNames\": [" - " \"radioAccessTechnology\"," - " \"samplingAlgorithm\"" - " ]," - " \"eventDomain\": \"mobileFlow\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_SERVICE_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"additionalFields\"," - " \"suppressedNvPairNames\": [" - " \"Name1\"," - " \"Name3\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"reportingEntityId\"," - " \"eventType\"," - " \"sourceId\"," - " \"midCallRtcp\"," - " \"endOfCallVqmSummaries\"," - " \"marker\"" - " ]," - " \"eventDomain\": \"serviceEvents\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_SIGNALING_SUPPRESS_FIELDS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedFieldNames\": [" - " \"reportingEntityId\"," - " \"eventType\"," - " \"sourceId\"," - " \"localIpAddress\"," - " \"localIpPort\"," - " \"remoteIpAddress\"," - " \"remotePort\"," - " \"compressedSip\"" - " ]," - " \"eventDomain\": \"signaling\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_STATE_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"additionalFields\"," - " \"suppressedNvPairNames\": [" - " \"Name1\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"reportingEntityId\"," - " \"eventType\"," - " \"sourceId\"" - " ]," - " \"eventDomain\": \"stateChange\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_SYSLOG_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"additionalFields\"," - " \"suppressedNvPairNames\": [" - " \"Name1\"," - " \"Name4\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"syslogFacility\"," - " \"syslogProc\"," - " \"syslogProcId\"" - " ]," - " \"eventDomain\": \"syslog\"" - " }" - " }" - " }" - " ]" - "}"); - break; - - case TC_PROVIDE_THROTTLING_SPEC: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " {" - " \"command\": {" - " \"commandType\": \"provideThrottlingState\"" - " }" - " }" - " ]" - "}"); - break; - - default: - break; - } - - if (json_size != 0) - { - evel_test_control(json_buffer, json_size, secure, fqdn, port); - } - - EVEL_EXIT(); -} - -/**************************************************************************//** - * POST a measurement interval change to the test_collector testControl API. - * - * @param interval The measurement interval. - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control_meas_interval(const int interval, - const int secure, - const char * fqdn, - const int port) -{ - const int MAX_JSON = 10000; - char json_buffer[MAX_JSON]; - int json_size = 0; - - EVEL_ENTER(); - - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{\"commandList\": [{\"command\": " - "{\"commandType\": \"measurementIntervalChange\", " - "\"measurementInterval\": %d}}]}", - interval); - evel_test_control(json_buffer, json_size, secure, fqdn, port); - - EVEL_EXIT(); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.cbak b/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.cbak deleted file mode 100644 index 545eabfe..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.cbak +++ /dev/null @@ -1,599 +0,0 @@ -/**************************************************************************//** - * @file - * Utility to post test control commands to the test_collector testControl API. - * - * This software is a test capability, allowing test cases to trigger - * expected throttling behaviours at the test collector, for automated test - * capabilty. - * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes software - * developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#include <stdlib.h> -#include <string.h> -#include <curl/curl.h> -#include <assert.h> - -#include "evel_test_control.h" -#include "evel_internal.h" /* For MEMORY_CHUNK */ - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp); - -/**************************************************************************//** - * POST provide JSON to the test_collector testControl API. - * - * This function does not take ownership of the json_buffer passed in. - * - * @param json_buffer Pointer to the JSON to POST - * @param json_size The number of bytes to POST - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control(char * const json_buffer, - const int json_size, - const int secure, - const char * fqdn, - const int port) -{ - CURLcode curl_rc = CURLE_OK; - char curl_err_string[CURL_ERROR_SIZE] = "<NULL>"; - - /***************************************************************************/ - /* Get a curl handle. */ - /***************************************************************************/ - CURL * curl_handle = curl_easy_init(); - assert(curl_handle != NULL); - - /***************************************************************************/ - /* Prime the library to give friendly error codes. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, - CURLOPT_ERRORBUFFER, - curl_err_string); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Build and set the testControl API URL. */ - /***************************************************************************/ - char version_string[10] = {0}; - int offset = sprintf(version_string, "%d", EVEL_API_MAJOR_VERSION); - if (EVEL_API_MINOR_VERSION != 0) - { - sprintf(version_string + offset, ".%d", EVEL_API_MINOR_VERSION); - } - char test_control_url[EVEL_MAX_URL_LEN + 1] = {0}; - snprintf(test_control_url, - EVEL_MAX_URL_LEN, - "%s://%s:%d/testControl/v%s/commandList", - secure ? "https" : "http", - fqdn, - port, - version_string); - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_URL, test_control_url); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Some servers don't like requests that are made without a user-agent */ - /* field, so we provide one. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, - CURLOPT_USERAGENT, - "libcurl-agent/1.0"); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Specify that we are going to POST data. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_POST, 1L); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* We want to use our own read function. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_READFUNCTION, read_callback); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* All of our events are JSON encoded. We also suppress the */ - /* Expect: 100-continue header that we would otherwise get since it */ - /* confuses some servers. */ - /***************************************************************************/ - static struct curl_slist * hdr_chunk = NULL; - hdr_chunk = curl_slist_append(hdr_chunk, "Content-type: application/json"); - hdr_chunk = curl_slist_append(hdr_chunk, "Expect:"); - - /***************************************************************************/ - /* Set our custom set of headers. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, hdr_chunk); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Set the timeout for the operation. */ - /***************************************************************************/ - const int TEST_CTRL_TIMEOUT = 2; - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_TIMEOUT, TEST_CTRL_TIMEOUT); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Create a common pointer to pass to our read function, on stack. */ - /***************************************************************************/ - MEMORY_CHUNK tx_chunk = {json_buffer, json_size}; - curl_rc = curl_easy_setopt(curl_handle, CURLOPT_READDATA, &tx_chunk); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Set transmit size. */ - /***************************************************************************/ - curl_rc = curl_easy_setopt(curl_handle, - CURLOPT_POSTFIELDSIZE, - tx_chunk.size); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Perform the POST. */ - /***************************************************************************/ - curl_rc = curl_easy_perform(curl_handle); - assert(curl_rc == CURLE_OK); - - /***************************************************************************/ - /* Shut down the cURL library in a tidy manner. */ - /***************************************************************************/ - curl_easy_cleanup(curl_handle); - - EVEL_EXIT(); -} - -/**************************************************************************//** - * Callback function to provide POST data. - * - * Copy data into the supplied buffer, read_callback::ptr, checking size - * limits. - * - * @returns Number of bytes placed into read_callback::ptr. 0 for EOF. - *****************************************************************************/ -static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp) -{ - size_t rtn = 0; - size_t bytes_to_write = 0; - MEMORY_CHUNK * tx_chunk = (MEMORY_CHUNK *)userp; - - EVEL_ENTER(); - - bytes_to_write = min(size * nmemb, tx_chunk->size); - - if (bytes_to_write > 0) - { - strncpy((char *)ptr, tx_chunk->memory, bytes_to_write); - tx_chunk->memory += bytes_to_write; - tx_chunk->size -= bytes_to_write; - rtn = bytes_to_write; - } - - EVEL_EXIT(); - - return rtn; -} - -/**************************************************************************//** - * POST a pre-set test scenario to the test_collector testControl API. - * - * This function provides various pre-configured scenarios, purely to avoid - * duplicating them elsewhere. - * - * @param scenario The scenario to POST. - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control_scenario(const EVEL_TEST_CONTROL_SCENARIO scenario, - const int secure, - const char * fqdn, - const int port) -{ - const int MAX_JSON = 10000; - char json_buffer[MAX_JSON]; - int json_size = 0; - - EVEL_ENTER(); - - switch (scenario) - { - case TC_RESET_ALL_DOMAINS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"fault\"" - " }" - " }," - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"measurementsForVfScaling\"" - " }" - " }," - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"mobileFlow\"" - " }" - " }," - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"serviceEvents\"" - " }" - " }," - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"signaling\"" - " }" - " }," - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"stateChange\"" - " }" - " }," - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"syslog\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_FAULT_SUPPRESS_FIELDS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedFieldNames\": [" - " \"alarmInterfaceA\"," - " \"alarmAdditionalInformation\"" - " ]," - " \"eventDomain\": \"fault\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_FAULT_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"alarmAdditionalInformation\"," - " \"suppressedNvPairNames\": [" - " \"name1\"," - " \"name2\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"alarmInterfaceA\"" - " ]," - " \"eventDomain\": \"fault\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_FAULT_SUPPRESS_NOTHING: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"eventDomain\": \"fault\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_FAULT_SUPPRESS_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"alarmAdditionalInformation\"," - " \"suppressedNvPairNames\": [" - " \"name1\"," - " \"name2\"" - " ]" - " }" - " ]," - " \"eventDomain\": \"fault\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_MEAS_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"cpuUsageArray\"," - " \"suppressedNvPairNames\": [" - " \"cpu1\"," - " \"cpu3\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"numberOfMediaPortsInUse\"," - " \"aggregateCpuUsage\"" - " ]," - " \"eventDomain\": \"measurementsForVfScaling\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_MOBILE_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedFieldNames\": [" - " \"radioAccessTechnology\"," - " \"samplingAlgorithm\"" - " ]," - " \"eventDomain\": \"mobileFlow\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_SERVICE_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"additionalFields\"," - " \"suppressedNvPairNames\": [" - " \"Name1\"," - " \"Name3\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"reportingEntityId\"," - " \"eventType\"," - " \"sourceId\"," - " \"codecSelected\"," - " \"codecSelectedTranscoding\"," - " \"midCallRtcp\"," - " \"endOfCallVqmSummaries\"," - " \"marker\"" - " ]," - " \"eventDomain\": \"serviceEvents\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_SIGNALING_SUPPRESS_FIELDS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedFieldNames\": [" - " \"reportingEntityId\"," - " \"eventType\"," - " \"sourceId\"," - " \"localIpAddress\"," - " \"localIpPort\"," - " \"remoteIpAddress\"," - " \"remotePort\"," - " \"compressedSip\"" - " ]," - " \"eventDomain\": \"signaling\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_STATE_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"additionalFields\"," - " \"suppressedNvPairNames\": [" - " \"Name1\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"reportingEntityId\"," - " \"eventType\"," - " \"sourceId\"" - " ]," - " \"eventDomain\": \"stateChange\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_SYSLOG_SUPPRESS_FIELDS_AND_PAIRS: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"throttlingSpecification\"," - " \"eventDomainThrottleSpecification\": {" - " \"suppressedNvPairsList\": [" - " {" - " \"nvPairFieldName\": \"additionalFields\"," - " \"suppressedNvPairNames\": [" - " \"Name1\"," - " \"Name4\"" - " ]" - " }" - " ]," - " \"suppressedFieldNames\": [" - " \"syslogFacility\"," - " \"syslogProc\"," - " \"syslogProcId\"" - " ]," - " \"eventDomain\": \"syslog\"" - " }" - " }" - " ]" - "}"); - break; - - case TC_PROVIDE_THROTTLING_SPEC: - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{" - " \"commandList\": [" - " \"command\": {" - " \"commandType\": \"provideThrottlingState\"" - " }" - " ]" - "}"); - break; - - default: - break; - } - - if (json_size != 0) - { - evel_test_control(json_buffer, json_size, secure, fqdn, port); - } - - EVEL_EXIT(); -} - -/**************************************************************************//** - * POST a measurement interval change to the test_collector testControl API. - * - * @param interval The measurement interval. - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control_meas_interval(const int interval, - const int secure, - const char * fqdn, - const int port) -{ - const int MAX_JSON = 10000; - char json_buffer[MAX_JSON]; - int json_size = 0; - - EVEL_ENTER(); - - json_size += snprintf( - json_buffer + json_size, - MAX_JSON - json_size, - "{\"commandList\": [\"command\": " - "{\"commandType\": \"measurementIntervalChange\", " - "\"measurementInterval\": %d}]}", - interval); - evel_test_control(json_buffer, json_size, secure, fqdn, port); - - EVEL_EXIT(); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.h b/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.h deleted file mode 100644 index 2e348078..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_demo/evel_test_control.h +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef EVEL_TEST_CONTROL -#define EVEL_TEST_CONTROL -/**************************************************************************//** - * @file - * Utility to post test control commands to the test_collector testControl API. - * - * This software is a test capability, allowing test cases to trigger - * expected throttling behaviours at the test collector, for automated test - * capabilty. - * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes software - * developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -/**************************************************************************//** - * POST provide JSON to the test_collector testControl API. - * - * This function does not take ownership of the json_buffer passed in. - * - * @param json_buffer Pointer to the JSON to POST - * @param json_size The number of bytes to POST - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control(char * const json_buffer, - const int json_size, - const int secure, - const char * fqdn, - const int port); - -typedef enum { - TC_RESET_ALL_DOMAINS, - TC_FAULT_SUPPRESS_FIELDS, - TC_FAULT_SUPPRESS_FIELDS_AND_PAIRS, - TC_FAULT_SUPPRESS_NOTHING, - TC_FAULT_SUPPRESS_PAIRS, - TC_MEAS_SUPPRESS_FIELDS_AND_PAIRS, - TC_MOBILE_SUPPRESS_FIELDS_AND_PAIRS, - TC_SIGNALING_SUPPRESS_FIELDS, - TC_SERVICE_SUPPRESS_FIELDS_AND_PAIRS, - TC_STATE_SUPPRESS_FIELDS_AND_PAIRS, - TC_SYSLOG_SUPPRESS_FIELDS_AND_PAIRS, - TC_PROVIDE_THROTTLING_SPEC -} EVEL_TEST_CONTROL_SCENARIO; - -/**************************************************************************//** - * POST a pre-set test scenario to the test_collector testControl API. - * - * This function provides various pre-configured scenarios, purely to avoid - * duplicating them elsewhere. - * - * @param scenario The scenario to POST. - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control_scenario(const EVEL_TEST_CONTROL_SCENARIO scenario, - const int secure, - const char * fqdn, - const int port); - -/**************************************************************************//** - * POST a measurement interval change to the test_collector testControl API. - * - * @param interval The measurement interval. - * @param secure Whether to use HTTPS (0=HTTP, 1=HTTPS) - * @param fqdn The test control API FQDN or IP address. - * @param port The test control API port. - *****************************************************************************/ -void evel_test_control_meas_interval(const int interval, - const int secure, - const char * fqdn, - const int port); - -#endif diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/a.out b/vnfs/VES5.0/evel/evel-library/code/evel_library/a.out Binary files differdeleted file mode 100755 index 10ce4e39..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/a.out +++ /dev/null diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/double_list.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/double_list.c index a480accb..6ce8a803 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/double_list.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/double_list.c @@ -1,3 +1,21 @@ + +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * A simple double-linked list. @@ -5,37 +23,7 @@ * @note No thread protection so you will need to use appropriate * synchronization if use spans multiple threads. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <assert.h> #include <malloc.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/double_list.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/double_list.h index e8bdd742..5cf7e1af 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/double_list.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/double_list.h @@ -1,5 +1,19 @@ -#ifndef DOUBLE_LIST_INCLUDED -#define DOUBLE_LIST_INCLUDED +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ /**************************************************************************//** * @file @@ -8,37 +22,10 @@ * @note No thread protection so you will need to use appropriate * synchronization if use spans multiple threads. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*****************************************************************************/ + ****************************************************************************/ + +#ifndef DOUBLE_LIST_INCLUDED +#define DOUBLE_LIST_INCLUDED typedef struct dlist_item { diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.c index 3678d7d0..bf8a4b2a 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.c @@ -1,3 +1,20 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * Source module isolating the ECOMP Vendor Event Listener (EVEL) API. @@ -9,37 +26,7 @@ * * The API's encoding into JSON. * * The API's transport over HTTP/HTTPS. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h index c824ca06..5d63e418 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h @@ -1,5 +1,20 @@ -#ifndef EVEL_INCLUDED -#define EVEL_INCLUDED +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * Header for EVEL library @@ -11,38 +26,10 @@ * Zero return value is success (::EVEL_SUCCESS), non-zero is failure and will * be one of ::EVEL_ERR_CODES. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ +#ifndef EVEL_INCLUDED +#define EVEL_INCLUDED #ifdef __cplusplus extern "C" { #endif diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c index 9fbf3926..817e2288 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c @@ -1,40 +1,27 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * Implementation of EVEL functions relating to Event Headers - since * Heartbeats only contain the Event Header, the Heartbeat factory function is * here too. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event_mgr.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event_mgr.c index 0cc049f5..de4296df 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event_mgr.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event_mgr.c @@ -1,3 +1,20 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * Event Manager @@ -5,37 +22,7 @@ * Simple event manager that is responsible for taking events (Heartbeats, * Faults and Measurements) from the ring-buffer and posting them to the API. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_fault.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_fault.c index ddf6c0e6..7cbadfe6 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_fault.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_fault.c @@ -1,38 +1,25 @@ -/**************************************************************************//** - * @file - * Implementation of EVEL functions relating to the Fault. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. + * 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 * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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. * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + ****************************************************************************/ + +/**************************************************************************//** + * @file + * Implementation of EVEL functions relating to the Fault. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_heartbeat_fields.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_heartbeat_fields.c index b1131449..73773edc 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_heartbeat_fields.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_heartbeat_fields.c @@ -1,36 +1,25 @@ -/**************************************************************************//** - * @file - * Implementation of EVEL functions relating to Heartbeat fields. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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 * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ + +/**************************************************************************//** + * @file + * Implementation of EVEL functions relating to Heartbeat fields. + * + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal.h index 2da246b3..f057fe87 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal.h @@ -1,6 +1,19 @@ -#ifndef EVEL_INTERNAL_INCLUDED -#define EVEL_INTERNAL_INCLUDED - +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ /**************************************************************************//** * @file * EVEL internal definitions. @@ -8,37 +21,10 @@ * These are internal definitions which need to be shared between modules * within the library but are not intended for external consumption. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ + +#ifndef EVEL_INTERNAL_INCLUDED +#define EVEL_INTERNAL_INCLUDED #include "evel.h" diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal_event.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal_event.c index 8fe15733..511c7d51 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal_event.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal_event.c @@ -1,3 +1,20 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * Implementation of EVEL functions relating to the internal events. @@ -8,37 +25,7 @@ * processing in an orderly fashion. At present the only use is to initiate an * orderly shutdown of the Event Handler thread. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_json_buffer.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_json_buffer.c index e0e119da..b6026e20 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_json_buffer.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_json_buffer.c @@ -1,38 +1,25 @@ -/**************************************************************************//** - * @file - * Source module relating to internal EVEL_JSON_BUFFER manipulation functions. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. + * 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 * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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. * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + ****************************************************************************/ + +/**************************************************************************//** + * @file + * Source module relating to internal EVEL_JSON_BUFFER manipulation functions. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <assert.h> #include <string.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_jsonobject.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_jsonobject.c index 65f5226e..47c1cb21 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_jsonobject.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_jsonobject.c @@ -1,36 +1,25 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * Implementation of EVEL functions relating to json_object. * - * License - * ------- - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_logging.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_logging.c index 6dabc638..5a44f073 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_logging.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_logging.c @@ -1,38 +1,24 @@ -/**************************************************************************//** - * @file - * Wrapper for event logging built on syslog. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. + * 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 * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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. * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + ****************************************************************************/ +/**************************************************************************//** + * @file + * Wrapper for event logging built on syslog. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> @@ -178,4 +164,4 @@ void log_debug(EVEL_LOG_LEVELS level, char * format, ...) vsyslog(priority, syslog_fmt, largs); va_end(largs); } -}
\ No newline at end of file +} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_mobile_flow.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_mobile_flow.c index 1d4adb2e..0716e45f 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_mobile_flow.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_mobile_flow.c @@ -1,36 +1,24 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ /**************************************************************************//** * @file * Implementation of EVEL functions relating to the Mobile Flow. * - * License - * ------- - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_option.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_option.c index d9d9e607..7d53e8f1 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_option.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_option.c @@ -1,38 +1,24 @@ -/**************************************************************************//** - * @file - * Source module relating to EVEL_OPTION_ types. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. + * 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 * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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. * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + ****************************************************************************/ +/**************************************************************************//** + * @file + * Source module relating to EVEL_OPTION_ types. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <assert.h> #include <stdlib.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c index f52e1888..447ac9a4 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c @@ -1,36 +1,25 @@ -/**************************************************************************//** - * @file - * Implementation of EVEL functions relating to Other. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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 * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ + +/**************************************************************************//** + * @file + * Implementation of EVEL functions relating to Other. + * + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_reporting_measurement.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_reporting_measurement.c index 265d9899..a7397237 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_reporting_measurement.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_reporting_measurement.c @@ -1,3 +1,20 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * Implementation of EVEL functions relating to the Measurement for VF @@ -8,38 +25,7 @@ * less-onerous event reporting mechanism because it avoids having to * return all the platform statistics which are mandatory in the * **measurementsForVfScaling** event. - * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c index 2ad5e66d..f1b38e3c 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c @@ -1,38 +1,24 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ /**************************************************************************//** * @file * Implementation of EVEL functions relating to the Measurement. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_sipsignaling.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_sipsignaling.c index 66d01cb4..09c95cd0 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_sipsignaling.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_sipsignaling.c @@ -1,36 +1,24 @@ -/**************************************************************************//** - * @file - * Implementation of EVEL functions relating to Signaling. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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 * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ +/**************************************************************************//** + * @file + * Implementation of EVEL functions relating to Signaling. + * + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_state_change.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_state_change.c index 11a1ea24..c9de5065 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_state_change.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_state_change.c @@ -1,36 +1,24 @@ -/**************************************************************************//** - * @file - * Implementation of EVEL functions relating to the State Change. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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 * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ +/**************************************************************************//** + * @file + * Implementation of EVEL functions relating to the State Change. + * + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_strings.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_strings.c index 33375f3e..2cd4ee75 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_strings.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_strings.c @@ -1,36 +1,24 @@ -/**************************************************************************//** - * @file - * Implementation of EVEL functions to convert common enum types to strings. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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 * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ +/**************************************************************************//** + * @file + * Implementation of EVEL functions to convert common enum types to strings. + * + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_syslog.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_syslog.c index b1267065..fb22df9f 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_syslog.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_syslog.c @@ -1,36 +1,24 @@ -/**************************************************************************//** - * @file - * Implementation of EVEL functions relating to the Syslog. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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 * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ +/**************************************************************************//** + * @file + * Implementation of EVEL functions relating to the Syslog. + * + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_throttle.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_throttle.c index 351c7da7..63277419 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_throttle.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_throttle.c @@ -1,3 +1,20 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + /**************************************************************************//** * @file * Event Manager @@ -5,37 +22,7 @@ * Simple event manager that is responsible for taking events (Heartbeats, * Faults and Measurements) from the ring-buffer and posting them to the API. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*****************************************************************************/ + ****************************************************************************/ #define _GNU_SOURCE #include <string.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_throttle.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_throttle.h index 5f02cd2f..c97b3c37 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_throttle.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_throttle.h @@ -1,6 +1,19 @@ -#ifndef EVEL_THROTTLE_INCLUDED -#define EVEL_THROTTLE_INCLUDED - +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ /**************************************************************************//** * @file * EVEL throttle definitions. @@ -9,37 +22,10 @@ * are required within the library but are not intended for external * consumption. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ + +#ifndef EVEL_THROTTLE_INCLUDED +#define EVEL_THROTTLE_INCLUDED #include "evel_internal.h" #include "jsmn.h" diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_voicequality.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_voicequality.c index b99cfbb6..a71a5f61 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_voicequality.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_voicequality.c @@ -1,38 +1,24 @@ -/**************************************************************************//** - * @file - * Implementation of EVEL functions relating to the Voice Quality. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. + * 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 * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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. * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + ****************************************************************************/ +/**************************************************************************//** + * @file + * Implementation of EVEL functions relating to the Voice Quality. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.c index 9dc5cba3..0e2f7641 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.c @@ -1,3 +1,19 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ /**************************************************************************//** * @file * A simple Hashtable. @@ -5,37 +21,7 @@ * @note No thread protection so you will need to use appropriate * synchronization if use spans multiple threads. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <limits.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h index 6be61375..3f4febef 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/hashtable.h @@ -1,3 +1,20 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + #ifndef HASHTABLE_INCLUDED #define HASHTABLE_INCLUDED @@ -8,37 +25,7 @@ * @note No thread protection so you will need to use appropriate * synchronization if use spans multiple threads. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*****************************************************************************/ + ****************************************************************************/ typedef struct entry_s { char *key; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/jsmn.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/jsmn.c index e7765eb1..f374a570 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/jsmn.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/jsmn.c @@ -1,3 +1,20 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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 "jsmn.h" /** diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/jsmn.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/jsmn.h index 01ca99c8..4ae6d9b4 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/jsmn.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/jsmn.h @@ -1,3 +1,20 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + #ifndef __JSMN_H_ #define __JSMN_H_ diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/license.md b/vnfs/VES5.0/evel/evel-library/code/evel_library/license.md index 9851dcac..95e459a6 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/license.md +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/license.md @@ -8,33 +8,19 @@ This Licensing section describes licensing of IPR in the EVEL Library. ## EVEL Library {#lic_evel} -Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: This product includes - software developed by the AT&T. -4. Neither the name of AT&T nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright © 2017 AT&T Intellectual Property. All rights reserved. + +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. ## libcurl {#lic_libcurl} @@ -92,4 +78,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -
\ No newline at end of file + diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.c index dfdca052..11fef1bf 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.c @@ -1,38 +1,23 @@ -/**************************************************************************//** - * @file - * Wrap the OpenStack metadata service. - * - * License - * ------- +/*************************************************************************//** * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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 * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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. * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ +/**************************************************************************//** + * @file + * Wrap the OpenStack metadata service. + ****************************************************************************/ #include <string.h> #include <assert.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.h index d9d0cc1a..1ee44092 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/metadata.h @@ -1,41 +1,27 @@ #ifndef METADATA_INCLUDED #define METADATA_INCLUDED -/**************************************************************************//** - * @file - * Wrap the OpenStack metadata service. +/*************************************************************************//** * - * License - * ------- + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. + * 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 * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: + * 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. * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ +/**************************************************************************//** + * @file + * Wrap the OpenStack metadata service. + * + ****************************************************************************/ #include "evel.h" diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/ring_buffer.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/ring_buffer.c index 3795ed36..8080e020 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/ring_buffer.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/ring_buffer.c @@ -1,38 +1,24 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ /**************************************************************************//** * @file * A ring buffer with multi-threaded synchronization. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <assert.h> #include <malloc.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/ring_buffer.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/ring_buffer.h index c6870508..1236b78b 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/ring_buffer.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/ring_buffer.h @@ -1,41 +1,28 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ + #ifndef RING_BUFFER_INCLUDED #define RING_BUFFER_INCLUDED /**************************************************************************//** * @file - * A ring buffer. - * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes - * software developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + * Ring buffer to handle message requests. + * + ****************************************************************************/ #include <pthread.h> diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/01-hello-world/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/01-hello-world/Makefile deleted file mode 100644 index eae417d8..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/01-hello-world/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -CC=gcc - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world hello_evel_world.c - diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/01-hello-world/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/01-hello-world/hello_evel_world.c deleted file mode 100644 index 4048c4ea..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/01-hello-world/hello_evel_world.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> - -int main(int argc, char ** argv) -{ - printf("Hello AT&T world!!!\n"); - return 0; -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/02-library-link/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/02-library-link/Makefile deleted file mode 100644 index a6013de3..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/02-library-link/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -CC=gcc - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/02-library-link/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/02-library-link/hello_evel_world.c deleted file mode 100644 index ab1ae83e..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/02-library-link/hello_evel_world.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <stdio.h> - -int main(int argc, char ** argv) -{ - printf("Hello AT&T Vendor Event world!\n"); - return 0; -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/03-include-header/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/03-include-header/Makefile deleted file mode 100644 index 1fccf915..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/03-include-header/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/03-include-header/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/03-include-header/hello_evel_world.c deleted file mode 100644 index 1a80aa15..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/03-include-header/hello_evel_world.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <stdio.h> - -#include "evel.h" - -int main(int argc, char ** argv) -{ - printf("Hello AT&T Vendor Event world!\n"); - return 0; -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/04-basic-lifecycle/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/04-basic-lifecycle/Makefile deleted file mode 100644 index 1fccf915..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/04-basic-lifecycle/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/04-basic-lifecycle/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/04-basic-lifecycle/hello_evel_world.c deleted file mode 100644 index 169a7e4f..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/04-basic-lifecycle/hello_evel_world.c +++ /dev/null @@ -1,69 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 3) - { - fprintf(stderr, "Usage: %s <FQDN>|<IP address> <port>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - "", /* Username */ - "", /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("Initialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/05-raise-event/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/05-raise-event/Makefile deleted file mode 100644 index 1fccf915..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/05-raise-event/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/05-raise-event/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/05-raise-event/hello_evel_world.c deleted file mode 100644 index 298665bf..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/05-raise-event/hello_evel_world.c +++ /dev/null @@ -1,96 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - EVENT_FAULT * fault = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 3) - { - fprintf(stderr, "Usage: %s <FQDN>|<IP address> <port>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - "", /* Username */ - "", /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a fault */ - /***************************************************************************/ - fault = evel_new_fault("My alarm condition", - "It broke very badly", - EVEL_PRIORITY_NORMAL, - EVEL_SEVERITY_MAJOR, - EVEL_SOURCE_HOST, - EVEL_VF_STATUS_PREP_TERMINATE); - if (fault != NULL) - { - printf("New fault created...\n"); - evel_rc = evel_post_event((EVENT_HEADER *)fault); - if (evel_rc == EVEL_SUCCESS) - { - printf("Fault posted OK!\n"); - } - else - { - printf("Post failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("New fault failed (%s)\n", evel_error_string()); - } - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/06-username-password/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/06-username-password/Makefile deleted file mode 100644 index 977c0732..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/06-username-password/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: - ./hello_evel_world localhost 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/06-username-password/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/06-username-password/hello_evel_world.c deleted file mode 100644 index 37ab5cb0..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/06-username-password/hello_evel_world.c +++ /dev/null @@ -1,98 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - EVENT_FAULT * fault = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a fault */ - /***************************************************************************/ - fault = evel_new_fault("My alarm condition", - "It broke very badly", - EVEL_PRIORITY_NORMAL, - EVEL_SEVERITY_MAJOR, - EVEL_SOURCE_HOST, - EVEL_VF_STATUS_PREP_TERMINATE); - if (fault != NULL) - { - printf("New fault created...\n"); - evel_rc = evel_post_event((EVENT_HEADER *)fault); - if (evel_rc == EVEL_SUCCESS) - { - printf("Fault posted OK!\n"); - } - else - { - printf("Post failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("New fault failed (%s)\n", evel_error_string()); - } - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/07-raise-measurement/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/07-raise-measurement/Makefile deleted file mode 100644 index 6acfdd42..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/07-raise-measurement/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world localhost 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/07-raise-measurement/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/07-raise-measurement/hello_evel_world.c deleted file mode 100644 index 03b8c145..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/07-raise-measurement/hello_evel_world.c +++ /dev/null @@ -1,196 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_measurement(void); - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a measurement */ - /***************************************************************************/ - demo_measurement(); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * Create and send a measurement event. - *****************************************************************************/ -void demo_measurement(void) -{ - EVENT_MEASUREMENT * measurement = NULL; - MEASUREMENT_LATENCY_BUCKET * bucket = NULL; - MEASUREMENT_VNIC_PERFORMANCE * vnic_use = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - MEASUREMENT_CPU_USE * cpu_use = NULL; - - /***************************************************************************/ - /* Measurement */ - /***************************************************************************/ - measurement = evel_new_measurement(5.5); - if (measurement != NULL) - { - printf("New measurement created...\n"); - 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_request_rate_set(measurement, 6); - - cpu_use = evel_measurement_new_cpu_use_add(measurement, "cpu1", 11.11); - evel_measurement_cpu_use_idle_set(cpu_use,22.22); - evel_measurement_cpu_use_interrupt_set(cpu_use,33.33); - evel_measurement_cpu_use_nice_set(cpu_use,44.44); - evel_measurement_cpu_use_softirq_set(cpu_use,55.55); - evel_measurement_cpu_use_steal_set(cpu_use,66.66); - evel_measurement_cpu_use_system_set(cpu_use,77.77); - evel_measurement_cpu_use_usageuser_set(cpu_use,88.88); - evel_measurement_cpu_use_wait_set(cpu_use,99.99); - - cpu_use = evel_measurement_new_cpu_use_add(measurement, "cpu2", 22.22); - evel_measurement_cpu_use_idle_set(cpu_use,12.22); - evel_measurement_cpu_use_interrupt_set(cpu_use,33.33); - evel_measurement_cpu_use_nice_set(cpu_use,44.44); - evel_measurement_cpu_use_softirq_set(cpu_use,55.55); - evel_measurement_cpu_use_steal_set(cpu_use,66.66); - evel_measurement_cpu_use_system_set(cpu_use,77.77); - evel_measurement_cpu_use_usageuser_set(cpu_use,88.88); - evel_measurement_cpu_use_wait_set(cpu_use,19.99); - - 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_measurement_new_vnic_performance("eth0", "true"); - evel_vnic_performance_rx_octets_delta_set(vnic_use, 47656465465); - evel_vnic_performance_rx_total_pkt_acc_set(vnic_use, 4765764654444); - evel_vnic_performance_rx_total_pkt_delta_set(vnic_use, 4545665656); - evel_vnic_performance_rx_ucast_pkt_acc_set(vnic_use, 4765745546.); - evel_vnic_performance_rx_ucast_pkt_delta_set(vnic_use, 4768765.78347856); - evel_vnic_performance_tx_bcast_pkt_acc_set(vnic_use, 747665.347647); - evel_vnic_performance_tx_bcast_pkt_delta_set(vnic_use, 3468765.4774); - evel_vnic_performance_tx_discarded_pkt_acc_set(vnic_use, 53625345.53); - evel_vnic_performance_tx_discarded_pkt_delta_set(vnic_use, 5465345.72455); - evel_meas_vnic_performance_add(measurement, vnic_use); - - vnic_use = evel_measurement_new_vnic_performance("eth1", "false"); - evel_vnic_performance_rx_total_pkt_acc_set(vnic_use, 4765764654444); - evel_vnic_performance_rx_total_pkt_delta_set(vnic_use, 4545665656); - evel_vnic_performance_rx_ucast_pkt_acc_set(vnic_use, 4765745546.); - evel_vnic_performance_rx_ucast_pkt_delta_set(vnic_use, 4768765.78347856); - evel_vnic_performance_tx_bcast_pkt_acc_set(vnic_use, 747665.347647); - evel_meas_vnic_performance_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"); - - evel_rc = evel_post_event((EVENT_HEADER *)measurement); - if (evel_rc == EVEL_SUCCESS) - { - printf("Post OK!\n"); - } - else - { - printf("Post Failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("Failed to create event (%s)\n", evel_error_string()); - } - - printf(" Processed Measurement\n"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/08-raise-mobile-flow/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/08-raise-mobile-flow/Makefile deleted file mode 100644 index 6acfdd42..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/08-raise-mobile-flow/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world localhost 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/08-raise-mobile-flow/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/08-raise-mobile-flow/hello_evel_world.c deleted file mode 100644 index 597d5da0..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/08-raise-mobile-flow/hello_evel_world.c +++ /dev/null @@ -1,201 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_mobile_flow(void); - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a measurement */ - /***************************************************************************/ - demo_mobile_flow(); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * 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; - - 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) - { - printf("Post OK!\n"); - } - else - { - printf("Post Failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("Failed to create event (%s)\n", evel_error_string()); - } - printf(" Processed full Mobile Flow\n"); - } - else - { - printf("New GTP Per Flow Metrics failed\n"); - } -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/09-raise-state-change/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/09-raise-state-change/Makefile deleted file mode 100644 index 6acfdd42..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/09-raise-state-change/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world localhost 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/09-raise-state-change/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/09-raise-state-change/hello_evel_world.c deleted file mode 100644 index db0ab8b6..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/09-raise-state-change/hello_evel_world.c +++ /dev/null @@ -1,117 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_state_change(void); - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a state change */ - /***************************************************************************/ - demo_state_change(); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * 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) - { - printf("Post OK!\n"); - } - else - { - printf("Post Failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("Failed to create event (%s)\n", evel_error_string()); - } - - printf(" Processed State Change\n"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/10-raise-syslog/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/10-raise-syslog/Makefile deleted file mode 100644 index 6acfdd42..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/10-raise-syslog/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world localhost 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/10-raise-syslog/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/10-raise-syslog/hello_evel_world.c deleted file mode 100644 index 7557743e..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/10-raise-syslog/hello_evel_world.c +++ /dev/null @@ -1,117 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_syslog(void); - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a syslog */ - /***************************************************************************/ - demo_syslog(); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * Create and send a syslog event. - *****************************************************************************/ -void demo_syslog(void) -{ - EVENT_SYSLOG * syslog = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - 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_filter_set(syslog, "Name1=Value1|Name2=Value2|Name3=Value3"); - evel_rc = evel_post_event((EVENT_HEADER *)syslog); - if (evel_rc == EVEL_SUCCESS) - { - printf("Post OK!\n"); - } - else - { - printf("Post Failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("Failed to create event (%s)\n", evel_error_string()); - } - - printf(" Processed Syslog\n"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/11-raise-other/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/11-raise-other/Makefile deleted file mode 100644 index 6acfdd42..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/11-raise-other/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world localhost 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/11-raise-other/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/11-raise-other/hello_evel_world.c deleted file mode 100644 index b03260b9..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/11-raise-other/hello_evel_world.c +++ /dev/null @@ -1,118 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_other(void); - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a state change */ - /***************************************************************************/ - demo_other(); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * Create and send an other event. - *****************************************************************************/ -void demo_other(void) -{ - EVENT_OTHER * other = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - 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) - { - printf("Post OK!\n"); - } - else - { - printf("Post Failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("Failed to create event (%s)\n", evel_error_string()); - } - - printf(" Processed Other\n"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/12-suppress-fault-fields/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/12-suppress-fault-fields/Makefile deleted file mode 100644 index ee8c3461..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/12-suppress-fault-fields/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library -EVEL_DEMO=$(CURDIR)/../../evel_demo -TEST_CONTROL=$(EVEL_DEMO)/evel_test_control.c - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c $(TEST_CONTROL) - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - -I $(EVEL_DEMO) \ - hello_evel_world.c \ - $(TEST_CONTROL) \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world 127.0.0.1 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/12-suppress-fault-fields/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/12-suppress-fault-fields/hello_evel_world.c deleted file mode 100644 index 8943d57b..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/12-suppress-fault-fields/hello_evel_world.c +++ /dev/null @@ -1,180 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" -#include "evel_test_control.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_heartbeat(); -static void demo_fault(void); - -int main(int argc, char ** argv) -{ - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - char * api_fqdn = argv[1]; - int api_port = atoi(argv[2]); - int api_secure = 0; - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(api_fqdn, /* FQDN */ - api_port, /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - api_secure, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Raise a fault. */ - /***************************************************************************/ - printf("Raise normal fault ...\n"); - fflush(stdout); - demo_fault(); - sleep(1); - - /***************************************************************************/ - /* Ask for suppression of alarmInterfaceA and alarmAdditionalInformation. */ - /***************************************************************************/ - printf("TestControl: test collector suppress fault fields\n"); - fflush(stdout); - evel_test_control_scenario(TC_FAULT_SUPPRESS_FIELDS, - api_secure, - api_fqdn, - api_port); - sleep(1); - - /***************************************************************************/ - /* Heartbeat to pick up the suppression change. */ - /***************************************************************************/ - demo_heartbeat(); - - /***************************************************************************/ - /* Raise the same fault. */ - /***************************************************************************/ - printf("Raise normal fault ...\n"); - fflush(stdout); - demo_fault(); - sleep(1); - - /***************************************************************************/ - /* Ask for removal of fault suppression. */ - /***************************************************************************/ - printf("TestControl: test collector remove fault suppression\n"); - fflush(stdout); - evel_test_control_scenario(TC_FAULT_SUPPRESS_NOTHING, - api_secure, - api_fqdn, - api_port); - sleep(1); - - /***************************************************************************/ - /* Heartbeat to pick up the suppression change. */ - /***************************************************************************/ - demo_heartbeat(); - - /***************************************************************************/ - /* Raise the same fault. */ - /***************************************************************************/ - printf("Raise normal fault ...\n"); - fflush(stdout); - demo_fault(); - sleep(1); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * Create and send a heatbeat. - *****************************************************************************/ -void demo_heartbeat() -{ - EVENT_HEADER * heartbeat = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } -} - -/**************************************************************************//** - * Create and send a fault event. - *****************************************************************************/ -void demo_fault(void) -{ - EVENT_FAULT * fault = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - fault = evel_new_fault("My alarm condition", - "It broke very badly", - EVEL_PRIORITY_NORMAL, - EVEL_SEVERITY_MAJOR, - EVEL_SOURCE_HOST, - EVEL_VF_STATUS_PREP_TERMINATE); - 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_fault_addl_info_add(fault, "name3", "value3"); - evel_fault_addl_info_add(fault, "name4", "value4"); - evel_rc = evel_post_event((EVENT_HEADER *)fault); - if (evel_rc == EVEL_SUCCESS) - { - printf("Post OK!\n"); - } - else - { - printf("Post Failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("Failed to create event (%s)\n", evel_error_string()); - } - - printf(" Processed Fault\n"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/13-suppress-fault-pairs/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/13-suppress-fault-pairs/Makefile deleted file mode 100644 index ee8c3461..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/13-suppress-fault-pairs/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library -EVEL_DEMO=$(CURDIR)/../../evel_demo -TEST_CONTROL=$(EVEL_DEMO)/evel_test_control.c - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c $(TEST_CONTROL) - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - -I $(EVEL_DEMO) \ - hello_evel_world.c \ - $(TEST_CONTROL) \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world 127.0.0.1 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/13-suppress-fault-pairs/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/13-suppress-fault-pairs/hello_evel_world.c deleted file mode 100644 index 625daa9c..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/13-suppress-fault-pairs/hello_evel_world.c +++ /dev/null @@ -1,181 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" -#include "evel_test_control.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_heartbeat(); -static void demo_fault(void); - -int main(int argc, char ** argv) -{ - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - char * api_fqdn = argv[1]; - int api_port = atoi(argv[2]); - int api_secure = 0; - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(api_fqdn, /* FQDN */ - api_port, /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - api_secure, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Raise a fault. */ - /***************************************************************************/ - printf("Raise normal fault ...\n"); - fflush(stdout); - demo_fault(); - sleep(1); - - /***************************************************************************/ - /* Ask for suppression of pairs (under "alarmAdditionalInformation") with */ - /* names "name1" and "name2". */ - /***************************************************************************/ - printf("TestControl: test collector suppress fault pairs\n"); - fflush(stdout); - evel_test_control_scenario(TC_FAULT_SUPPRESS_PAIRS, - api_secure, - api_fqdn, - api_port); - sleep(1); - - /***************************************************************************/ - /* Heartbeat to pick up the suppression change. */ - /***************************************************************************/ - demo_heartbeat(); - - /***************************************************************************/ - /* Raise the same fault. */ - /***************************************************************************/ - printf("Raise normal fault ...\n"); - fflush(stdout); - demo_fault(); - sleep(1); - - /***************************************************************************/ - /* Ask for removal of fault suppression. */ - /***************************************************************************/ - printf("TestControl: test collector remove fault suppression\n"); - fflush(stdout); - evel_test_control_scenario(TC_FAULT_SUPPRESS_NOTHING, - api_secure, - api_fqdn, - api_port); - sleep(1); - - /***************************************************************************/ - /* Heartbeat to pick up the suppression change. */ - /***************************************************************************/ - demo_heartbeat(); - - /***************************************************************************/ - /* Raise the same fault. */ - /***************************************************************************/ - printf("Raise normal fault ...\n"); - fflush(stdout); - demo_fault(); - sleep(1); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * Create and send a heatbeat. - *****************************************************************************/ -void demo_heartbeat() -{ - EVENT_HEADER * heartbeat = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } -} - -/**************************************************************************//** - * Create and send a fault event. - *****************************************************************************/ -void demo_fault(void) -{ - EVENT_FAULT * fault = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - fault = evel_new_fault("My alarm condition", - "It broke very badly", - EVEL_PRIORITY_NORMAL, - EVEL_SEVERITY_MAJOR, - EVEL_SOURCE_HOST, - EVEL_VF_STATUS_PREP_TERMINATE); - 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_fault_addl_info_add(fault, "name3", "value3"); - evel_fault_addl_info_add(fault, "name4", "value4"); - evel_rc = evel_post_event((EVENT_HEADER *)fault); - if (evel_rc == EVEL_SUCCESS) - { - printf("Post OK!\n"); - } - else - { - printf("Post Failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("Failed to create event (%s)\n", evel_error_string()); - } - - printf(" Processed Fault\n"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/14-measurement-interval/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/14-measurement-interval/Makefile deleted file mode 100644 index ee8c3461..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/14-measurement-interval/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library -EVEL_DEMO=$(CURDIR)/../../evel_demo -TEST_CONTROL=$(EVEL_DEMO)/evel_test_control.c - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c $(TEST_CONTROL) - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - -I $(EVEL_DEMO) \ - hello_evel_world.c \ - $(TEST_CONTROL) \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world 127.0.0.1 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/14-measurement-interval/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/14-measurement-interval/hello_evel_world.c deleted file mode 100644 index 269262aa..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/14-measurement-interval/hello_evel_world.c +++ /dev/null @@ -1,293 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sys/time.h> - -#include "evel.h" -#include "evel_test_control.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_heartbeat(); -static void demo_measurement(const int interval); - -unsigned long long epoch_start = 0; - -int main(int argc, char ** argv) -{ - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - char * api_fqdn = argv[1]; - int api_port = atoi(argv[2]); - int api_secure = 0; - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(api_fqdn, /* FQDN */ - api_port, /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - api_secure, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Work out a start time for measurements, and sleep for initial period. */ - /***************************************************************************/ - int sleep_time = 1; - struct timeval tv_start; - gettimeofday(&tv_start, NULL); - epoch_start = tv_start.tv_usec + 1000000 * tv_start.tv_sec; - sleep(sleep_time); - - int index; - for (index = 0; index < 10; index++) - { - /*************************************************************************/ - /* On the second and fifth iteration, get the test_collector to change */ - /* the interval. */ - /*************************************************************************/ - if (index == 2) - { - printf("TestControl: measurement interval -> 2s\n"); - evel_test_control_meas_interval(2, api_secure, api_fqdn, api_port); - } - if (index == 5) - { - printf("TestControl: measurement interval -> 5s\n"); - evel_test_control_meas_interval(5, api_secure, api_fqdn, api_port); - } - - /*************************************************************************/ - /* Heartbeat to pick up the suppression change. */ - /*************************************************************************/ - demo_heartbeat(); - - /*************************************************************************/ - /* Raise a measurement and sleep. */ - /*************************************************************************/ - printf("Report measurements\n"); - fflush(stdout); - demo_measurement(sleep_time); - printf("Sleeping for %ds\n", sleep_time); - fflush(stdout); - sleep(sleep_time); - - /*************************************************************************/ - /* Update measurement interval. */ - /*************************************************************************/ - int measurement_interval; - measurement_interval = evel_get_measurement_interval(); - if (measurement_interval == EVEL_MEASUREMENT_INTERVAL_UKNOWN) - { - sleep_time = 1; - } - else - { - sleep_time = measurement_interval; - } - printf("EVEL measurement interval = %d\n\n", measurement_interval); - } - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * Create and send a heatbeat. - *****************************************************************************/ -void demo_heartbeat() -{ - EVENT_HEADER * heartbeat = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } -} - -/**************************************************************************//** - * Create and send a measurement event. - *****************************************************************************/ -void demo_measurement(const int interval) -{ - EVENT_MEASUREMENT * measurement = NULL; - MEASUREMENT_LATENCY_BUCKET * bucket = NULL; - MEASUREMENT_VNIC_PERFORMANCE * vnic_performance = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - MEASUREMENT_CPU_USE *cpu_use; - - /***************************************************************************/ - /* Measurement */ - /***************************************************************************/ - measurement = evel_new_measurement(interval); - if (measurement != NULL) - { - printf("New measurement created...\n"); - 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_request_rate_set(measurement, 6); - - cpu_use = evel_measurement_new_cpu_use_add(measurement, "cpu1", 11.11); - evel_measurement_cpu_use_idle_set(cpu_use,22.22); - evel_measurement_cpu_use_interrupt_set(cpu_use,33.33); - evel_measurement_cpu_use_nice_set(cpu_use,44.44); - evel_measurement_cpu_use_softirq_set(cpu_use,55.55); - evel_measurement_cpu_use_steal_set(cpu_use,66.66); - evel_measurement_cpu_use_system_set(cpu_use,77.77); - evel_measurement_cpu_use_usageuser_set(cpu_use,88.88); - evel_measurement_cpu_use_wait_set(cpu_use,99.99); - - cpu_use = evel_measurement_new_cpu_use_add(measurement, "cpu2", 22.22); - evel_measurement_cpu_use_idle_set(cpu_use,12.22); - evel_measurement_cpu_use_interrupt_set(cpu_use,33.33); - evel_measurement_cpu_use_nice_set(cpu_use,44.44); - evel_measurement_cpu_use_softirq_set(cpu_use,55.55); - evel_measurement_cpu_use_steal_set(cpu_use,66.66); - evel_measurement_cpu_use_system_set(cpu_use,77.77); - evel_measurement_cpu_use_usageuser_set(cpu_use,88.88); - evel_measurement_cpu_use_wait_set(cpu_use,19.99); - - 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_performance = evel_measurement_new_vnic_performance("eth0", "true"); - - evel_vnic_performance_rx_bcast_pkt_acc_set(vnic_performance, 1000000.023); - evel_vnic_performance_rx_bcast_pkt_delta_set(vnic_performance,1234.767346); - evel_vnic_performance_rx_discard_pkt_acc_set(vnic_performance, 127146784.234738587); - evel_vnic_performance_rx_discard_pkt_delta_set(vnic_performance, 123445); - evel_vnic_performance_rx_error_pkt_acc_set(vnic_performance, 2736448376); - evel_vnic_performance_rx_error_pkt_delta_set(vnic_performance, 3474438764); - evel_vnic_performance_rx_mcast_pkt_acc_set(vnic_performance, 42464676); - evel_vnic_performance_rx_mcast_pkt_delta_set(vnic_performance, 42678657654); - evel_vnic_performance_rx_octets_acc_set(vnic_performance, 47658745); - evel_vnic_performance_rx_octets_delta_set(vnic_performance, 47656465465); - evel_vnic_performance_rx_total_pkt_acc_set(vnic_performance, 4765764654444); - evel_vnic_performance_rx_total_pkt_delta_set(vnic_performance, 4545665656); - evel_vnic_performance_rx_ucast_pkt_acc_set(vnic_performance, 4765745546.); - evel_vnic_performance_rx_ucast_pkt_delta_set(vnic_performance, 4768765.78347856); - evel_vnic_performance_tx_bcast_pkt_acc_set(vnic_performance, 747665.347647); - evel_vnic_performance_tx_bcast_pkt_delta_set(vnic_performance, 3468765.4774); - evel_vnic_performance_tx_discarded_pkt_acc_set(vnic_performance, 53625345.53); - evel_vnic_performance_tx_discarded_pkt_delta_set(vnic_performance, 5465345.72455); - evel_vnic_performance_tx_error_pkt_acc_set(vnic_performance, 7632754.754); - evel_vnic_performance_tx_error_pkt_delta_set(vnic_performance, 34646875444.); - evel_vnic_performance_tx_mcast_pkt_acc_set(vnic_performance, 2734875.5534); - evel_vnic_performance_tx_mcast_pkt_delta_set(vnic_performance, 562346534.654); - evel_vnic_performance_tx_octets_acc_set(vnic_performance, 2785845.76874); - evel_meas_vnic_performance_add(measurement, vnic_performance); - - vnic_performance = evel_measurement_new_vnic_performance("eth1", "false"); - evel_vnic_performance_rx_mcast_pkt_delta_set(vnic_performance, 42678657654); - evel_vnic_performance_rx_octets_acc_set(vnic_performance, 47658745); - evel_vnic_performance_rx_octets_delta_set(vnic_performance, 47656465465); - evel_vnic_performance_rx_total_pkt_acc_set(vnic_performance, 4765764654444); - evel_vnic_performance_rx_total_pkt_delta_set(vnic_performance, 4545665656); - evel_vnic_performance_rx_ucast_pkt_acc_set(vnic_performance, 4765745546.); - evel_vnic_performance_rx_ucast_pkt_delta_set(vnic_performance, 4768765.78347856); - evel_vnic_performance_tx_bcast_pkt_acc_set(vnic_performance, 747665.347647); - evel_vnic_performance_tx_bcast_pkt_delta_set(vnic_performance, 3468765.4774); - evel_vnic_performance_tx_discarded_pkt_acc_set(vnic_performance, 53625345.53); - evel_meas_vnic_performance_add(measurement, vnic_performance); - - 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) - { - printf("Post OK!\n"); - } - else - { - printf("Post Failed %d (%s)\n", evel_rc, evel_error_string()); - } - } - else - { - printf("Failed to create event (%s)\n", evel_error_string()); - } - - printf(" Processed Measurement\n"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/15-raise-signaling/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/15-raise-signaling/Makefile deleted file mode 100644 index 6acfdd42..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/15-raise-signaling/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world localhost 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/15-raise-signaling/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/15-raise-signaling/hello_evel_world.c deleted file mode 100644 index c97290ac..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/15-raise-signaling/hello_evel_world.c +++ /dev/null @@ -1,115 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_signaling(void); - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a Signaling event */ - /***************************************************************************/ - demo_signaling(); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * 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", - "correlator", "1.0.3.1", "1234", "192.168.1.3","3456"); - if (event != NULL) - { - evel_signaling_type_set(event, "Signaling"); - evel_signaling_vnfmodule_name_set(event, "vendor_x_module"); - evel_signaling_vnfname_set(event, "vendor_x_vnf"); - 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"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/16-raise-service/Makefile b/vnfs/VES5.0/evel/evel-library/code/evel_training/16-raise-service/Makefile deleted file mode 100644 index 6acfdd42..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/16-raise-service/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC=gcc - -ARCH=$(shell getconf LONG_BIT) -CODE_ROOT=$(CURDIR)/../../.. -LIBS_DIR=$(CODE_ROOT)/libs/x86_$(ARCH) -INCLUDE_DIR=$(CODE_ROOT)/code/evel_library - -#****************************************************************************** -# Standard compiler flags. * -#****************************************************************************** -CPPFLAGS= -CFLAGS=-Wall -g -fPIC - -all: hello_evel_world - -hello_evel_world: hello_evel_world.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o hello_evel_world \ - -L $(LIBS_DIR) \ - -I $(INCLUDE_DIR) \ - hello_evel_world.c \ - -lpthread \ - -level \ - -lcurl - -#****************************************************************************** -# Configure the vel_username and vel_password to -# vel_username = username -# vel_password = password -#****************************************************************************** -run: all - ./hello_evel_world localhost 30000 username password diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/16-raise-service/hello_evel_world.c b/vnfs/VES5.0/evel/evel-library/code/evel_training/16-raise-service/hello_evel_world.c deleted file mode 100644 index 53a7bd7e..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/16-raise-service/hello_evel_world.c +++ /dev/null @@ -1,119 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include "evel.h" - -/*****************************************************************************/ -/* Local prototypes. */ -/*****************************************************************************/ -static void demo_service(void); - -int main(int argc, char ** argv) -{ - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - EVENT_HEADER * heartbeat = NULL; - - printf("\nHello AT&T Vendor Event world!\n"); - fflush(stdout); - - if (argc != 5) - { - fprintf(stderr, - "Usage: %s <FQDN>|<IP address> <port> " - "<username> <password>\n", argv[0]); - exit(-1); - } - - /***************************************************************************/ - /* Initialize */ - /***************************************************************************/ - if (evel_initialize(argv[1], /* FQDN */ - atoi(argv[2]), /* Port */ - NULL, /* optional path */ - NULL, /* optional topic */ - 0, /* HTTPS? */ - argv[3], /* Username */ - argv[4], /* Password */ - EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */ - "EVEL training demo", /* Role */ - 0)) /* Verbosity */ - { - fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n"); - exit(-1); - } - else - { - printf("\nInitialization completed\n"); - } - - /***************************************************************************/ - /* Send a heartbeat just to show we're alive! */ - /***************************************************************************/ - heartbeat = evel_new_heartbeat(); - if (heartbeat != NULL) - { - evel_rc = evel_post_event(heartbeat); - if (evel_rc != EVEL_SUCCESS) - { - printf("Post failed %d (%s)", evel_rc, evel_error_string()); - } - } - else - { - printf("New heartbeat failed"); - } - - /***************************************************************************/ - /* Raise a service event */ - /***************************************************************************/ - demo_service(); - - /***************************************************************************/ - /* Terminate */ - /***************************************************************************/ - sleep(1); - evel_terminate(); - printf("Terminated\n"); - - return 0; -} - -/**************************************************************************//** - * Create and send a Service event. - *****************************************************************************/ -void demo_service(void) -{ - EVENT_SIGNALING * event = NULL; - EVEL_ERR_CODES evel_rc = EVEL_SUCCESS; - - event = evel_new_signaling("vendor_x_id", - "correlator", "1.0.3.1", "1234", "192.168.1.3","3456"); - if (event != NULL) - { - evel_signaling_vnfmodule_name_set(event, "vendor_x_module"); - evel_signaling_vnfname_set(event, "vendor_x_vnf"); - evel_signaling_type_set(event, "Service Event"); - evel_signaling_correlator_set(event, "vendor_x_correlator"); - evel_signaling_addl_info_add(event, "prodid", "vendor_x_product_id"); - evel_signaling_addl_info_add(event, "subsys", "vendor_x_subsystem_id"); - evel_signaling_addl_info_add(event, "friendly_name", "vendor_x_friend"); - - evel_signaling_addl_info_add(event, "callee", "PCMA"); - evel_signaling_addl_info_add(event, "caller", "G729A"); - - evel_signaling_addl_info_add(event, "Name1", "Value1"); - evel_signaling_addl_info_add(event, "Name2", "Value2"); - - 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"); -} diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_training/_gitignore b/vnfs/VES5.0/evel/evel-library/code/evel_training/_gitignore deleted file mode 100644 index ee7aeafd..00000000 --- a/vnfs/VES5.0/evel/evel-library/code/evel_training/_gitignore +++ /dev/null @@ -1 +0,0 @@ -*/hello_evel_world diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_unit/evel_unit.c b/vnfs/VES5.0/evel/evel-library/code/evel_unit/evel_unit.c index ba4739b0..f52dc277 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_unit/evel_unit.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_unit/evel_unit.c @@ -1,3 +1,19 @@ +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ /**************************************************************************//** * @file * Unit tests for JSON encoding and throttling. @@ -5,37 +21,7 @@ * This software is intended to show the essential elements of the library's * use. * - * License - * ------- - * - * Copyright(c) <2016>, AT&T Intellectual Property. All other rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: This product includes software - * developed by the AT&T. - * 4. Neither the name of AT&T nor the names of its contributors may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ + ****************************************************************************/ #include <stdio.h> #include <string.h> diff --git a/vnfs/VES5.0/evel/evel-library/libs/x86_64/libevel.a b/vnfs/VES5.0/evel/evel-library/libs/x86_64/libevel.a Binary files differindex 96f947c5..cc5eda62 100755 --- a/vnfs/VES5.0/evel/evel-library/libs/x86_64/libevel.a +++ b/vnfs/VES5.0/evel/evel-library/libs/x86_64/libevel.a diff --git a/vnfs/VES5.0/evel/evel-test-collector/LICENSE.md b/vnfs/VES5.0/evel/evel-test-collector/LICENSE.md index f1313840..afb56c99 100644 --- a/vnfs/VES5.0/evel/evel-test-collector/LICENSE.md +++ b/vnfs/VES5.0/evel/evel-test-collector/LICENSE.md @@ -1,27 +1,18 @@ -BSD License +/*************************************************************************//** + * + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * + * 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. + * + ****************************************************************************/ -Copyright (c) 2016, AT&T Intellectual Property. All other rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions - and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, this list of - conditions and the following disclaimer in the documentation and/or other materials provided - with the distribution. -3. All advertising materials mentioning features or use of this software must display the - following acknowledgement: This product includes software developed by the AT&T. -4. Neither the name of AT&T nor the names of its contributors may be used to endorse or - promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. diff --git a/vnfs/VES5.0/evel/evel-test-collector/docs/att_interface_definition/event_format_updated.json.ab b/vnfs/VES5.0/evel/evel-test-collector/docs/att_interface_definition/event_format_updated.json.ab deleted file mode 100644 index 41d04ed2..00000000 --- a/vnfs/VES5.0/evel/evel-test-collector/docs/att_interface_definition/event_format_updated.json.ab +++ /dev/null @@ -1,1888 +0,0 @@ -{
- "$schema": "http://json-schema.org/draft-04/schema#",
-
- "definitions": {
- "attCopyrightNotice": {
- "description": "Copyright (c) <2016>, AT&T Intellectual Property. All other rights reserved",
- "type": "object",
- "properties": {
- "useAndRedistribution": {
- "description": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:",
- "type": "string"
- },
- "condition1": {
- "description": "Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.",
- "type": "string"
- },
- "condition2": {
- "description": "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.",
- "type": "string"
- },
- "condition3": {
- "description": "All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the AT&T.",
- "type": "string"
- },
- "condition4": {
- "description": "Neither the name of AT&T nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.",
- "type": "string"
- },
- "disclaimerLine1": {
- "description": "THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS",
- "type": "string"
- },
- "disclaimerLine2": {
- "description": "FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES",
- "type": "string"
- },
- "disclaimerLine3": {
- "description": "(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,",
- "type": "string"
- },
- "disclaimerLine4": {
- "description": "WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
- "type": "string"
- }
- }
- },
- "codecsInUse": {
- "description": "number of times an identified codec was used over the measurementInterval",
- "type": "object",
- "properties": {
- "codecIdentifier": { "type": "string" },
- "numberInUse": { "type": "integer" }
- },
- "required": [ "codecIdentifier", "numberInUse" ]
- },
- "command": {
- "description": "command from an event collector toward an event source",
- "type": "object",
- "properties": {
- "commandType": {
- "type": "string",
- "enum": [
- "heartbeatIntervalChange",
- "measurementIntervalChange",
- "provideThrottlingState",
- "throttlingSpecification"
- ]
- },
- "eventDomainThrottleSpecification": { "$ref": "#/definitions/eventDomainThrottleSpecification" },
- "heartbeatInterval": { "type": "integer" },
- "measurementInterval": { "type": "integer" }
- },
- "required": [ "commandType" ]
- },
- "commandList": {
- "description": "array of commands from an event collector toward an event source",
- "type": "array",
- "items": {
- "$ref": "#/definitions/command"
- },
- "minItems": 0
- },
- "commonEventHeader": {
- "description": "fields common to all events",
- "type": "object",
- "properties": {
- "domain": {
- "description": "the eventing domain associated with the event",
- "type": "string",
- "enum": [
- "fault",
- "heartbeat",
- "measurementsForVfScaling",
- "mobileFlow",
- "other",
- "sipSignaling",
- "stateChange",
- "syslog",
- "thresholdCrossingAlert",
- "voiceQuality"
- ]
- },
- "eventId": {
- "description": "event key that is unique to the event source",
- "type": "string"
- },
- "eventName": {
- "description": "unique event name",
- "type": "string"
- },
- "eventType": {
- "description": "for example - applicationVnf, guestOS, hostOS, platform",
- "type": "string"
- },
- "internalHeaderFields": { "$ref": "#/definitions/internalHeaderFields" },
- "lastEpochMicrosec": {
- "description": "the latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds",
- "type": "number"
- },
- "nfcNamingCode": {
- "description": "3 character network function component type, aligned with vfc naming standards",
- "type": "string"
- },
- "nfNamingCode": {
- "description": "4 character network function type, aligned with vnf naming standards",
- "type": "string"
- },
- "priority": {
- "description": "processing priority",
- "type": "string",
- "enum": [
- "High",
- "Medium",
- "Normal",
- "Low"
- ]
- },
- "reportingEntityId": {
- "description": "UUID identifying the entity reporting the event, for example an OAM VM; must be populated by the ATT enrichment process",
- "type": "string"
- },
- "reportingEntityName": {
- "description": "name of the entity reporting the event, for example, an EMS name; may be the same as sourceName",
- "type": "string"
- },
- "sequence": {
- "description": "ordering of events communicated by an event source instance or 0 if not needed",
- "type": "integer"
- },
- "sourceId": {
- "description": "UUID identifying the entity experiencing the event issue; must be populated by the ATT enrichment process",
- "type": "string"
- },
- "sourceName": {
- "description": "name of the entity experiencing the event issue",
- "type": "string"
- },
- "startEpochMicrosec": {
- "description": "the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds",
- "type": "number"
- },
- "version": {
- "description": "version of the event header",
- "type": "number"
- }
- },
- "required": [ "domain", "eventId", "eventName", "lastEpochMicrosec",
- "priority", "reportingEntityName", "sequence", "sourceName",
- "startEpochMicrosec", "version" ]
- },
- "counter": {
- "description": "performance counter",
- "type": "object",
- "properties": {
- "criticality": { "type": "string", "enum": [ "CRIT", "MAJ" ] },
- "name": { "type": "string" },
- "thresholdCrossed": { "type": "string" },
- "value": { "type": "string"}
- },
- "required": [ "criticality", "name", "thresholdCrossed", "value" ]
- },
- "cpuUsage": {
- "description": "usage of an identified CPU",
- "type": "object",
- "properties": {
- "cpuIdentifier": {
- "description": "cpu identifer",
- "type": "string"
- },
- "cpuIdle": {
- "description": "percentage of CPU time spent in the idle task",
- "type": "number"
- },
- "cpuUsageInterrupt": {
- "description": "percentage of time spent servicing interrupts",
- "type": "number"
- },
- "cpuUsageNice": {
- "description": "percentage of time spent running user space processes that have been niced",
- "type": "number"
- },
- "cpuUsageSoftIrq": {
- "description": "percentage of time spent handling soft irq interrupts",
- "type": "number"
- },
- "cpuUsageSteal": {
- "description": "percentage of time spent in involuntary wait which is neither user, system or idle time and is effectively time that went missing",
- "type": "number"
- },
- "cpuUsageSystem": {
- "description": "percentage of time spent on system tasks running the kernel",
- "type": "number"
- },
- "cpuUsageUser": {
- "description": "percentage of time spent running un-niced user space processes",
- "type": "number"
- },
- "cpuWait": {
- "description": "percentage of CPU time spent waiting for I/O operations to complete",
- "type": "number"
- },
- "percentUsage": {
- "description": "aggregate cpu usage of the virtual machine on which the VNFC reporting the event is running",
- "type": "number"
- }
- },
- "required": [ "cpuIdentifier", "percentUsage" ]
- },
- "diskUsage": {
- "description": "usage of an identified disk",
- "type": "object",
- "properties": {
- "diskIdentifier": {
- "description": "disk identifier",
- "type": "string"
- },
- "diskIoTimeAvg": {
- "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the average over the measurement interval",
- "type": "number"
- },
- "diskIoTimeLast": {
- "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the last value measurement within the measurement interval",
- "type": "number"
- },
- "diskIoTimeMax": {
- "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the maximum value measurement within the measurement interval",
- "type": "number"
- },
- "diskIoTimeMin": {
- "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the minimum value measurement within the measurement interval",
- "type": "number"
- },
- "diskMergedReadAvg": {
- "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskMergedReadLast": {
- "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the last value measurement within the measurement interval",
- "type": "number"
- },
- "diskMergedReadMax": {
- "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the maximum value measurement within the measurement interval",
- "type": "number"
- },
- "diskMergedReadMin": {
- "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the minimum value measurement within the measurement interval",
- "type": "number"
- },
- "diskMergedWriteAvg": {
- "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskMergedWriteLast": {
- "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the last value measurement within the measurement interval",
- "type": "number"
- },
- "diskMergedWriteMax": {
- "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the maximum value measurement within the measurement interval",
- "type": "number"
- },
- "diskMergedWriteMin": {
- "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the minimum value measurement within the measurement interval",
- "type": "number"
- },
- "diskOctetsReadAvg": {
- "description": "number of octets per second read from a disk or partition; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskOctetsReadLast": {
- "description": "number of octets per second read from a disk or partition; provide the last measurement within the measurement interval",
- "type": "number"
- },
- "diskOctetsReadMax": {
- "description": "number of octets per second read from a disk or partition; provide the maximum measurement within the measurement interval",
- "type": "number"
- },
- "diskOctetsReadMin": {
- "description": "number of octets per second read from a disk or partition; provide the minimum measurement within the measurement interval",
- "type": "number"
- },
- "diskOctetsWriteAvg": {
- "description": "number of octets per second written to a disk or partition; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskOctetsWriteLast": {
- "description": "number of octets per second written to a disk or partition; provide the last measurement within the measurement interval",
- "type": "number"
- },
- "diskOctetsWriteMax": {
- "description": "number of octets per second written to a disk or partition; provide the maximum measurement within the measurement interval",
- "type": "number"
- },
- "diskOctetsWriteMin": {
- "description": "number of octets per second written to a disk or partition; provide the minimum measurement within the measurement interval",
- "type": "number"
- },
- "diskOpsReadAvg": {
- "description": "number of read operations per second issued to the disk; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskOpsReadLast": {
- "description": "number of read operations per second issued to the disk; provide the last measurement within the measurement interval",
- "type": "number"
- },
- "diskOpsReadMax": {
- "description": "number of read operations per second issued to the disk; provide the maximum measurement within the measurement interval",
- "type": "number"
- },
- "diskOpsReadMin": {
- "description": "number of read operations per second issued to the disk; provide the minimum measurement within the measurement interval",
- "type": "number"
- },
- "diskOpsWriteAvg": {
- "description": "number of write operations per second issued to the disk; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskOpsWriteLast": {
- "description": "number of write operations per second issued to the disk; provide the last measurement within the measurement interval",
- "type": "number"
- },
- "diskOpsWriteMax": {
- "description": "number of write operations per second issued to the disk; provide the maximum measurement within the measurement interval",
- "type": "number"
- },
- "diskOpsWriteMin": {
- "description": "number of write operations per second issued to the disk; provide the minimum measurement within the measurement interval",
- "type": "number"
- },
- "diskPendingOperationsAvg": {
- "description": "queue size of pending I/O operations per second; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskPendingOperationsLast": {
- "description": "queue size of pending I/O operations per second; provide the last measurement within the measurement interval",
- "type": "number"
- },
- "diskPendingOperationsMax": {
- "description": "queue size of pending I/O operations per second; provide the maximum measurement within the measurement interval",
- "type": "number"
- },
- "diskPendingOperationsMin": {
- "description": "queue size of pending I/O operations per second; provide the minimum measurement within the measurement interval",
- "type": "number"
- },
- "diskTimeReadAvg": {
- "description": "milliseconds a read operation took to complete; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskTimeReadLast": {
- "description": "milliseconds a read operation took to complete; provide the last measurement within the measurement interval",
- "type": "number"
- },
- "diskTimeReadMax": {
- "description": "milliseconds a read operation took to complete; provide the maximum measurement within the measurement interval",
- "type": "number"
- },
- "diskTimeReadMin": {
- "description": "milliseconds a read operation took to complete; provide the minimum measurement within the measurement interval",
- "type": "number"
- },
- "diskTimeWriteAvg": {
- "description": "milliseconds a write operation took to complete; provide the average measurement within the measurement interval",
- "type": "number"
- },
- "diskTimeWriteLast": {
- "description": "milliseconds a write operation took to complete; provide the last measurement within the measurement interval",
- "type": "number"
- },
- "diskTimeWriteMax": {
- "description": "milliseconds a write operation took to complete; provide the maximum measurement within the measurement interval",
- "type": "number"
- },
- "diskTimeWriteMin": {
- "description": "milliseconds a write operation took to complete; provide the minimum measurement within the measurement interval",
- "type": "number"
- }
- },
- "required": [ "diskIdentifier" ]
- },
- "endOfCallVqmSummaries": {
- "description": "provides end of call voice quality metrics",
- "type": "object",
- "properties": {
- "adjacencyName": {
- "description": " adjacency name",
- "type": "string"
- },
- "endpointDescription": {
- "description": "Either Caller or Callee",
- "type": "string",
- "enum": ["Caller", "Callee"]
- },
- "endpointJitter": {
- "description": "",
- "type": "number"
- },
- "endpointRtpOctetsDiscarded": {
- "description": "",
- "type": "number"
- },
- "endpointRtpOctetsReceived": {
- "description": "",
- "type": "number"
- },
- "endpointRtpOctetsSent": {
- "description": "",
- "type": "number"
- },
- "endpointRtpPacketsDiscarded": {
- "description": "",
- "type": "number"
- },
- "endpointRtpPacketsReceived": {
- "description": "",
- "type": "number"
- },
- "endpointRtpPacketsSent": {
- "description": "",
- "type": "number"
- },
- "localJitter": {
- "description": "",
- "type": "number"
- },
- "localRtpOctetsDiscarded": {
- "description": "",
- "type": "number"
- },
- "localRtpOctetsReceived": {
- "description": "",
- "type": "number"
- },
- "localRtpOctetsSent": {
- "description": "",
- "type": "number"
- },
- "localRtpPacketsDiscarded": {
- "description": "",
- "type": "number"
- },
- "localRtpPacketsReceived": {
- "description": "",
- "type": "number"
- },
- "localRtpPacketsSent": {
- "description": "",
- "type": "number"
- },
- "mosCqe": {
- "description": "1-5 1dp",
- "type": "number"
- },
- "packetsLost": {
- "description": "",
- "type": "number"
- },
- "packetLossPercent": {
- "description" : "Calculated percentage packet loss based on Endpoint RTP packets lost (as reported in RTCP) and Local RTP packets sent. Direction is based on Endpoint description (Caller, Callee). Decimal (2 dp)",
- "type": "number"
- },
- "rFactor": {
- "description": "0-100",
- "type": "number"
- },
- "roundTripDelay": {
- "description": "millisecs",
- "type": "number"
- }
- },
- "required": [ "adjacencyName", "endpointDescription" ]
- },
- "event": {
- "description": "the root level of the common event format",
- "type": "object",
- "properties": {
- "commonEventHeader": { "$ref": "#/definitions/commonEventHeader" },
- "faultFields": { "$ref": "#/definitions/faultFields" },
- "heartbeatFields": { "$ref": "#/definitions/heartbeatFields" },
- "measurementsForVfScalingFields": { "$ref": "#/definitions/measurementsForVfScalingFields" },
- "mobileFlowFields": { "$ref": "#/definitions/mobileFlowFields" },
- "otherFields": { "$ref": "#/definitions/otherFields" },
- "sipSignalingFields": { "$ref": "#/definitions/sipSignalingFields" },
- "stateChangeFields": { "$ref": "#/definitions/stateChangeFields" },
- "syslogFields": { "$ref": "#/definitions/syslogFields" },
- "thresholdCrossingAlertFields": { "$ref": "#/definitions/thresholdCrossingAlertFields" },
- "voiceQualityFields": { "$ref": "#/definitions/voiceQualityFields" }
- },
- "required": [ "commonEventHeader" ]
- },
- "eventDomainThrottleSpecification": {
- "description": "specification of what information to suppress within an event domain",
- "type": "object",
- "properties": {
- "eventDomain": {
- "description": "Event domain enum from the commonEventHeader domain field",
- "type": "string"
- },
- "suppressedFieldNames": {
- "description": "List of optional field names in the event block that should not be sent to the Event Listener",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "suppressedNvPairsList": {
- "description": "Optional list of specific NvPairsNames to suppress within a given Name-Value Field",
- "type": "array",
- "items": {
- "$ref": "#/definitions/suppressedNvPairs"
- }
- }
- },
- "required": [ "eventDomain" ]
- },
- "eventDomainThrottleSpecificationList": {
- "description": "array of eventDomainThrottleSpecifications",
- "type": "array",
- "items": {
- "$ref": "#/definitions/eventDomainThrottleSpecification"
- },
- "minItems": 0
- },
- "eventList": {
- "description": "array of events",
- "type": "array",
- "items": {
- "$ref": "#/definitions/event"
- }
- },
- "eventThrottlingState": {
- "description": "reports the throttling in force at the event source",
- "type": "object",
- "properties": {
- "eventThrottlingMode": {
- "description": "Mode the event manager is in",
- "type": "string",
- "enum": [
- "normal",
- "throttled"
- ]
- },
- "eventDomainThrottleSpecificationList": { "$ref": "#/definitions/eventDomainThrottleSpecificationList" }
- },
- "required": [ "eventThrottlingMode" ]
- },
- "faultFields": {
- "description": "fields specific to fault events",
- "type": "object",
- "properties": {
- "alarmAdditionalInformation": {
- "description": "additional alarm information",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "alarmCondition": {
- "description": "alarm condition reported by the device",
- "type": "string"
- },
- "alarmInterfaceA": {
- "description": "card, port, channel or interface name of the device generating the alarm",
- "type": "string"
- },
- "eventCategory": {
- "description": "Event category, for example: license, link, routing, security, signaling",
- "type": "string"
- },
- "eventSeverity": {
- "description": "event severity",
- "type": "string",
- "enum": [
- "CRITICAL",
- "MAJOR",
- "MINOR",
- "WARNING",
- "NORMAL"
- ]
- },
- "eventSourceType": {
- "description": "type of event source; examples: card, host, other, port, portThreshold, router, slotThreshold, switch, virtualMachine, virtualNetworkFunction",
- "type": "string"
- },
- "faultFieldsVersion": {
- "description": "version of the faultFields block",
- "type": "number"
- },
- "specificProblem": {
- "description": "short description of the alarm or problem",
- "type": "string"
- },
- "vfStatus": {
- "description": "virtual function status enumeration",
- "type": "string",
- "enum": [
- "Active",
- "Idle",
- "Preparing to terminate",
- "Ready to terminate",
- "Requesting termination"
- ]
- }
- },
- "required": [ "alarmCondition", "eventSeverity", "eventSourceType",
- "faultFieldsVersion", "specificProblem", "vfStatus" ]
- },
- "featuresInUse": {
- "description": "number of times an identified feature was used over the measurementInterval",
- "type": "object",
- "properties": {
- "featureIdentifier": { "type": "string" },
- "featureUtilization": { "type": "integer" }
- },
- "required": [ "featureIdentifier", "featureUtilization" ]
- },
- "field": {
- "description": "name value pair",
- "type": "object",
- "properties": {
- "name": { "type": "string" },
- "value": { "type": "string" }
- },
- "required": [ "name", "value" ]
- },
- "filesystemUsage": {
- "description": "disk usage of an identified virtual machine in gigabytes and/or gigabytes per second",
- "type": "object",
- "properties": {
- "blockConfigured": { "type": "number" },
- "blockIops": { "type": "number" },
- "blockUsed": { "type": "number" },
- "ephemeralConfigured": { "type": "number" },
- "ephemeralIops": { "type": "number" },
- "ephemeralUsed": { "type": "number" },
- "filesystemName": { "type": "string" }
- },
- "required": [ "blockConfigured", "blockIops", "blockUsed", "ephemeralConfigured",
- "ephemeralIops", "ephemeralUsed", "filesystemName" ]
- },
- "gtpPerFlowMetrics": {
- "description": "Mobility GTP Protocol per flow metrics",
- "type": "object",
- "properties": {
- "avgBitErrorRate": {
- "description": "average bit error rate",
- "type": "number"
- },
- "avgPacketDelayVariation": {
- "description": "Average packet delay variation or jitter in milliseconds for received packets: Average difference between the packet timestamp and time received for all pairs of consecutive packets",
- "type": "number"
- },
- "avgPacketLatency": {
- "description": "average delivery latency",
- "type": "number"
- },
- "avgReceiveThroughput": {
- "description": "average receive throughput",
- "type": "number"
- },
- "avgTransmitThroughput": {
- "description": "average transmit throughput",
- "type": "number"
- },
- "durConnectionFailedStatus": {
- "description": "duration of failed state in milliseconds, computed as the cumulative time between a failed echo request and the next following successful error request, over this reporting interval",
- "type": "number"
- },
- "durTunnelFailedStatus": {
- "description": "Duration of errored state, computed as the cumulative time between a tunnel error indicator and the next following non-errored indicator, over this reporting interval",
- "type": "number"
- },
- "flowActivatedBy": {
- "description": "Endpoint activating the flow",
- "type": "string"
- },
- "flowActivationEpoch": {
- "description": "Time the connection is activated in the flow (connection) being reported on, or transmission time of the first packet if activation time is not available",
- "type": "number"
- },
- "flowActivationMicrosec": {
- "description": "Integer microseconds for the start of the flow connection",
- "type": "number"
- },
- "flowActivationTime": {
- "description": "time the connection is activated in the flow being reported on, or transmission time of the first packet if activation time is not available; with RFC 2822 compliant format: Sat, 13 Mar 2010 11:29:05 -0800",
- "type": "string"
- },
- "flowDeactivatedBy": {
- "description": "Endpoint deactivating the flow",
- "type": "string"
- },
- "flowDeactivationEpoch": {
- "description": "Time for the start of the flow connection, in integer UTC epoch time aka UNIX time",
- "type": "number"
- },
- "flowDeactivationMicrosec": {
- "description": "Integer microseconds for the start of the flow connection",
- "type": "number"
- },
- "flowDeactivationTime": {
- "description": "Transmission time of the first packet in the flow connection being reported on; with RFC 2822 compliant format: Sat, 13 Mar 2010 11:29:05 -0800",
- "type": "string"
- },
- "flowStatus": {
- "description": "connection status at reporting time as a working / inactive / failed indicator value",
- "type": "string"
- },
- "gtpConnectionStatus": {
- "description": "Current connection state at reporting time",
- "type": "string"
- },
- "gtpTunnelStatus": {
- "description": "Current tunnel state at reporting time",
- "type": "string"
- },
- "ipTosCountList": {
- "description": "array of key: value pairs where the keys are drawn from the IP Type-of-Service identifiers which range from '0' to '255', and the values are the count of packets that had those ToS identifiers in the flow",
- "type": "array",
- "items": {
- "type": "array",
- "items": [
- { "type": "string" },
- { "type": "number" }
- ]
- }
- },
- "ipTosList": {
- "description": "Array of unique IP Type-of-Service values observed in the flow where values range from '0' to '255'",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "largePacketRtt": {
- "description": "large packet round trip time",
- "type": "number"
- },
- "largePacketThreshold": {
- "description": "large packet threshold being applied",
- "type": "number"
- },
- "maxPacketDelayVariation": {
- "description": "Maximum packet delay variation or jitter in milliseconds for received packets: Maximum of the difference between the packet timestamp and time received for all pairs of consecutive packets",
- "type": "number"
- },
- "maxReceiveBitRate": {
- "description": "maximum receive bit rate",
- "type": "number"
- },
- "maxTransmitBitRate": {
- "description": "maximum transmit bit rate",
- "type": "number"
- },
- "mobileQciCosCountList": {
- "description": "array of key: value pairs where the keys are drawn from LTE QCI or UMTS class of service strings, and the values are the count of packets that had those strings in the flow",
- "type": "array",
- "items": {
- "type": "array",
- "items": [
- { "type": "string" },
- { "type": "number" }
- ]
- }
- },
- "mobileQciCosList": {
- "description": "Array of unique LTE QCI or UMTS class-of-service values observed in the flow",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "numActivationFailures": {
- "description": "Number of failed activation requests, as observed by the reporting node",
- "type": "number"
- },
- "numBitErrors": {
- "description": "number of errored bits",
- "type": "number"
- },
- "numBytesReceived": {
- "description": "number of bytes received, including retransmissions",
- "type": "number"
- },
- "numBytesTransmitted": {
- "description": "number of bytes transmitted, including retransmissions",
- "type": "number"
- },
- "numDroppedPackets": {
- "description": "number of received packets dropped due to errors per virtual interface",
- "type": "number"
- },
- "numGtpEchoFailures": {
- "description": "Number of Echo request path failures where failed paths are defined in 3GPP TS 29.281 sec 7.2.1 and 3GPP TS 29.060 sec. 11.2",
- "type": "number"
- },
- "numGtpTunnelErrors": {
- "description": "Number of tunnel error indications where errors are defined in 3GPP TS 29.281 sec 7.3.1 and 3GPP TS 29.060 sec. 11.1",
- "type": "number"
- },
- "numHttpErrors": {
- "description": "Http error count",
- "type": "number"
- },
- "numL7BytesReceived": {
- "description": "number of tunneled layer 7 bytes received, including retransmissions",
- "type": "number"
- },
- "numL7BytesTransmitted": {
- "description": "number of tunneled layer 7 bytes transmitted, excluding retransmissions",
- "type": "number"
- },
- "numLostPackets": {
- "description": "number of lost packets",
- "type": "number"
- },
- "numOutOfOrderPackets": {
- "description": "number of out-of-order packets",
- "type": "number"
- },
- "numPacketErrors": {
- "description": "number of errored packets",
- "type": "number"
- },
- "numPacketsReceivedExclRetrans": {
- "description": "number of packets received, excluding retransmission",
- "type": "number"
- },
- "numPacketsReceivedInclRetrans": {
- "description": "number of packets received, including retransmission",
- "type": "number"
- },
- "numPacketsTransmittedInclRetrans": {
- "description": "number of packets transmitted, including retransmissions",
- "type": "number"
- },
- "numRetries": {
- "description": "number of packet retries",
- "type": "number"
- },
- "numTimeouts": {
- "description": "number of packet timeouts",
- "type": "number"
- },
- "numTunneledL7BytesReceived": {
- "description": "number of tunneled layer 7 bytes received, excluding retransmissions",
- "type": "number"
- },
- "roundTripTime": {
- "description": "round trip time",
- "type": "number"
- },
- "tcpFlagCountList": {
- "description": "array of key: value pairs where the keys are drawn from TCP Flags and the values are the count of packets that had that TCP Flag in the flow",
- "type": "array",
- "items": {
- "type": "array",
- "items": [
- { "type": "string" },
- { "type": "number" }
- ]
- }
- },
- "tcpFlagList": {
- "description": "Array of unique TCP Flags observed in the flow",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "timeToFirstByte": {
- "description": "Time in milliseconds between the connection activation and first byte received",
- "type": "number"
- }
- },
- "required": [ "avgBitErrorRate", "avgPacketDelayVariation", "avgPacketLatency",
- "avgReceiveThroughput", "avgTransmitThroughput",
- "flowActivationEpoch", "flowActivationMicrosec",
- "flowDeactivationEpoch", "flowDeactivationMicrosec",
- "flowDeactivationTime", "flowStatus",
- "maxPacketDelayVariation", "numActivationFailures",
- "numBitErrors", "numBytesReceived", "numBytesTransmitted",
- "numDroppedPackets", "numL7BytesReceived",
- "numL7BytesTransmitted", "numLostPackets",
- "numOutOfOrderPackets", "numPacketErrors",
- "numPacketsReceivedExclRetrans",
- "numPacketsReceivedInclRetrans",
- "numPacketsTransmittedInclRetrans",
- "numRetries", "numTimeouts", "numTunneledL7BytesReceived",
- "roundTripTime", "timeToFirstByte"
- ]
- },
- "heartbeatFields": {
- "description": "optional field block for fields specific to heartbeat events",
- "type": "object",
- "properties": {
- "additionalFields": {
- "description": "additional heartbeat fields if needed",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "heartbeatFieldsVersion": {
- "description": "version of the heartbeatFields block",
- "type": "number"
- },
- "heartbeatInterval": {
- "description": "current heartbeat interval in seconds",
- "type": "integer"
- }
- },
- "required": [ "heartbeatFieldsVersion", "heartbeatInterval" ]
- },
- "internalHeaderFields": {
- "description": "enrichment fields for internal VES Event Listener service use only, not supplied by event sources",
- "type": "object"
- },
- "jsonObject": {
- "description": "json object schema, name and other meta-information along with one or more object instances",
- "type": "object",
- "properties": {
- "objectInstances": {
- "description": "one or more instances of the jsonObject",
- "type": "array",
- "items": {
- "$ref": "#/definitions/jsonObjectInstance"
- }
- },
- "objectName": {
- "description": "name of the JSON Object",
- "type": "string"
- },
- "objectSchema": {
- "description": "json schema for the object",
- "type": "string"
- },
- "objectSchemaUrl": {
- "description": "Url to the json schema for the object",
- "type": "string"
- },
- "nfSubscribedObjectName": {
- "description": "name of the object associated with the nfSubscriptonId",
- "type": "string"
- },
- "nfSubscriptionId": {
- "description": "identifies an openConfig telemetry subscription on a network function, which configures the network function to send complex object data associated with the jsonObject",
- "type": "string"
- }
- },
- "required": [ "objectInstances", "objectName" ]
- },
- "jsonObjectInstance": {
- "description": "meta-information about an instance of a jsonObject along with the actual object instance",
- "type": "object",
- "properties": {
- "objectInstance": {
- "description": "an instance conforming to the jsonObject schema",
- "type": "object"
- },
- "objectInstanceEpochMicrosec": {
- "description": "the unix time aka epoch time associated with this objectInstance--as microseconds elapsed since 1 Jan 1970 not including leap seconds",
- "type": "number"
- },
- "objectKeys": {
- "description": "an ordered set of keys that identifies this particular instance of jsonObject",
- "type": "array",
- "items": {
- "$ref": "#/definitions/key"
- }
- }
- },
- "required": [ "objectInstance" ]
- },
- "key": {
- "description": "tuple which provides the name of a key along with its value and relative order",
- "type": "object",
- "properties": {
- "keyName": {
- "description": "name of the key",
- "type": "string"
- },
- "keyOrder": {
- "description": "relative sequence or order of the key with respect to other keys",
- "type": "integer"
- },
- "keyValue": {
- "description": "value of the key",
- "type": "string"
- }
- },
- "required": [ "keyName" ]
- },
- "latencyBucketMeasure": {
- "description": "number of counts falling within a defined latency bucket",
- "type": "object",
- "properties": {
- "countsInTheBucket": { "type": "number" },
- "highEndOfLatencyBucket": { "type": "number" },
- "lowEndOfLatencyBucket": { "type": "number" }
- },
- "required": [ "countsInTheBucket" ]
- },
- "measurementGroup": {
- "description": "measurement group",
- "type": "object",
- "properties": {
- "name": { "type": "string" },
- "measurements": {
- "description": "array of name value pair measurements",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- }
- },
- "required": [ "name", "measurements" ]
- },
- "measurementsForVfScalingFields": {
- "description": "measurementsForVfScaling fields",
- "type": "object",
- "properties": {
- "additionalFields": {
- "description": "additional name-value-pair fields",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "additionalMeasurements": {
- "description": "array of named name-value-pair arrays",
- "type": "array",
- "items": {
- "$ref": "#/definitions/namedArrayOfFields"
- }
- },
- "additionalObjects": {
- "description": "array of JSON objects described by name, schema and other meta-information",
- "type": "array",
- "items": {
- "$ref": "#/definitions/jsonObject"
- }
- },
- "codecUsageArray": {
- "description": "array of codecs in use",
- "type": "array",
- "items": {
- "$ref": "#/definitions/codecsInUse"
- }
- },
- "concurrentSessions": {
- "description": "peak concurrent sessions for the VM or VNF over the measurementInterval",
- "type": "integer"
- },
- "configuredEntities": {
- "description": "over the measurementInterval, peak total number of: users, subscribers, devices, adjacencies, etc., for the VM, or subscribers, devices, etc., for the VNF",
- "type": "integer"
- },
- "cpuUsageArray": {
- "description": "usage of an array of CPUs",
- "type": "array",
- "items": {
- "$ref": "#/definitions/cpuUsage"
- }
- },
- "diskUsageArray": {
- "description": "usage of an array of disks",
- "type": "array",
- "items": {
- "$ref": "#/definitions/diskUsage"
- }
- },
- "featureUsageArray": {
- "description": "array of features in use",
- "type": "array",
- "items": {
- "$ref": "#/definitions/featuresInUse"
- }
- },
- "filesystemUsageArray": {
- "description": "filesystem usage of the VM on which the VNFC reporting the event is running",
- "type": "array",
- "items": {
- "$ref": "#/definitions/filesystemUsage"
- }
- },
- "latencyDistribution": {
- "description": "array of integers representing counts of requests whose latency in milliseconds falls within per-VNF configured ranges",
- "type": "array",
- "items": {
- "$ref": "#/definitions/latencyBucketMeasure"
- }
- },
- "meanRequestLatency": {
- "description": "mean seconds required to respond to each request for the VM on which the VNFC reporting the event is running",
- "type": "number"
- },
- "measurementInterval": {
- "description": "interval over which measurements are being reported in seconds",
- "type": "number"
- },
- "measurementsForVfScalingVersion": {
- "description": "version of the measurementsForVfScaling block",
- "type": "number"
- },
- "memoryUsageArray": {
- "description": "memory usage of an array of VMs",
- "type": "array",
- "items": {
- "$ref": "#/definitions/memoryUsage"
- }
- },
- "numberOfMediaPortsInUse": {
- "description": "number of media ports in use",
- "type": "integer"
- },
- "requestRate": {
- "description": "peak rate of service requests per second to the VNF over the measurementInterval",
- "type": "number"
- },
- "vnfcScalingMetric": {
- "description": "represents busy-ness of the VNF from 0 to 100 as reported by the VNFC",
- "type": "integer"
- },
- "vNicPerformanceArray": {
- "description": "usage of an array of virtual network interface cards",
- "type": "array",
- "items": {
- "$ref": "#/definitions/vNicPerformance"
- }
- }
- },
- "required": [ "measurementInterval", "measurementsForVfScalingVersion" ]
- },
- "memoryUsage": {
- "description": "memory usage of an identified virtual machine",
- "type": "object",
- "properties": {
- "memoryBuffered": {
- "description": "kilobytes of temporary storage for raw disk blocks",
- "type": "number"
- },
- "memoryCached": {
- "description": "kilobytes of memory used for cache",
- "type": "number"
- },
- "memoryConfigured": {
- "description": "kilobytes of memory configured in the virtual machine on which the VNFC reporting the event is running",
- "type": "number"
- },
- "memoryFree": {
- "description": "kilobytes of physical RAM left unused by the system",
- "type": "number"
- },
- "memorySlabRecl": {
- "description": "the part of the slab that can be reclaimed such as caches measured in kilobytes",
- "type": "number"
- },
- "memorySlabUnrecl": {
- "description": "the part of the slab that cannot be reclaimed even when lacking memory measured in kilobytes",
- "type": "number"
- },
- "memoryUsed": {
- "description": "total memory minus the sum of free, buffered, cached and slab memory measured in kilobytes",
- "type": "number"
- },
- "vmIdentifier": {
- "description": "virtual machine identifier associated with the memory metrics",
- "type": "string"
- }
- },
- "required": [ "memoryFree", "memoryUsed", "vmIdentifier" ]
- },
- "mobileFlowFields": {
- "description": "mobileFlow fields",
- "type": "object",
- "properties": {
- "additionalFields": {
- "description": "additional mobileFlow fields if needed",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "applicationType": {
- "description": "Application type inferred",
- "type": "string"
- },
- "appProtocolType": {
- "description": "application protocol",
- "type": "string"
- },
- "appProtocolVersion": {
- "description": "application protocol version",
- "type": "string"
- },
- "cid": {
- "description": "cell id",
- "type": "string"
- },
- "connectionType": {
- "description": "Abbreviation referencing a 3GPP reference point e.g., S1-U, S11, etc",
- "type": "string"
- },
- "ecgi": {
- "description": "Evolved Cell Global Id",
- "type": "string"
- },
- "flowDirection": {
- "description": "Flow direction, indicating if the reporting node is the source of the flow or destination for the flow",
- "type": "string"
- },
- "gtpPerFlowMetrics": { "$ref": "#/definitions/gtpPerFlowMetrics" },
- "gtpProtocolType": {
- "description": "GTP protocol",
- "type": "string"
- },
- "gtpVersion": {
- "description": "GTP protocol version",
- "type": "string"
- },
- "httpHeader": {
- "description": "HTTP request header, if the flow connects to a node referenced by HTTP",
- "type": "string"
- },
- "imei": {
- "description": "IMEI for the subscriber UE used in this flow, if the flow connects to a mobile device",
- "type": "string"
- },
- "imsi": {
- "description": "IMSI for the subscriber UE used in this flow, if the flow connects to a mobile device",
- "type": "string"
- },
- "ipProtocolType": {
- "description": "IP protocol type e.g., TCP, UDP, RTP...",
- "type": "string"
- },
- "ipVersion": {
- "description": "IP protocol version e.g., IPv4, IPv6",
- "type": "string"
- },
- "lac": {
- "description": "location area code",
- "type": "string"
- },
- "mcc": {
- "description": "mobile country code",
- "type": "string"
- },
- "mnc": {
- "description": "mobile network code",
- "type": "string"
- },
- "mobileFlowFieldsVersion": {
- "description": "version of the mobileFlowFields block",
- "type": "number"
- },
- "msisdn": {
- "description": "MSISDN for the subscriber UE used in this flow, as an integer, if the flow connects to a mobile device",
- "type": "string"
- },
- "otherEndpointIpAddress": {
- "description": "IP address for the other endpoint, as used for the flow being reported on",
- "type": "string"
- },
- "otherEndpointPort": {
- "description": "IP Port for the reporting entity, as used for the flow being reported on",
- "type": "integer"
- },
- "otherFunctionalRole": {
- "description": "Functional role of the other endpoint for the flow being reported on e.g., MME, S-GW, P-GW, PCRF...",
- "type": "string"
- },
- "rac": {
- "description": "routing area code",
- "type": "string"
- },
- "radioAccessTechnology": {
- "description": "Radio Access Technology e.g., 2G, 3G, LTE",
- "type": "string"
- },
- "reportingEndpointIpAddr": {
- "description": "IP address for the reporting entity, as used for the flow being reported on",
- "type": "string"
- },
- "reportingEndpointPort": {
- "description": "IP port for the reporting entity, as used for the flow being reported on",
- "type": "integer"
- },
- "sac": {
- "description": "service area code",
- "type": "string"
- },
- "samplingAlgorithm": {
- "description": "Integer identifier for the sampling algorithm or rule being applied in calculating the flow metrics if metrics are calculated based on a sample of packets, or 0 if no sampling is applied",
- "type": "integer"
- },
- "tac": {
- "description": "transport area code",
- "type": "string"
- },
- "tunnelId": {
- "description": "tunnel identifier",
- "type": "string"
- },
- "vlanId": {
- "description": "VLAN identifier used by this flow",
- "type": "string"
- }
- },
- "required": [ "flowDirection", "gtpPerFlowMetrics", "ipProtocolType", "ipVersion",
- "mobileFlowFieldsVersion", "otherEndpointIpAddress", "otherEndpointPort",
- "reportingEndpointIpAddr", "reportingEndpointPort" ]
- },
- "namedArrayOfFields": {
- "description": "an array of name value pairs along with a name for the array",
- "type": "object",
- "properties": {
- "name": { "type": "string" },
- "arrayOfFields": {
- "description": "array of name value pairs",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- }
- },
- "required": [ "name", "measurements" ]
- },
- "otherFields": {
- "description": "fields for events belonging to the 'other' domain of the commonEventHeader domain enumeration",
- "type": "object",
- "properties": {
- "hashOfNameValuePairArrays": {
- "description": "array of named name-value-pair arrays",
- "type": "array",
- "items": {
- "$ref": "#/definitions/namedArrayOfFields"
- }
- },
- "jsonObjects": {
- "description": "array of JSON objects described by name, schema and other meta-information",
- "type": "array",
- "items": {
- "$ref": "#/definitions/jsonObject"
- }
- },
- "nameValuePairs": {
- "description": "array of name-value pairs",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "otherFieldsVersion": {
- "description": "version of the otherFields block",
- "type": "number"
- }
- },
- "required": [ "otherFieldsVersion" ]
- },
- "requestError": {
- "description": "standard request error data structure",
- "type": "object",
- "properties": {
- "messageId": {
- "description": "Unique message identifier of the format ABCnnnn where ABC is either SVC for Service Exceptions or POL for Policy Exception",
- "type": "string"
- },
- "text": {
- "description": "Message text, with replacement variables marked with %n, where n is an index into the list of <variables> elements, starting at 1",
- "type": "string"
- },
- "url": {
- "description": "Hyperlink to a detailed error resource e.g., an HTML page for browser user agents",
- "type": "string"
- },
- "variables": {
- "description": "List of zero or more strings that represent the contents of the variables used by the message text",
- "type": "string"
- }
- },
- "required": [ "messageId", "text" ]
- },
- "sipSignalingFields": {
- "description": "sip signaling fields",
- "type": "object",
- "properties": {
- "additionalInformation": {
- "description": "additional sip signaling fields if needed",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "compressedSip": {
- "description": "the full SIP request/response including headers and bodies",
- "type": "string"
- },
- "correlator": {
- "description": "this is the same for all events on this call",
- "type": "string"
- },
- "localIpAddress": {
- "description": "IP address on VNF",
- "type": "string"
- },
- "localPort": {
- "description": "port on VNF",
- "type": "string"
- },
- "remoteIpAddress": {
- "description": "IP address of peer endpoint",
- "type": "string"
- },
- "remotePort": {
- "description": "port of peer endpoint",
- "type": "string"
- },
- "sipSignalingFieldsVersion": {
- "description": "version of the sipSignalingFields block",
- "type": "number"
- },
- "summarySip": {
- "description": "the SIP Method or Response (‘INVITE’, ‘200 OK’, ‘BYE’, etc)",
- "type": "string"
- },
- "vnfVendorNameFields": {
- "$ref": "#/definitions/vnfVendorNameFields"
- }
- },
- "required": [ "correlator", "localIpAddress", "localPort", "remoteIpAddress",
- "remotePort", "sipSignalingFieldsVersion", "vnfVendorNameFields" ]
- },
- "stateChangeFields": {
- "description": "stateChange fields",
- "type": "object",
- "properties": {
- "additionalFields": {
- "description": "additional stateChange fields if needed",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "newState": {
- "description": "new state of the entity",
- "type": "string",
- "enum": [
- "inService",
- "maintenance",
- "outOfService"
- ]
- },
- "oldState": {
- "description": "previous state of the entity",
- "type": "string",
- "enum": [
- "inService",
- "maintenance",
- "outOfService"
- ]
- },
- "stateChangeFieldsVersion": {
- "description": "version of the stateChangeFields block",
- "type": "number"
- },
- "stateInterface": {
- "description": "card or port name of the entity that changed state",
- "type": "string"
- }
- },
- "required": [ "newState", "oldState", "stateChangeFieldsVersion", "stateInterface" ]
- },
- "suppressedNvPairs": {
- "description": "List of specific NvPairsNames to suppress within a given Name-Value Field for event Throttling",
- "type": "object",
- "properties": {
- "nvPairFieldName": {
- "description": "Name of the field within which are the nvpair names to suppress",
- "type": "string"
- },
- "suppressedNvPairNames": {
- "description": "Array of nvpair names to suppress within the nvpairFieldName",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "required": [ "nvPairFieldName", "suppressedNvPairNames" ]
- },
- "syslogFields": {
- "description": "sysLog fields",
- "type": "object",
- "properties": {
- "additionalFields": {
- "description": "additional syslog fields if needed provided as name=value delimited by a pipe ‘|’ symbol, for example: 'name1=value1|name2=value2|…'",
- "type": "string"
- },
- "eventSourceHost": {
- "description": "hostname of the device",
- "type": "string"
- },
- "eventSourceType": {
- "description": "type of event source; examples: other, router, switch, host, card, port, slotThreshold, portThreshold, virtualMachine, virtualNetworkFunction",
- "type": "string"
- },
- "syslogFacility": {
- "description": "numeric code from 0 to 23 for facility--see table in documentation",
- "type": "integer"
- },
- "syslogFieldsVersion": {
- "description": "version of the syslogFields block",
- "type": "number"
- },
- "syslogMsg": {
- "description": "syslog message",
- "type": "string"
- },
- "syslogPri": {
- "description": "0-192 combined severity and facility",
- "type": "integer"
- },
- "syslogProc": {
- "description": "identifies the application that originated the message",
- "type": "string"
- },
- "syslogProcId": {
- "description": "a change in the value of this field indicates a discontinuity in syslog reporting",
- "type": "number"
- },
- "syslogSData": {
- "description": "syslog structured data consisting of a structured data Id followed by a set of key value pairs",
- "type": "string"
- },
- "syslogSdId": {
- "description": "0-32 char in format name@number for example ourSDID@32473",
- "type": "string"
- },
- "syslogSev": {
- "description": "numerical Code for severity derived from syslogPri as remaider of syslogPri / 8",
- "type": "string",
- "enum": [
- "Alert",
- "Critical",
- "Debug",
- "Emergency",
- "Error",
- "Info",
- "Notice",
- "Warning"
- ]
- },
- "syslogTag": {
- "description": "msgId indicating the type of message such as TCPOUT or TCPIN; NILVALUE should be used when no other value can be provided",
- "type": "string"
- },
- "syslogVer": {
- "description": "IANA assigned version of the syslog protocol specification - typically 1",
- "type": "number"
- }
- },
- "required": [ "eventSourceType", "syslogFieldsVersion", "syslogMsg", "syslogTag" ]
- },
- "thresholdCrossingAlertFields": {
- "description": "fields specific to threshold crossing alert events",
- "type": "object",
- "properties": {
- "additionalFields": {
- "description": "additional threshold crossing alert fields if needed",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "additionalParameters": {
- "description": "performance counters",
- "type": "array",
- "items": {
- "$ref": "#/definitions/counter"
- }
- },
- "alertAction": {
- "description": "Event action",
- "type": "string",
- "enum": [
- "CLEAR",
- "CONT",
- "SET"
- ]
- },
- "alertDescription": {
- "description": "Unique short alert description such as IF-SHUB-ERRDROP",
- "type": "string"
- },
- "alertType": {
- "description": "Event type",
- "type": "string",
- "enum": [
- "CARD-ANOMALY",
- "ELEMENT-ANOMALY",
- "INTERFACE-ANOMALY",
- "SERVICE-ANOMALY"
- ]
- },
- "alertValue": {
- "description": "Calculated API value (if applicable)",
- "type": "string"
- },
- "associatedAlertIdList": {
- "description": "List of eventIds associated with the event being reported",
- "type": "array",
- "items": { "type": "string" }
- },
- "collectionTimestamp": {
- "description": "Time when the performance collector picked up the data; with RFC 2822 compliant format: Sat, 13 Mar 2010 11:29:05 -0800",
- "type": "string"
- },
- "dataCollector": {
- "description": "Specific performance collector instance used",
- "type": "string"
- },
- "elementType": {
- "description": "type of network element - internal ATT field",
- "type": "string"
- },
- "eventSeverity": {
- "description": "event severity or priority",
- "type": "string",
- "enum": [
- "CRITICAL",
- "MAJOR",
- "MINOR",
- "WARNING",
- "NORMAL"
- ]
- },
- "eventStartTimestamp": {
- "description": "Time closest to when the measurement was made; with RFC 2822 compliant format: Sat, 13 Mar 2010 11:29:05 -0800",
- "type": "string"
- },
- "interfaceName": {
- "description": "Physical or logical port or card (if applicable)",
- "type": "string"
- },
- "networkService": {
- "description": "network name - internal ATT field",
- "type": "string"
- },
- "possibleRootCause": {
- "description": "Reserved for future use",
- "type": "string"
- },
- "thresholdCrossingFieldsVersion": {
- "description": "version of the thresholdCrossingAlertFields block",
- "type": "number"
- }
- },
- "required": [
- "additionalParameters",
- "alertAction",
- "alertDescription",
- "alertType",
- "collectionTimestamp",
- "eventSeverity",
- "eventStartTimestamp",
- "thresholdCrossingFieldsVersion"
- ]
- },
- "vendorVnfNameFields": {
- "description": "provides vendor, vnf and vfModule identifying information",
- "type": "object",
- "properties": {
- "vendorName": {
- "description": "VNF vendor name",
- "type": "string"
- },
- "vfModuleName": {
- "description": "ASDC vfModuleName for the vfModule generating the event",
- "type": "string"
- },
- "vnfName": {
- "description": "ASDC modelName for the VNF generating the event",
- "type": "string"
- }
- },
- "required": [ "vendorName" ]
- },
- "vNicPerformance": {
- "description": "describes the performance and errors of an identified virtual network interface card",
- "type": "object",
- "properties": {
- "receivedBroadcastPacketsAccumulated": {
- "description": "Cumulative count of broadcast packets received as read at the end of the measurement interval",
- "type": "number"
- },
- "receivedBroadcastPacketsDelta": {
- "description": "Count of broadcast packets received within the measurement interval",
- "type": "number"
- },
- "receivedDiscardedPacketsAccumulated": {
- "description": "Cumulative count of discarded packets received as read at the end of the measurement interval",
- "type": "number"
- },
- "receivedDiscardedPacketsDelta": {
- "description": "Count of discarded packets received within the measurement interval",
- "type": "number"
- },
- "receivedErrorPacketsAccumulated": {
- "description": "Cumulative count of error packets received as read at the end of the measurement interval",
- "type": "number"
- },
- "receivedErrorPacketsDelta": {
- "description": "Count of error packets received within the measurement interval",
- "type": "number"
- },
- "receivedMulticastPacketsAccumulated": {
- "description": "Cumulative count of multicast packets received as read at the end of the measurement interval",
- "type": "number"
- },
- "receivedMulticastPacketsDelta": {
- "description": "Count of multicast packets received within the measurement interval",
- "type": "number"
- },
- "receivedOctetsAccumulated": {
- "description": "Cumulative count of octets received as read at the end of the measurement interval",
- "type": "number"
- },
- "receivedOctetsDelta": {
- "description": "Count of octets received within the measurement interval",
- "type": "number"
- },
- "receivedTotalPacketsAccumulated": {
- "description": "Cumulative count of all packets received as read at the end of the measurement interval",
- "type": "number"
- },
- "receivedTotalPacketsDelta": {
- "description": "Count of all packets received within the measurement interval",
- "type": "number"
- },
- "receivedUnicastPacketsAccumulated": {
- "description": "Cumulative count of unicast packets received as read at the end of the measurement interval",
- "type": "number"
- },
- "receivedUnicastPacketsDelta": {
- "description": "Count of unicast packets received within the measurement interval",
- "type": "number"
- },
- "transmittedBroadcastPacketsAccumulated": {
- "description": "Cumulative count of broadcast packets transmitted as read at the end of the measurement interval",
- "type": "number"
- },
- "transmittedBroadcastPacketsDelta": {
- "description": "Count of broadcast packets transmitted within the measurement interval",
- "type": "number"
- },
- "transmittedDiscardedPacketsAccumulated": {
- "description": "Cumulative count of discarded packets transmitted as read at the end of the measurement interval",
- "type": "number"
- },
- "transmittedDiscardedPacketsDelta": {
- "description": "Count of discarded packets transmitted within the measurement interval",
- "type": "number"
- },
- "transmittedErrorPacketsAccumulated": {
- "description": "Cumulative count of error packets transmitted as read at the end of the measurement interval",
- "type": "number"
- },
- "transmittedErrorPacketsDelta": {
- "description": "Count of error packets transmitted within the measurement interval",
- "type": "number"
- },
- "transmittedMulticastPacketsAccumulated": {
- "description": "Cumulative count of multicast packets transmitted as read at the end of the measurement interval",
- "type": "number"
- },
- "transmittedMulticastPacketsDelta": {
- "description": "Count of multicast packets transmitted within the measurement interval",
- "type": "number"
- },
- "transmittedOctetsAccumulated": {
- "description": "Cumulative count of octets transmitted as read at the end of the measurement interval",
- "type": "number"
- },
- "transmittedOctetsDelta": {
- "description": "Count of octets transmitted within the measurement interval",
- "type": "number"
- },
- "transmittedTotalPacketsAccumulated": {
- "description": "Cumulative count of all packets transmitted as read at the end of the measurement interval",
- "type": "number"
- },
- "transmittedTotalPacketsDelta": {
- "description": "Count of all packets transmitted within the measurement interval",
- "type": "number"
- },
- "transmittedUnicastPacketsAccumulated": {
- "description": "Cumulative count of unicast packets transmitted as read at the end of the measurement interval",
- "type": "number"
- },
- "transmittedUnicastPacketsDelta": {
- "description": "Count of unicast packets transmitted within the measurement interval",
- "type": "number"
- },
- "valuesAreSuspect": {
- "description": "Indicates whether vNicPerformance values are likely inaccurate due to counter overflow or other condtions",
- "type": "string",
- "enum": [ "true", "false" ]
- },
- "vNicIdentifier": {
- "description": "vNic identification",
- "type": "string"
- }
- },
- "required": [ "valuesAreSuspect", "vNicIdentifier" ]
- },
- "voiceQualityFields": {
- "description": "provides statistics related to customer facing voice products",
- "type": "object",
- "properties": {
- "additionalInformation": {
- "description": "additional voice quality fields if needed",
- "type": "array",
- "items": {
- "$ref": "#/definitions/field"
- }
- },
- "calleeSideCodec": {
- "description": "callee codec for the call",
- "type": "string"
- },
- "callerSideCodec": {
- "description": "caller codec for the call",
- "type": "string"
- },
- "correlator": {
- "description": "this is the same for all events on this call",
- "type": "string"
- },
- "endOfCallVqmSummaries": {
- "$ref": "#/definitions/endOfCallVqmSummaries"
- },
- "phoneNumber": {
- "description": "phone number associated with the correlator",
- "type": "string"
- },
- "midCallRtcp": {
- "description": "Base64 encoding of the binary RTCP data excluding Eth/IP/UDP headers",
- "type": "string"
- },
- "vendorVnfNameFields": {
- "$ref": "#/definitions/vendorVnfNameFields"
- },
- "voiceQualityFieldsVersion": {
- "description": "version of the voiceQualityFields block",
- "type": "number"
- }
- },
- "required": [ "calleeSideCodec", "callerSideCodec", "correlator", "midCallRtcp",
- "vendorVnfNameFields", "voiceQualityFieldsVersion" ]
- }
- },
- "title": "Event Listener",
- "type": "object",
- "properties": {
- "event": {"$ref": "#/definitions/event"}
- }
-}
\ No newline at end of file diff --git a/vnfs/VES5.0/evel/evel-test-collector/docs/att_interface_definition/event_format_updated.json.wk b/vnfs/VES5.0/evel/evel-test-collector/docs/att_interface_definition/event_format_updated.json.wk deleted file mode 100644 index cb2311b5..00000000 --- a/vnfs/VES5.0/evel/evel-test-collector/docs/att_interface_definition/event_format_updated.json.wk +++ /dev/null @@ -1,1617 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - - "definitions": { - "attCopyrightNotice": { - "description": "Copyright (c) <2016>, AT&T Intellectual Property. All other rights reserved", - "type": "object", - "properties": { - "useAndRedistribution": { - "description": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:", - "type": "string" - }, - "condition1": { - "description": "Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.", - "type": "string" - }, - "condition2": { - "description": "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.", - "type": "string" - }, - "condition3": { - "description": "All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the AT&T.", - "type": "string" - }, - "condition4": { - "description": "Neither the name of AT&T nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.", - "type": "string" - }, - "disclaimerLine1": { - "description": "THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS", - "type": "string" - }, - "disclaimerLine2": { - "description": "FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES", - "type": "string" - }, - "disclaimerLine3": { - "description": "(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,", - "type": "string" - }, - "disclaimerLine4": { - "description": "WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", - "type": "string" - } - } - }, - "codecsInUse": { - "description": "number of times an identified codec was used over the measurementInterval", - "type": "object", - "properties": { - "codecIdentifier": { "type": "string" }, - "numberInUse": { "type": "number" } - }, - "required": [ "codecIdentifier", "numberInUse" ] - }, - "codecSelected": { - "description": "codec selected for the call - 'PCMA', 'G729A', ...", - "type": "object", - "properties": { - "codec": { "type": "string" } - } - }, - "codecSelectedTranscoding": { - "description": "codecs selected for the call, when transcoding is occurring", - "type": "object", - "properties": { - "calleeSideCodec": { "type": "string" }, - "callerSideCodec": { "type": "string" } - } - }, - "command": { - "description": "command from an event collector toward an event source", - "type": "object", - "properties": { - "commandType": { - "type": "string", - "enum": [ - "heartbeatIntervalChange", - "measurementIntervalChange", - "provideThrottlingState", - "throttlingSpecification" - ] - }, - "eventDomainThrottleSpecification": { "$ref": "#/definitions/eventDomainThrottleSpecification" }, - "heartbeatInterval": { "type": "integer" }, - "measurementInterval": { "type": "number" } - }, - "required": [ "commandType" ] - }, - "commandList": { - "description": "array of commands from an event collector toward an event source", - "type": "array", - "items": { - "$ref": "#/definitions/commandListEntry" - }, - "minItems": 0 - }, - "commandListEntry": { - "description": "reference to a command object", - "type": "object", - "properties": { - "command": {"$ref": "#/definitions/command"} - }, - "required": [ "command" ] - }, - "commonEventHeader": { - "description": "fields common to all events", - "type": "object", - "properties": { - "domain": { - "description": "the eventing domain associated with the event", - "type": "string", - "enum": [ - "fault", - "heartbeat", - "measurementsForVfScaling", - "mobileFlow", - "other", - "serviceEvents", - "signaling", - "stateChange", - "syslog", - "thresholdCrossingAlert" - ] - }, - "eventId": { - "description": "event key that is unique to the event source", - "type": "string" - }, - "eventType": { - "description": "unique event topic name", - "type": "string" - }, - "functionalRole": { - "description": "function of the event source e.g., eNodeB, MME, PCRF", - "type": "string" - }, - "lastEpochMicrosec": { - "description": "the latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds", - "type": "number" - }, - "priority": { - "description": "processing priority", - "type": "string", - "enum": [ - "High", - "Medium", - "Normal", - "Low" - ] - }, - "reportingEntityId": { - "description": "UUID identifying the entity reporting the event, for example an OAM VM", - "type": "string" - }, - "reportingEntityName": { - "description": "name of the entity reporting the event, for example, an OAM VM", - "type": "string" - }, - "sequence": { - "description": "ordering of events communicated by an event source instance or 0 if not needed", - "type": "integer" - }, - "sourceId": { - "description": "UUID identifying the entity experiencing the event issue", - "type": "string" - }, - "sourceName": { - "description": "name of the entity experiencing the event issue", - "type": "string" - }, - "startEpochMicrosec": { - "description": "the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds", - "type": "number" - }, - "version": { - "description": "version of the event header", - "type": "number" - } - }, - "required": [ "domain", "eventId", "functionalRole", "lastEpochMicrosec", - "priority", "reportingEntityName", "sequence", - "sourceName", "startEpochMicrosec" ] - }, - "counter": { - "description": "performance counter", - "type": "object", - "properties": { - "criticality": { "type": "string", "enum": [ "CRIT", "MAJ" ] }, - "name": { "type": "string" }, - "thresholdCrossed": { "type": "string" }, - "value": { "type": "string"} - }, - "required": [ "criticality", "name", "thresholdCrossed", "value" ] - }, - "cpuUsage": { - "description": "usage of an identified CPU", - "type": "object", - "properties": { - "cpuIdentifier": { - "description": "cpu identifer", - "type": "string" - }, - "cpuIdle": { - "description": "percentage of CPU time spent in the idle task", - "type": "number" - }, - "cpuUsageInterrupt": { - "description": "percentage of time spent servicing interrupts", - "type": "number" - }, - "cpuUsageNice": { - "description": "percentage of time spent running user space processes that have been niced", - "type": "number" - }, - "cpuUsageSoftIrq": { - "description": "percentage of time spent handling soft irq interrupts", - "type": "number" - }, - "cpuUsageSteal": { - "description": "percentage of time spent in involuntary wait which is neither user, system or idle time and is effectively time that went missing", - "type": "number" - }, - "cpuUsageSystem": { - "description": "percentage of time spent on system tasks running the kernel", - "type": "number" - }, - "cpuUsageUser": { - "description": "percentage of time spent running un-niced user space processes", - "type": "number" - }, - "cpuWait": { - "description": "percentage of CPU time spent waiting for I/O operations to complete", - "type": "number" - }, - "percentUsage": { - "description": "aggregate cpu usage of the virtual machine on which the VNFC reporting the event is running", - "type": "number" - } - }, - "required": [ "cpuIdentifier", "percentUsage" ] - }, - "diskUsage": { - "description": "usage of an identified disk", - "type": "object", - "properties": { - "diskIdentifier": { - "description": "disk identifier", - "type": "string" - }, - "diskIoTimeAvg": { - "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the average over the measurement interval", - "type": "number" - }, - "diskIoTimeLast": { - "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the last value measurement within the measurement interval", - "type": "number" - }, - "diskIoTimeMax": { - "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the maximum value measurement within the measurement interval", - "type": "number" - }, - "diskIoTimeMin": { - "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the minimum value measurement within the measurement interval", - "type": "number" - }, - "diskMergedReadAvg": { - "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskMergedReadLast": { - "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the last value measurement within the measurement interval", - "type": "number" - }, - "diskMergedReadMax": { - "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the maximum value measurement within the measurement interval", - "type": "number" - }, - "diskMergedReadMin": { - "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the minimum value measurement within the measurement interval", - "type": "number" - }, - "diskMergedWriteAvg": { - "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskMergedWriteLast": { - "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the last value measurement within the measurement interval", - "type": "number" - }, - "diskMergedWriteMax": { - "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the maximum value measurement within the measurement interval", - "type": "number" - }, - "diskMergedWriteMin": { - "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the minimum value measurement within the measurement interval", - "type": "number" - }, - "diskOctetsReadAvg": { - "description": "number of octets per second read from a disk or partition; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskOctetsReadLast": { - "description": "number of octets per second read from a disk or partition; provide the last measurement within the measurement interval", - "type": "number" - }, - "diskOctetsReadMax": { - "description": "number of octets per second read from a disk or partition; provide the maximum measurement within the measurement interval", - "type": "number" - }, - "diskOctetsReadMin": { - "description": "number of octets per second read from a disk or partition; provide the minimum measurement within the measurement interval", - "type": "number" - }, - "diskOctetsWriteAvg": { - "description": "number of octets per second written to a disk or partition; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskOctetsWriteLast": { - "description": "number of octets per second written to a disk or partition; provide the last measurement within the measurement interval", - "type": "number" - }, - "diskOctetsWriteMax": { - "description": "number of octets per second written to a disk or partition; provide the maximum measurement within the measurement interval", - "type": "number" - }, - "diskOctetsWriteMin": { - "description": "number of octets per second written to a disk or partition; provide the minimum measurement within the measurement interval", - "type": "number" - }, - "diskOpsReadAvg": { - "description": "number of read operations per second issued to the disk; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskOpsReadLast": { - "description": "number of read operations per second issued to the disk; provide the last measurement within the measurement interval", - "type": "number" - }, - "diskOpsReadMax": { - "description": "number of read operations per second issued to the disk; provide the maximum measurement within the measurement interval", - "type": "number" - }, - "diskOpsReadMin": { - "description": "number of read operations per second issued to the disk; provide the minimum measurement within the measurement interval", - "type": "number" - }, - "diskOpsWriteAvg": { - "description": "number of write operations per second issued to the disk; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskOpsWriteLast": { - "description": "number of write operations per second issued to the disk; provide the last measurement within the measurement interval", - "type": "number" - }, - "diskOpsWriteMax": { - "description": "number of write operations per second issued to the disk; provide the maximum measurement within the measurement interval", - "type": "number" - }, - "diskOpsWriteMin": { - "description": "number of write operations per second issued to the disk; provide the minimum measurement within the measurement interval", - "type": "number" - }, - "diskPendingOperationsAvg": { - "description": "queue size of pending I/O operations per second; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskPendingOperationsLast": { - "description": "queue size of pending I/O operations per second; provide the last measurement within the measurement interval", - "type": "number" - }, - "diskPendingOperationsMax": { - "description": "queue size of pending I/O operations per second; provide the maximum measurement within the measurement interval", - "type": "number" - }, - "diskPendingOperationsMin": { - "description": "queue size of pending I/O operations per second; provide the minimum measurement within the measurement interval", - "type": "number" - }, - "diskTimeReadAvg": { - "description": "milliseconds a read operation took to complete; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskTimeReadLast": { - "description": "milliseconds a read operation took to complete; provide the last measurement within the measurement interval", - "type": "number" - }, - "diskTimeReadMax": { - "description": "milliseconds a read operation took to complete; provide the maximum measurement within the measurement interval", - "type": "number" - }, - "diskTimeReadMin": { - "description": "milliseconds a read operation took to complete; provide the minimum measurement within the measurement interval", - "type": "number" - }, - "diskTimeWriteAvg": { - "description": "milliseconds a write operation took to complete; provide the average measurement within the measurement interval", - "type": "number" - }, - "diskTimeWriteLast": { - "description": "milliseconds a write operation took to complete; provide the last measurement within the measurement interval", - "type": "number" - }, - "diskTimeWriteMax": { - "description": "milliseconds a write operation took to complete; provide the maximum measurement within the measurement interval", - "type": "number" - }, - "diskTimeWriteMin": { - "description": "milliseconds a write operation took to complete; provide the minimum measurement within the measurement interval", - "type": "number" - } - }, - "required": [ "diskIdentifier" ] - }, - "endOfCallVqmSummaries": { - "description": "", - "type": "object", - "properties": { - "adjacencyName": { - "description": " adjacency name", - "type": "string" - }, - "endpointDescription": { - "description": "‘Caller’, ‘Callee’", - "type": "string", - "enum": ["Caller", "Callee"] - }, - "endpointJitter": { - "description": "", - "type": "number" - }, - "endpointRtpOctetsDiscarded": { - "description": "", - "type": "number" - }, - "endpointRtpOctetsReceived": { - "description": "", - "type": "number" - }, - "endpointRtpOctetsSent": { - "description": "", - "type": "number" - }, - "endpointRtpPacketsDiscarded": { - "description": "", - "type": "number" - }, - "endpointRtpPacketsReceived": { - "description": "", - "type": "number" - }, - "endpointRtpPacketsSent": { - "description": "", - "type": "number" - }, - "localJitter": { - "description": "", - "type": "number" - }, - "localRtpOctetsDiscarded": { - "description": "", - "type": "number" - }, - "localRtpOctetsReceived": { - "description": "", - "type": "number" - }, - "localRtpOctetsSent": { - "description": "", - "type": "number" - }, - "localRtpPacketsDiscarded": { - "description": "", - "type": "number" - }, - "localRtpPacketsReceived": { - "description": "", - "type": "number" - }, - "localRtpPacketsSent": { - "description": "", - "type": "number" - }, - "mosCqe": { - "description": "1-5 1dp", - "type": "number" - }, - "packetsLost": { - "description": "", - "type": "number" - }, - "packetLossPercent": { - "description" : "Calculated percentage packet loss based on Endpoint RTP packets lost (as reported in RTCP) and Local RTP packets sent. Direction is based on Endpoint description (Caller, Callee). Decimal (2 dp)", - "type": "number" - }, - "rFactor": { - "description": "0-100", - "type": "number" - }, - "roundTripDelay": { - "description": "millisecs", - "type": "number" - } - } - }, - "errors": { - "description": "receive and transmit errors for the measurements domain", - "type": "object", - "properties": { - "receiveDiscards": { "type": "number" }, - "receiveErrors": { "type": "number" }, - "transmitDiscards": { "type": "number" }, - "transmitErrors": { "type": "number" } - }, - "required": [ "receiveDiscards", "receiveErrors", "transmitDiscards", "transmitErrors" ] - }, - "event": { - "description": "generic event format", - "type": "object", - "properties": { - "commonEventHeader": { "$ref": "#/definitions/commonEventHeader" }, - "faultFields": { "$ref": "#/definitions/faultFields" }, - "measurementsForVfScalingFields": { "$ref": "#/definitions/measurementsForVfScalingFields" }, - "heartbeatFields": { "$ref": "#/definitions/heartbeatFields" }, - "mobileFlowFields": { "$ref": "#/definitions/mobileFlowFields" }, - "otherFields": { "$ref": "#/definitions/otherFields" }, - "serviceEventsFields": { "$ref": "#/definitions/serviceEventsFields" }, - "signalingFields": { "$ref": "#/definitions/signalingFields" }, - "stateChangeFields": { "$ref": "#/definitions/stateChangeFields" }, - "syslogFields": { "$ref": "#/definitions/syslogFields" }, - "thresholdCrossingAlertFields": { "$ref": "#/definitions/thresholdCrossingAlertFields" } - }, - "required": [ "commonEventHeader" ] - }, - "eventDomainThrottleSpecification": { - "description": "specification of what information to suppress within an event domain", - "type": "object", - "properties": { - "eventDomain": { - "description": "Event domain enum from the commonEventHeader domain field", - "type": "string" - }, - "suppressedFieldNames": { - "description": "List of optional field names in the event block that should not be sent to the Event Listener", - "type": "array", - "items": { - "type": "string" - } - }, - "suppressedNvPairsList": { - "description": "Optional list of specific NvPairsNames to suppress within a given Name-Value Field", - "type": "array", - "items": { - "$ref": "#/definitions/suppressedNvPairs" - } - } - }, - "required": [ "eventDomain" ] - }, - "eventDomainThrottleSpecificationList": { - "description": "array of eventDomainThrottleSpecifications", - "type": "array", - "items": { - "$ref": "#/definitions/eventDomainThrottleSpecification" - }, - "minItems": 0 - }, - "eventInstanceIdentifier": { - "description": "event instance identifiers", - "type": "object", - "properties": { - "eventId": { - "description": "event identifier", - "type": "string" - }, - "vendorId": { - "description": "vendor identifier", - "type": "string" - }, - "productId": { - "description": "product identifier", - "type": "string" - }, - "subsystemId": { - "description": "subsystem identifier", - "type": "string" - }, - "eventFriendlyName": { - "description": "event instance friendly name", - "type": "string" - } - }, - "required": [ "eventId", "vendorId" ] - }, - "eventList": { - "description": "array of events", - "type": "array", - "items": { - "$ref": "#/definitions/event" - } - }, - "eventThrottlingState": { - "description": "reports the throttling in force at the event source", - "type": "object", - "properties": { - "eventThrottlingMode": { - "description": "Mode the event manager is in", - "type": "string", - "enum": [ - "normal", - "throttled" - ] - }, - "eventDomainThrottleSpecificationList": { "$ref": "#/definitions/eventDomainThrottleSpecificationList" } - }, - "required": [ "eventThrottlingMode" ] - }, - "faultFields": { - "description": "fields specific to fault events", - "type": "object", - "properties": { - "alarmAdditionalInformation": { - "description": "additional alarm information", - "type": "array", - "items": { - "$ref": "#/definitions/field" - } - }, - "alarmCondition": { - "description": "alarm condition reported by the device", - "type": "string" - }, - "alarmInterfaceA": { - "description": "card, port, channel or interface name of the device generating the alarm", - "type": "string" - }, - "eventSeverity": { - "description": "event severity or priority", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "NORMAL" - ] - }, - "eventSourceType": { - "description": "type of event source; examples: other, router, switch, host, card, port, slotThreshold, portThreshold, virtualMachine, virtualNetworkFunction", - "type": "string" - }, - "faultFieldsVersion": { - "description": "version of the faultFields block", - "type": "number" - }, - "specificProblem": { - "description": "short description of the alarm or problem", - "type": "string" - }, - "vfStatus": { - "description": "virtual function status enumeration", - "type": "string", - "enum": [ - "Active", - "Idle", - "Preparing to terminate", - "Ready to terminate", - "Requesting termination" - ] - } - }, - "required": [ "alarmCondition", "eventSeverity", - "eventSourceType", "specificProblem", "vfStatus" ] - }, - "featuresInUse": { - "description": "number of times an identified feature was used over the measurementInterval", - "type": "object", - "properties": { - "featureIdentifier": { "type": "string" }, - "featureUtilization": { "type": "number" } - }, - "required": [ "featureIdentifier", "featureUtilization" ] - }, - "field": { - "description": "name value pair", - "type": "object", - "properties": { - "name": { "type": "string" }, - "value": { "type": "string" } - }, - "required": [ "name", "value" ] - }, - "filesystemUsage": { - "description": "disk usage of an identified virtual machine in gigabytes and/or gigabytes per second", - "type": "object", - "properties": { - "blockConfigured": { "type": "number" }, - "blockIops": { "type": "number" }, - "blockUsed": { "type": "number" }, - "ephemeralConfigured": { "type": "number" }, - "ephemeralIops": { "type": "number" }, - "ephemeralUsed": { "type": "number" }, - "filesystemName": { "type": "string" } - }, - "required": [ "blockConfigured", "blockIops", "blockUsed", "ephemeralConfigured", - "ephemeralIops", "ephemeralUsed", "filesystemName" ] - }, - "gtpPerFlowMetrics": { - "description": "Mobility GTP Protocol per flow metrics", - "type": "object", - "properties": { - "avgBitErrorRate": { - "description": "average bit error rate", - "type": "number" - }, - "avgPacketDelayVariation": { - "description": "Average packet delay variation or jitter in milliseconds for received packets: Average difference between the packet timestamp and time received for all pairs of consecutive packets", - "type": "number" - }, - "avgPacketLatency": { - "description": "average delivery latency", - "type": "number" - }, - "avgReceiveThroughput": { - "description": "average receive throughput", - "type": "number" - }, - "avgTransmitThroughput": { - "description": "average transmit throughput", - "type": "number" - }, - "durConnectionFailedStatus": { - "description": "duration of failed state in milliseconds, computed as the cumulative time between a failed echo request and the next following successful error request, over this reporting interval", - "type": "number" - }, - "durTunnelFailedStatus": { - "description": "Duration of errored state, computed as the cumulative time between a tunnel error indicator and the next following non-errored indicator, over this reporting interval", - "type": "number" - }, - "flowActivatedBy": { - "description": "Endpoint activating the flow", - "type": "string" - }, - "flowActivationEpoch": { - "description": "Time the connection is activated in the flow (connection) being reported on, or transmission time of the first packet if activation time is not available", - "type": "number" - }, - "flowActivationMicrosec": { - "description": "Integer microseconds for the start of the flow connection", - "type": "number" - }, - "flowActivationTime": { - "description": "time the connection is activated in the flow being reported on, or transmission time of the first packet if activation time is not available; with RFC 2822 compliant format: ‘Sat, 13 Mar 2010 11:29:05 -0800’", - "type": "string" - }, - "flowDeactivatedBy": { - "description": "Endpoint deactivating the flow", - "type": "string" - }, - "flowDeactivationEpoch": { - "description": "Time for the start of the flow connection, in integer UTC epoch time aka UNIX time", - "type": "number" - }, - "flowDeactivationMicrosec": { - "description": "Integer microseconds for the start of the flow connection", - "type": "number" - }, - "flowDeactivationTime": { - "description": "Transmission time of the first packet in the flow connection being reported on; with RFC 2822 compliant format: ‘Sat, 13 Mar 2010 11:29:05 -0800’", - "type": "string" - }, - "flowStatus": { - "description": "connection status at reporting time as a working / inactive / failed indicator value", - "type": "string" - }, - "gtpConnectionStatus": { - "description": "Current connection state at reporting time", - "type": "string" - }, - "gtpTunnelStatus": { - "description": "Current tunnel state at reporting time", - "type": "string" - }, - "ipTosCountList": { - "description": "array of key: value pairs where the keys are drawn from the IP Type-of-Service identifiers which range from '0' to '255', and the values are the count of packets that had those ToS identifiers in the flow", - "type": "array", - "uniqueItems": true, - "items": { - "type": "array", - "items": [ - { "type": "string" }, - { "type": "number" } - ], - "additionalItems": false - } - }, - "ipTosList": { - "description": "Array of unique IP Type-of-Service values observed in the flow where values range from '0' to '255'", - "type": "array", - "items": { - "type": "string" - } - }, - "largePacketRtt": { - "description": "large packet round trip time", - "type": "number" - }, - "largePacketThreshold": { - "description": "large packet threshold being applied", - "type": "number" - }, - "maxPacketDelayVariation": { - "description": "Maximum packet delay variation or jitter in milliseconds for received packets: Maximum of the difference between the packet timestamp and time received for all pairs of consecutive packets", - "type": "number" - }, - "maxReceiveBitRate": { - "description": "maximum receive bit rate", - "type": "number" - }, - "maxTransmitBitRate": { - "description": "maximum transmit bit rate", - "type": "number" - }, - "mobileQciCosCountList": { - "description": "array of key: value pairs where the keys are drawn from LTE QCI or UMTS class of service strings, and the values are the count of packets that had those strings in the flow", - "type": "array", - "uniqueItems": true, - "items": { - "type": "array", - "items": [ - { "type": "string" }, - { "type": "number" } - ], - "additionalItems": false - } - }, - "mobileQciCosList": { - "description": "Array of unique LTE QCI or UMTS class-of-service values observed in the flow", - "type": "array", - "items": { - "type": "string" - } - }, - "numActivationFailures": { - "description": "Number of failed activation requests, as observed by the reporting node", - "type": "number" - }, - "numBitErrors": { - "description": "number of errored bits", - "type": "number" - }, - "numBytesReceived": { - "description": "number of bytes received, including retransmissions", - "type": "number" - }, - "numBytesTransmitted": { - "description": "number of bytes transmitted, including retransmissions", - "type": "number" - }, - "numDroppedPackets": { - "description": "number of received packets dropped due to errors per virtual interface", - "type": "number" - }, - "numGtpEchoFailures": { - "description": "Number of Echo request path failures where failed paths are defined in 3GPP TS 29.281 sec 7.2.1 and 3GPP TS 29.060 sec. 11.2", - "type": "number" - }, - "numGtpTunnelErrors": { - "description": "Number of tunnel error indications where errors are defined in 3GPP TS 29.281 sec 7.3.1 and 3GPP TS 29.060 sec. 11.1", - "type": "number" - }, - "numHttpErrors": { - "description": "Http error count", - "type": "number" - }, - "numL7BytesReceived": { - "description": "number of tunneled layer 7 bytes received, including retransmissions", - "type": "number" - }, - "numL7BytesTransmitted": { - "description": "number of tunneled layer 7 bytes transmitted, excluding retransmissions", - "type": "number" - }, - "numLostPackets": { - "description": "number of lost packets", - "type": "number" - }, - "numOutOfOrderPackets": { - "description": "number of out-of-order packets", - "type": "number" - }, - "numPacketErrors": { - "description": "number of errored packets", - "type": "number" - }, - "numPacketsReceivedExclRetrans": { - "description": "number of packets received, excluding retransmission", - "type": "number" - }, - "numPacketsReceivedInclRetrans": { - "description": "number of packets received, including retransmission", - "type": "number" - }, - "numPacketsTransmittedInclRetrans": { - "description": "number of packets transmitted, including retransmissions", - "type": "number" - }, - "numRetries": { - "description": "number of packet retries", - "type": "number" - }, - "numTimeouts": { - "description": "number of packet timeouts", - "type": "number" - }, - "numTunneledL7BytesReceived": { - "description": "number of tunneled layer 7 bytes received, excluding retransmissions", - "type": "number" - }, - "roundTripTime": { - "description": "round trip time", - "type": "number" - }, - "tcpFlagCountList": { - "description": "array of key: value pairs where the keys are drawn from TCP Flags and the values are the count of packets that had that TCP Flag in the flow", - "type": "array", - "uniqueItems": true, - "items": { - "type": "array", - "items": [ - { "type": "string" }, - { "type": "number" } - ], - "additionalItems": false - } - }, - "tcpFlagList": { - "description": "Array of unique TCP Flags observed in the flow", - "type": "array", - "items": { - "type": "string" - } - }, - "timeToFirstByte": { - "description": "Time in milliseconds between the connection activation and first byte received", - "type": "number" - } - }, - "required": [ "avgBitErrorRate", "avgPacketDelayVariation", "avgPacketLatency", - "avgReceiveThroughput", "avgTransmitThroughput", - "flowActivationEpoch", "flowActivationMicrosec", - "flowDeactivationEpoch", "flowDeactivationMicrosec", - "flowDeactivationTime", "flowStatus", - "maxPacketDelayVariation", "numActivationFailures", - "numBitErrors", "numBytesReceived", "numBytesTransmitted", - "numDroppedPackets", "numL7BytesReceived", - "numL7BytesTransmitted", "numLostPackets", - "numOutOfOrderPackets", "numPacketErrors", - "numPacketsReceivedExclRetrans", - "numPacketsReceivedInclRetrans", - "numPacketsTransmittedInclRetrans", - "numRetries", "numTimeouts", "numTunneledL7BytesReceived", - "roundTripTime", "timeToFirstByte" - ] - }, - "heartbeatFields": { - "description": "optional field block for fields specific to heartbeat events", - "type": "object", - "properties": { - "additionalFields": { - "description": "additional heartbeat fields if needed", - "type": "array", - "items": { - "$ref": "#/definitions/field" - } - }, - "heartbeatFieldsVersion": { - "description": "version of the heartbeatFields block", - "type": "number" - }, - "heartbeatInterval": { - "description": "current heartbeat interval in seconds", - "type": "integer" - } - }, - "required": [ "heartbeatFieldsVersion", "heartbeatInterval" ] - }, - "latencyBucketMeasure": { - "description": "number of counts falling within a defined latency bucket", - "type": "object", - "properties": { - "countsInTheBucket": { "type": "number" }, - "highEndOfLatencyBucket": { "type": "number" }, - "lowEndOfLatencyBucket": { "type": "number" } - }, - "required": [ "countsInTheBucket" ] - }, - "marker": { - "description": "", - "type": "object", - "properties": { - "phoneNumber": { "type": "string" } - } - }, - "measurementGroup": { - "description": "measurement group", - "type": "object", - "properties": { - "name": { "type": "string" }, - "measurements": { - "description": "array of name value pair measurements", - "type": "array", - "items": { - "$ref": "#/definitions/field" - } - } - }, - "required": [ "name", "measurements" ] - }, - "measurementsForVfScalingFields": { - "description": "measurementsForVfScaling fields", - "type": "object", - "properties": { - "additionalMeasurements": { - "description": "additional measurement fields", - "type": "array", - "items": { - "$ref": "#/definitions/measurementGroup" - } - }, - "aggregateCpuUsage": { - "description": "aggregate CPU usage of the VM on which the VNFC reporting the event is running", - "type": "number" - }, - "codecUsageArray": { - "description": "array of codecs in use", - "type": "array", - "items": { - "$ref": "#/definitions/codecsInUse" - } - }, - "concurrentSessions": { - "description": "peak concurrent sessions for the VM or VNF over the measurementInterval", - "type": "number" - }, - "configuredEntities": { - "description": "over the measurementInterval, peak total number of: users, subscribers, devices, adjacencies, etc., for the VM, or subscribers, devices, etc., for the VNF", - "type": "number" - }, - "cpuUsageArray": { - "description": "usage of an array of CPUs", - "type": "array", - "items": { - "$ref": "#/definitions/cpuUsage" - } - }, - "errors": { "$ref": "#/definitions/errors" }, - "featureUsageArray": { - "description": "array of features in use", - "type": "array", - "items": { - "$ref": "#/definitions/featuresInUse" - } - }, - "filesystemUsageArray": { - "description": "filesystem usage of the VM on which the VNFC reporting the event is running", - "type": "array", - "items": { - "$ref": "#/definitions/filesystemUsage" - } - }, - "latencyDistribution": { - "description": "array of integers representing counts of requests whose latency in milliseconds falls within per-VNF configured ranges", - "type": "array", - "items": { - "$ref": "#/definitions/latencyBucketMeasure" - } - }, - "meanRequestLatency": { - "description": "mean seconds required to respond to each request for the VM on which the VNFC reporting the event is running", - "type": "number" - }, - "measurementInterval": { - "description": "interval over which measurements are being reported in seconds", - "type": "number" - }, - "measurementsForVfScalingVersion": { - "description": "version of the measurementsForVfScaling block", - "type": "number" - }, - "memoryConfigured": { - "description": "memory configured in the VM on which the VNFC reporting the event is running", - "type": "number" - }, - "memoryUsed": { - "description": "memory usage of the VM on which the VNFC reporting the event is running", - "type": "number" - }, - "numberOfMediaPortsInUse": { - "description": "number of media ports in use", - "type": "number" - }, - "requestRate": { - "description": "peak rate of service requests per second to the VNF over the measurementInterval", - "type": "number" - }, - "vnfcScalingMetric": { - "description": "represents busy-ness of the VNF from 0 to 100 as reported by the VNFC", - "type": "number" - }, - "vNicUsageArray": { - "description": "usage of an array of virtual network interface cards", - "type": "array", - "items": { - "$ref": "#/definitions/vNicUsage" - } - } - }, - "required": [ "measurementInterval" ] - }, - "midCallRtcp": { - "description": "RTCP packet received ", - "type": "object", - "properties": { - "rtcpData": { - "description": "Base64 encoding of the binary RTCP data (excluding Eth/IP/UDP headers) Base64 encoded array of bytes", - "type": "string" - } - } - }, - "mobileFlowFields": { - "description": "mobileFlow fields", - "type": "object", - "properties": { - "applicationType": { - "description": "Application type inferred", - "type": "string" - }, - "appProtocolType": { - "description": "application protocol", - "type": "string" - }, - "appProtocolVersion": { - "description": "application protocol version", - "type": "string" - }, - "cid": { - "description": "cell id", - "type": "string" - }, - "connectionType": { - "description": "Abbreviation referencing a 3GPP reference point e.g., S1-U, S11, etc", - "type": "string" - }, - "ecgi": { - "description": "Evolved Cell Global Id", - "type": "string" - }, - "flowDirection": { - "description": "Flow direction, indicating if the reporting node is the source of the flow or destination for the flow", - "type": "string" - }, - "gtpPerFlowMetrics": { "$ref": "#/definitions/gtpPerFlowMetrics" }, - "gtpProtocolType": { - "description": "GTP protocol", - "type": "string" - }, - "gtpVersion": { - "description": "GTP protocol version", - "type": "string" - }, - "httpHeader": { - "description": "HTTP request header, if the flow connects to a node referenced by HTTP", - "type": "string" - }, - "imei": { - "description": "IMEI for the subscriber UE used in this flow, if the flow connects to a mobile device", - "type": "string" - }, - "imsi": { - "description": "IMSI for the subscriber UE used in this flow, if the flow connects to a mobile device", - "type": "string" - }, - "ipProtocolType": { - "description": "IP protocol type e.g., TCP, UDP, RTP...", - "type": "string" - }, - "ipVersion": { - "description": "IP protocol version e.g., IPv4, IPv6", - "type": "string" - }, - "lac": { - "description": "location area code", - "type": "string" - }, - "mcc": { - "description": "mobile country code", - "type": "string" - }, - "mnc": { - "description": "mobile network code", - "type": "string" - }, - "mobileFlowFieldsVersion": { - "description": "version of the mobileFlowFields block", - "type": "number" - }, - "msisdn": { - "description": "MSISDN for the subscriber UE used in this flow, as an integer, if the flow connects to a mobile device", - "type": "string" - }, - "otherEndpointIpAddress": { - "description": "IP address for the other endpoint, as used for the flow being reported on", - "type": "string" - }, - "otherEndpointPort": { - "description": "IP Port for the reporting entity, as used for the flow being reported on", - "type": "number" - }, - "otherFunctionalRole": { - "description": "Functional role of the other endpoint for the flow being reported on e.g., MME, S-GW, P-GW, PCRF...", - "type": "string" - }, - "rac": { - "description": "routing area code", - "type": "string" - }, - "radioAccessTechnology": { - "description": "Radio Access Technology e.g., 2G, 3G, LTE", - "type": "string" - }, - "reportingEndpointIpAddr": { - "description": "IP address for the reporting entity, as used for the flow being reported on", - "type": "string" - }, - "reportingEndpointPort": { - "description": "IP port for the reporting entity, as used for the flow being reported on", - "type": "number" - }, - "sac": { - "description": "service area code", - "type": "string" - }, - "samplingAlgorithm": { - "description": "Integer identifier for the sampling algorithm or rule being applied in calculating the flow metrics if metrics are calculated based on a sample of packets, or 0 if no sampling is applied", - "type": "number" - }, - "tac": { - "description": "transport area code", - "type": "string" - }, - "tunnelId": { - "description": "tunnel identifier", - "type": "string" - }, - "vlanId": { - "description": "VLAN identifier used by this flow", - "type": "string" - } - }, - "required": [ "flowDirection", "gtpPerFlowMetrics", "ipProtocolType", - "ipVersion", "otherEndpointIpAddress", "otherEndpointPort", - "reportingEndpointIpAddr", "reportingEndpointPort" ] - }, - "otherFields": { - "description": "additional fields not reported elsewhere", - "type": "array", - "items": { - "$ref": "#/definitions/field" - } - }, - "requestError": { - "description": "standard request error data structure", - "type": "object", - "properties": { - "messageId": { - "description": "Unique message identifier of the format ‘ABCnnnn’ where ‘ABC’ is either ‘SVC’ for Service Exceptions or ‘POL’ for Policy Exception", - "type": "string" - }, - "text": { - "description": "Message text, with replacement variables marked with %n, where n is an index into the list of <variables> elements, starting at 1", - "type": "string" - }, - "url": { - "description": "Hyperlink to a detailed error resource e.g., an HTML page for browser user agents", - "type": "string" - }, - "variables": { - "description": "List of zero or more strings that represent the contents of the variables used by the message text", - "type": "string" - } - }, - "required": [ "messageId", "text" ] - }, - "serviceEventsFields": { - "description": "service events fields", - "type": "object", - "properties": { - "additionalFields": { - "description": "additional service event fields if needed", - "type": "array", - "items": { - "$ref": "#/definitions/field" - } - }, - "codecSelected": { - "$ref": "#/definitions/codecSelected" - }, - "codecSelectedTranscoding": { - "$ref": "#/definitions/codecSelectedTranscoding" - }, - "correlator": { - "description": "this is the same for all events on this call", - "type": "string" - }, - "endOfCallVqmSummaries": { - "$ref": "#/definitions/endOfCallVqmSummaries" - }, - "eventInstanceIdentifier": { - "$ref": "#/definitions/eventInstanceIdentifier" - }, - "marker": { - "$ref": "#/definitions/marker" - }, - "midCallRtcp": { - "$ref": "#/definitions/midCallRtcp" - }, - "serviceEventsFieldsVersion": { - "description": "version of the serviceEventsFields block", - "type": "number" - } - }, - "required": [ "eventInstanceIdentifier" ] - }, - "signalingFields": { - "description": "signaling fields", - "type": "object", - "properties": { - "compressedSip": { - "description": "the full SIP request/response including headers and bodies", - "type": "string" - }, - "correlator": { - "description": "this is the same for all events on this call", - "type": "string" - }, - "eventInstanceIdentifier": { - "$ref": "#/definitions/eventInstanceIdentifier" - }, - "localIpAddress": { - "description": "IP address on VNF", - "type": "string" - }, - "localPort": { - "description": "port on VNF", - "type": "string" - }, - "remoteIpAddress": { - "description": "IP address of peer endpoint", - "type": "string" - }, - "remotePort": { - "description": "port of peer endpoint", - "type": "string" - }, - "signalingFieldsVersion": { - "description": "version of the signalingFields block", - "type": "number" - }, - "summarySip": { - "description": "the SIP Method or Response (‘INVITE’, ‘200 OK’, ‘BYE’, etc)", - "type": "string" - } - }, - "required": [ "eventInstanceIdentifier" ] - }, - "stateChangeFields": { - "description": "stateChange fields", - "type": "object", - "properties": { - "additionalFields": { - "description": "additional stateChange fields if needed", - "type": "array", - "items": { - "$ref": "#/definitions/field" - } - }, - "newState": { - "description": "new state of the entity", - "type": "string", - "enum": [ - "inService", - "maintenance", - "outOfService" - ] - }, - "oldState": { - "description": "previous state of the entity", - "type": "string", - "enum": [ - "inService", - "maintenance", - "outOfService" - ] - }, - "stateChangeFieldsVersion": { - "description": "version of the stateChangeFields block", - "type": "number" - }, - "stateInterface": { - "description": "card or port name of the entity that changed state", - "type": "string" - } - }, - "required": [ "newState", "oldState", "stateInterface" ] - }, - "suppressedNvPairs": { - "description": "List of specific NvPairsNames to suppress within a given Name-Value Field for event Throttling", - "type": "object", - "properties": { - "nvPairFieldName": { - "description": "Name of the field within which are the nvpair names to suppress", - "type": "string" - }, - "suppressedNvPairNames": { - "description": "Array of nvpair names to suppress within the nvpairFieldName", - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ "nvPairFieldName", "suppressedNvPairNames" ] - }, - "syslogFields": { - "description": "sysLog fields", - "type": "object", - "properties": { - "additionalFields": { - "description": "additional syslog fields if needed", - "type": "array", - "items": { - "$ref": "#/definitions/field" - } - }, - "eventSourceHost": { - "description": "hostname of the device", - "type": "string" - }, - "eventSourceType": { - "description": "type of event source; examples: other, router, switch, host, card, port, slotThreshold, portThreshold, virtualMachine, virtualNetworkFunction", - "type": "string" - }, - "syslogFacility": { - "description": "numeric code from 0 to 23 for facility--see table in documentation", - "type": "number" - }, - "syslogFieldsVersion": { - "description": "version of the syslogFields block", - "type": "number" - }, - "syslogMsg": { - "description": "syslog message", - "type": "string" - }, - "syslogProc": { - "description": "identifies the application that originated the message", - "type": "string" - }, - "syslogProcId": { - "description": "a change in the value of this field indicates a discontinuity in syslog reporting", - "type": "number" - }, - "syslogSData": { - "description": "syslog structured data consisting of a structured data Id followed by a set of key value pairs", - "type": "string" - }, - "syslogTag": { - "description": "msgId indicating the type of message such as TCPOUT or TCPIN; NILVALUE should be used when no other value can be provided", - "type": "string" - }, - "syslogVer": { - "description": "IANA assigned version of the syslog protocol specification - typically 1", - "type": "number" - } - }, - "required": [ "eventSourceType", "syslogMsg", "syslogTag" ] - }, - "thresholdCrossingAlertFields": { - "description": "fields specific to threshold crossing alert events", - "type": "object", - "properties": { - "additionalFields": { - "description": "additional threshold crossing alert fields if needed", - "type": "array", - "items": { - "$ref": "#/definitions/field" - } - }, - "additionalParameters": { - "description": "performance counters", - "type": "array", - "items": { - "$ref": "#/definitions/counter" - } - }, - "alertAction": { - "description": "Event action", - "type": "string", - "enum": [ - "CLEAR", - "CONT", - "SET" - ] - }, - "alertDescription": { - "description": "Unique short alert description such as IF-SHUB-ERRDROP", - "type": "string" - }, - "alertType": { - "description": "Event type", - "type": "string", - "enum": [ - "CARD-ANOMALY", - "ELEMENT-ANOMALY", - "INTERFACE-ANOMALY", - "SERVICE-ANOMALY" - ] - }, - "alertValue": { - "description": "Calculated API value (if applicable)", - "type": "string" - }, - "associatedAlertIdList": { - "description": "List of eventIds associated with the event being reported", - "type": "array", - "items": { "type": "string" } - }, - "collectionTimestamp": { - "description": "Time when the performance collector picked up the data; with RFC 2822 compliant format: ‘Sat, 13 Mar 2010 11:29:05 -0800’", - "type": "string" - }, - "dataCollector": { - "description": "Specific performance collector instance used", - "type": "string" - }, - "elementType": { - "description": "type of network element - internal ATT field", - "type": "string" - }, - "eventSeverity": { - "description": "event severity or priority", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "NORMAL" - ] - }, - "eventStartTimestamp": { - "description": "Time closest to when the measurement was made; with RFC 2822 compliant format: ‘Sat, 13 Mar 2010 11:29:05 -0800’", - "type": "string" - }, - "interfaceName": { - "description": "Physical or logical port or card (if applicable)", - "type": "string" - }, - "networkService": { - "description": "network name - internal ATT field", - "type": "string" - }, - "possibleRootCause": { - "description": "Reserved for future use", - "type": "string" - }, - "thresholdCrossingFieldsVersion": { - "description": "version of the thresholdCrossingAlertFields block", - "type": "number" - } - }, - "required": [ - "additionalParameters", - "alertAction", - "alertDescription", - "alertType", - "collectionTimestamp", - "eventSeverity", - "eventStartTimestamp" - ] - }, - "vNicUsage": { - "description": "usage of identified virtual network interface card", - "type": "object", - "properties": { - "broadcastPacketsIn": { "type": "number" }, - "broadcastPacketsOut": { "type": "number" }, - "bytesIn": { "type": "number" }, - "bytesOut": { "type": "number" }, - "multicastPacketsIn": { "type": "number" }, - "multicastPacketsOut": { "type": "number" }, - "packetsIn": { "type": "number" }, - "packetsOut": { "type": "number" }, - "unicastPacketsIn": { "type": "number" }, - "unicastPacketsOut": { "type": "number" }, - "vNicIdentifier": { "type": "string" } - }, - "required": [ "bytesIn", "bytesOut", "packetsIn", "packetsOut", "vNicIdentifier"] - } - }, - "title": "Event Listener", - "type": "object", - "properties": { - "event": {"$ref": "#/definitions/event"} - }, - "required": ["event"] -} |