Added default link description & model entities.
diff --git a/net/api/src/main/java/org/onlab/onos/net/DefaultDevice.java b/net/api/src/main/java/org/onlab/onos/net/DefaultDevice.java
index 42a3526..8b4591c 100644
--- a/net/api/src/main/java/org/onlab/onos/net/DefaultDevice.java
+++ b/net/api/src/main/java/org/onlab/onos/net/DefaultDevice.java
@@ -7,7 +7,7 @@
 import static com.google.common.base.Objects.toStringHelper;
 
 /**
- * Default device model implementation.
+ * Default infrastructure device model implementation.
  */
 public class DefaultDevice extends AbstractElement implements Device {
 
diff --git a/net/api/src/main/java/org/onlab/onos/net/DefaultLink.java b/net/api/src/main/java/org/onlab/onos/net/DefaultLink.java
new file mode 100644
index 0000000..b21b91c
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/DefaultLink.java
@@ -0,0 +1,62 @@
+package org.onlab.onos.net;
+
+import org.onlab.onos.net.link.LinkDescription;
+
+import java.util.Objects;
+
+import static com.google.common.base.Objects.toStringHelper;
+
+/**
+ * Default infrastructure link model implementation.
+ */
+public class DefaultLink implements LinkDescription {
+
+    private ConnectPoint src;
+    private ConnectPoint dst;
+
+    /**
+     * Creates a link description using the supplied information.
+     *
+     * @param src link source
+     * @param dst link destination
+     */
+    public DefaultLink(ConnectPoint src, ConnectPoint dst) {
+        this.src = src;
+        this.dst = dst;
+    }
+
+    @Override
+    public ConnectPoint src() {
+        return src;
+    }
+
+    @Override
+    public ConnectPoint dst() {
+        return dst;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(src, dst);
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof DefaultDevice) {
+            final DefaultLink other = (DefaultLink) obj;
+            return Objects.equals(this.src, other.src) &&
+                    Objects.equals(this.dst, other.dst);
+        }
+        return false;
+    }
+
+    @Override
+    public String toString() {
+        return toStringHelper(this)
+                .add("src", src)
+                .add("dst", dst)
+                .toString();
+    }
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/Link.java b/net/api/src/main/java/org/onlab/onos/net/Link.java
index 38b6f69..e0f46b5 100644
--- a/net/api/src/main/java/org/onlab/onos/net/Link.java
+++ b/net/api/src/main/java/org/onlab/onos/net/Link.java
@@ -4,7 +4,6 @@
  * Abstraction of a network infrastructure link.
  */
 public interface Link extends Provided {
-// TODO: Consider extending graph Edge<Element> once the graph module is available
 
     /**
      * Coarse representation of the link type.
diff --git a/net/api/src/main/java/org/onlab/onos/net/link/DefaultLinkDescription.java b/net/api/src/main/java/org/onlab/onos/net/link/DefaultLinkDescription.java
new file mode 100644
index 0000000..3ed7225
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/link/DefaultLinkDescription.java
@@ -0,0 +1,34 @@
+package org.onlab.onos.net.link;
+
+import org.onlab.onos.net.ConnectPoint;
+
+/**
+ * Default implementation of immutable link description entity.
+ */
+public class DefaultLinkDescription implements LinkDescription {
+
+    private ConnectPoint src;
+    private ConnectPoint dst;
+
+    /**
+     * Creates a link description using the supplied information.
+     *
+     * @param src link source
+     * @param dst link destination
+     */
+    public DefaultLinkDescription(ConnectPoint src, ConnectPoint dst) {
+        this.src = src;
+        this.dst = dst;
+    }
+
+    @Override
+    public ConnectPoint src() {
+        return src;
+    }
+
+    @Override
+    public ConnectPoint dst() {
+        return dst;
+    }
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/link/LinkDescription.java b/net/api/src/main/java/org/onlab/onos/net/link/LinkDescription.java
index 8d712f0..83af07c 100644
--- a/net/api/src/main/java/org/onlab/onos/net/link/LinkDescription.java
+++ b/net/api/src/main/java/org/onlab/onos/net/link/LinkDescription.java
@@ -1,17 +1,25 @@
 package org.onlab.onos.net.link;
 
+import org.onlab.onos.net.ConnectPoint;
+
 /**
  * Describes an infrastructure link.
  */
 public interface LinkDescription {
 
-    // TODO: src, dst connection points, which are pairs of (DeviceId, PortNumber)
+    /**
+     * Returns the link source.
+     *
+     * @return links source
+     */
+    ConnectPoint src();
 
-//    On the north:
-//    Link = (ConnectPoint src, ConnectPoint dst);
-//    ConnectPoint = (DeviceId, PortNumber);
+    /**
+     * Returns the link destination.
+     *
+     * @return links destination
+     */
+    ConnectPoint dst();
 
-//    On the south
-//    LinkDescription ~ Link
-
+    // Add further link attributes
 }
diff --git a/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleLinkManager.java b/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleLinkManager.java
index 8efa526..b5d8cc4 100644
--- a/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleLinkManager.java
+++ b/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleLinkManager.java
@@ -34,6 +34,8 @@
     private final AbstractListenerRegistry<LinkEvent, LinkListener>
             listenerRegistry = new AbstractListenerRegistry<>();
 
+    private final SimpleLinkStore store = new SimpleLinkStore();
+
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     private EventDeliveryService eventDispatcher;
 
diff --git a/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleLinkStore.java b/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleLinkStore.java
new file mode 100644
index 0000000..8b6a53d
--- /dev/null
+++ b/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleLinkStore.java
@@ -0,0 +1,8 @@
+package org.onlab.onos.net.trivial.impl;
+
+/**
+ * Manages inventory of infrastructure links using trivial in-memory link
+ * implementation.
+ */
+public class SimpleLinkStore {
+}