Additions to the L2 monitoring for CFM and SOAM
Change-Id: I2d39dd9e1c4841c87cb0a27d82bb303ffd9c08fc
diff --git a/apps/cfm/src/main/resources/definitions/LmCreate.json b/apps/cfm/src/main/resources/definitions/LmCreate.json
new file mode 100644
index 0000000..7afeaed
--- /dev/null
+++ b/apps/cfm/src/main/resources/definitions/LmCreate.json
@@ -0,0 +1,296 @@
+{
+ "type": "object",
+ "title": "lm",
+ "required": [
+ "lm"
+ ],
+ "properties": {
+ "lm": {
+ "type": "object",
+ "title": "lmprops",
+ "required": [
+ "remoteMepId",
+ "lmCfgType",
+ "version",
+ "priority"
+ ],
+ "properties": {
+ "remoteMepId": {
+ "type": "uint16",
+ "minimum": 1,
+ "maximum": 8191,
+ "description": "Remote MEP identifier",
+ "example": 20
+ },
+ "lmCfgType": {
+ "type": "string",
+ "enum": ["LMLMM","LMSLM", "LMCCM"],
+ "description": "The type of Loss Measurement to be performed",
+ "example": "LMLMM"
+ },
+ "version": {
+ "type": "string",
+ "enum": ["Y17312008","Y17312011"],
+ "description": "The version of Loss Measurement to be performed",
+ "example": "Y17312011"
+ },
+ "priority": {
+ "type": "string",
+ "enum": ["PRIO0","PRIO1","PRIO2","PRIO3","PRIO4","PRIO5","PRIO6","PRIO7"],
+ "description": "The Priority for the Delay Measurement",
+ "example": "PRIO3"
+ },
+ "countersEnabled": {
+ "type": "array" ,
+ "xml": {
+ "name": "countersEnabled",
+ "wrapped": true
+ },
+ "items": {
+ "type": "string",
+ "enum": [ "FORWARD_TRANSMITTED_FRAMES",
+ "FORWARD_RECEIVED_FRAMES","FORWARD_MIN_FLR","FORWARD_MAX_FLR","FORWARD_AVERAGE_FLR","BACKWARD_TRANSMITTED_FRAMES","BACKWARD_RECEIVED_FRAMES","BACKWARD_MIN_FLR","BACKWARD_MAX_FLR","BACKWARD_AVERAGE_FLR","SOAM_PDUS_SENT","SOAM_PDUS_RECEIVED","AVAILABILITY_FORWARD_HIGH_LOSS","AVAILABILITY_FORWARD_CONSECUTIVE_HIGH_LOSS","AVAILABILITY_FORWARD_AVAILABLE","AVAILABILITY_FORWARD_UNAVAILABLE","AVAILABILILITY_FORWARD_MIN_FLR","AVAILABILITY_FORWARD_MAX_FLR","AVAILABILITY_FORWARD_AVERAGE_FLR","AVAILABILITY_BACKWARD_HIGH_LOSS","AVAILABILITY_BACKWARD_CONSECUTIVE_HIGH_LOSS","AVAILABILITY_BACKWARD_AVAILABLE","AVAILABLE_BACKWARD_UNAVAILABLE","AVAILABLE_BACKWARD_MIN_FLR","AVAILABLE_BACKWARD_MAX_FLR","AVAILABLE_BACKWARD_AVERAGE_FLR","MEASURED_STATS_FORWARD_MEASURED_FLR","MEASURED_STATS_BACKWARD_MEASURED_FLR","MEASURED_STATS_AVAILABILITY_FORWARD_STATUS","MEASURED_STATS_AVAILABILITY_BACKWARD_STATUS"],
+ "description": "A vector of bits that indicates the type of SOAM LM counters that are enabled"
+ },
+ "example": ["FORWARD_RECEIVED_FRAMES","BACKWARD_RECEIVED_FRAMES","SOAM_PDUS_SENT","SOAM_PDUS_RECEIVED"]
+ },
+ "availabilityMeasurementIntervalMins": {
+ "type": "uint16",
+ "description": "The availability measurement interval in minutes",
+ "example": 15
+ },
+ "availabilityNumberConsecutiveFlrMeasurements": {
+ "type": "uint32",
+ "minimum": 10,
+ "maximum": 1000000,
+ "description": "configurable number of consecutive loss measurement PDUs",
+ "example": 100
+ },
+ "availabilityFlrThresholdPct": {
+ "type": "float",
+ "minimum": 0.0,
+ "maximum": 100.0,
+ "description": "configurable availability threshold to be used in evaluating the availability/unavailability status in percent",
+ "example": 50.0
+ },
+ "availabilityNumberConsecutiveIntervals": {
+ "type": "uint16",
+ "minimum": 0,
+ "maximum": 1000,
+ "description": "configurable number of consecutive availability indicators to be used to determine a change in the availability status",
+ "example": 10
+ },
+ "availabilityNumberConsecutiveHighFlr": {
+ "type": "uint16",
+ "minimum": 0,
+ "maximum": 1000,
+ "description": "configurable number of consecutive availability indicators to be used for assessing CHLI.",
+ "example": 10
+ },
+ "frameSize": {
+ "type": "uint16",
+ "minimum": 64,
+ "maximum": 9600,
+ "description": "Frame size",
+ "example": 64
+ },
+ "measurementIntervalMins": {
+ "type": "uint16",
+ "description": "Measurement Interval in minutes",
+ "example": 15
+ },
+ "alignMeasurementIntervals": {
+ "type": "boolean",
+ "description": "Defines if measurement intervals are aligned with a zero offset to real time"
+ },
+ "alignMeasurementOffsetMins": {
+ "type": "uint16",
+ "description": "The offset in minutes from the time of day value",
+ "example": 0
+ },
+ "messagePeriodMs": {
+ "type": "uint32",
+ "description": "Message period in milliseconds",
+ "example": 100
+ },
+ "thresholds": {
+ "type": "array" ,
+ "xml": {
+ "name": "thresholds",
+ "wrapped": true
+ },
+ "items": {
+ "type": "object",
+ "title": "thresholdProps",
+ "properties": {
+ "threshold": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "uint8",
+ "description": "The id of the threshold",
+ "example": 1
+ },
+ "thresholds": {
+ "type": "array",
+ "xml": {
+ "name": "thresholds",
+ "wrapped": true
+ },
+ "items": {
+ "type": "string",
+ "enum": [
+ "MEASURED_FLR_FORWARD",
+ "MAX_FLR_FORWARD",
+ "AVERAGE_FLR_FORWARD",
+ "MEASURED_FLR_BACKWARD",
+ "MAX_FLR_BACKWARD",
+ "AVERAGE_FLR_BACKWARD",
+ "FORWARD_HIGH_LOSS",
+ "FORWARD_CONSECUTIVE_HIGH_LOSS",
+ "BACKWARD_HIGH_LOSS",
+ "BACKWARD_CONSECUTIVE_HIGH_LOSS",
+ "FORWARD_UNAVAILABLE_COUNT",
+ "FORWARD_AVAILABLE_RATIO",
+ "BACKWARD_UNAVAILABLE_COUNT",
+ "BACKWARD_AVAILABLE_RATIO"
+ ],
+ "description": "A vector of bits that indicates the type of SOAM LM thresholds notifications that are enabled."
+ },
+ "example": [
+ "MEASURED_FLR_FORWARD",
+ "MAX_FLR_FORWARD",
+ "AVERAGE_FLR_FORWARD"
+ ]
+ },
+ "measuredFlrForward": {
+ "type": "uint32",
+ "description": "The measured forward frame loss ratio threshold value in milli Percent 1/100000",
+ "example": 15
+ },
+ "maxFlrForward": {
+ "type": "uint32",
+ "description": "The maximum forward frame loss ratio threshold value in milli Percent 1/100000",
+ "example": 15
+ },
+ "averageFlrForward": {
+ "type": "uint32",
+ "description": "The average forward frame loss ratio threshold value in milli Percent 1/100000",
+ "example": 15
+ },
+ "measuredFlrBackward": {
+ "type": "uint32",
+ "description": "The measured backward frame loss ratio threshold value in milli Percent 1/100000",
+ "example": 15
+ },
+ "maxFlrBackward": {
+ "type": "uint32",
+ "description": "The maximum backward frame loss ratio threshold value in milli Percent 1/100000",
+ "example": 15
+ },
+ "averageFlrBackward": {
+ "type": "uint32",
+ "description": "The average backward frame loss ratio threshold value in milli Percent 1/100000",
+ "example": 15
+ }
+ }
+ }
+ }
+ }
+ },
+ "binsPerFdInterval": {
+ "type": "uint8",
+ "minimum": 3,
+ "description": "The number of measurement bins per Measurement Interval for Frame Delay measurements",
+ "example": 4
+ },
+ "binsPerIfdvInterval": {
+ "type": "uint8",
+ "minimum": 3,
+ "description": "The number of measurement bins per Measurement Interval for IFDV measurements",
+ "example": 4
+ },
+ "ifdvSelectionOffset": {
+ "type": "uint8",
+ "minimum": 2,
+ "description": "selection offset for Inter-Frame Delay Variation measurements",
+ "example": 2
+ },
+ "binsPerFdrInterval": {
+ "type": "uint8",
+ "minimum": 3,
+ "description": "The number of measurement bins per Measurement Interval for Frame Delay Range measurements",
+ "example": 4
+ },
+ "startTime": {
+ "type": "object",
+ "title": "startTime",
+ "description": "only one needs to be specified",
+ "properties": {
+ "immediate": {
+ "type": "boolean",
+ "description": "Should always be true if specified",
+ "example": true
+ },
+ "absolute": {
+ "type": "object",
+ "description": "Will be ignored if immediate is specified",
+ "properties": {
+ "start-time": {
+ "type": "date-time",
+ "example": "2017-11-11T12:00:00"
+ }
+ }
+ },
+ "relative": {
+ "type": "object",
+ "description": "Will be ignored if immediate or absolute is specified",
+ "properties": {
+ "start-time": {
+ "type": "string",
+ "description": "A period of time written as a Java Duration",
+ "example": "PT10M"
+ }
+ }
+ }
+ },
+ "example": {"immediate": true}
+ },
+ "stopTime": {
+ "type": "object",
+ "title": "stopTime",
+ "description": "only one needs to be specified",
+ "properties": {
+ "none": {
+ "type": "boolean",
+ "description": "Should always be true if specified",
+ "example": true
+ },
+ "absolute": {
+ "type": "object",
+ "description": "Will be ignored if none is specified",
+ "properties": {
+ "start-time": {
+ "type": "date-time",
+ "example": "2017-11-11T12:00:00"
+ }
+ }
+ },
+ "relative": {
+ "type": "object",
+ "description": "Will be ignored if none or absolute is specified",
+ "properties": {
+ "start-time": {
+ "type": "string",
+ "description": "A period of time written as a Java Duration",
+ "example": "PT10M"
+ }
+ }
+ }
+ },
+ "example": {"none": true}
+ }
+ }
+ }
+ }
+}
\ No newline at end of file