Avoid accidental link type override

Change-Id: I3462838f8208c231f7b7ff24e63a03984fae4475
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 7795f77..9247b83 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
@@ -58,11 +58,11 @@
             return descr;
         }
 
-        // cfg.type() defaults to DIRECT, so there is a risk of unwanted override.
-        // do we want this behavior?
         Link.Type type = descr.type();
-        if (cfg.type() != type) {
-            type = cfg.type();
+        if (cfg.isTypeConfigured()) {
+            if (cfg.type() != type) {
+                type = cfg.type();
+            }
         }
 
         SparseAnnotations sa = combine(cfg, descr.annotations());