Adding annotations for jitter, delay, loss, availability, flapping

Change-Id: I04943c27f7e9e2c7b50f574838f2d6e53f5ceef6
diff --git a/core/net/src/main/java/org/onosproject/net/link/impl/BasicLinkOperator.java b/core/net/src/main/java/org/onosproject/net/link/impl/BasicLinkOperator.java
index cbc046f..47cbdc6 100644
--- a/core/net/src/main/java/org/onosproject/net/link/impl/BasicLinkOperator.java
+++ b/core/net/src/main/java/org/onosproject/net/link/impl/BasicLinkOperator.java
@@ -38,6 +38,11 @@
 public final class BasicLinkOperator implements ConfigOperator {
 
     private static final long DEF_BANDWIDTH = -1L;
+    private static final double DEF_JITTER = -1.0;
+    private static final double DEF_DELAY = -1.0;
+    private static final double DEF_LOSS = -1.0;
+    private static final double DEF_AVAILABILITY = -1.0;
+    private static final double DEF_FLAPPING = -1.0;
     private static final double DEF_METRIC = -1;
     private static final Duration DEF_DURATION = Duration.ofNanos(-1L);
     private static final Logger log = getLogger(BasicLinkOperator.class);
@@ -93,6 +98,21 @@
         if (cfg.isDurable() != null) {
             b.set(AnnotationKeys.DURABLE, String.valueOf(cfg.isDurable()));
         }
+        if (cfg.jitter() != DEF_JITTER) {
+            b.set(AnnotationKeys.JITTER, String.valueOf(cfg.jitter()));
+        }
+        if (cfg.delay() != DEF_DELAY) {
+            b.set(AnnotationKeys.DELAY, String.valueOf(cfg.delay()));
+        }
+        if (cfg.loss() != DEF_LOSS) {
+            b.set(AnnotationKeys.LOSS, String.valueOf(cfg.loss()));
+        }
+        if (cfg.availability() != DEF_AVAILABILITY) {
+            b.set(AnnotationKeys.AVAILABILITY, String.valueOf(cfg.availability()));
+        }
+        if (cfg.flapping() != DEF_FLAPPING) {
+            b.set(AnnotationKeys.FLAPPING, String.valueOf(cfg.flapping()));
+        }
         return b.build();
     }