diff --git a/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java b/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
index 4101738..665565d 100644
--- a/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
+++ b/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
@@ -101,7 +101,7 @@
 
     /**
      * Annotation key for latency.
-     * The value of this key is expected to be latency in microsecond.
+     * The value of this key is expected to be latency in nanosecond.
      */
     public static final String LATENCY = "latency";
 
diff --git a/core/api/src/main/java/org/onosproject/net/intent/constraint/LatencyConstraint.java b/core/api/src/main/java/org/onosproject/net/intent/constraint/LatencyConstraint.java
index 94ad04d..06959c4 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/constraint/LatencyConstraint.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/constraint/LatencyConstraint.java
@@ -62,7 +62,12 @@
     }
 
     private double cost(Link link) {
-        return getAnnotatedValue(link, LATENCY);
+        //Check only links, not EdgeLinks
+        if (link.type() != Link.Type.EDGE) {
+            return link.annotations().value(LATENCY) != null ? getAnnotatedValue(link, LATENCY) : 0;
+        } else {
+            return 0;
+        }
     }
 
     // doesn't use LinkResourceService
@@ -73,8 +78,9 @@
     }
 
     private boolean validate(Path path) {
+        //Guarantee all the latency units in ONOS is nanoseconds.
         double pathLatency = path.links().stream().mapToDouble(this::cost).sum();
-        return Duration.of((long) pathLatency, ChronoUnit.MICROS).compareTo(latency) <= 0;
+        return Duration.of((long) pathLatency, ChronoUnit.NANOS).compareTo(latency) <= 0;
     }
 
     @Override
