Adding port, port number, port description implementations and related tests.
diff --git a/net/api/src/main/java/org/onlab/onos/net/Port.java b/net/api/src/main/java/org/onlab/onos/net/Port.java
index 3135b77..24fd533 100644
--- a/net/api/src/main/java/org/onlab/onos/net/Port.java
+++ b/net/api/src/main/java/org/onlab/onos/net/Port.java
@@ -1,11 +1,18 @@
package org.onlab.onos.net;
+import java.util.Set;
+
/**
* Abstraction of a network port.
*/
public interface Port {
- // Notion of port state: enabled, disabled, blocked
+ /**
+ * Port state.
+ */
+ enum State {
+ UP, DOWN, BLOCKED, UNKNOWN
+ }
/**
* Returns the port number.
@@ -15,6 +22,27 @@
PortNumber number();
/**
+ * Returns the port state(s).
+ *
+ * @return port state set
+ */
+ Set<State> state();
+
+ /**
+ * Indicates whether or not the port is currently up and active.
+ *
+ * @return true if the port is operational
+ */
+ boolean isEnabled();
+
+ /**
+ * Indicates whether or not the port is administratively blocked.
+ *
+ * @return true if the port is blocked
+ */
+ boolean isBlocked();
+
+ /**
* Returns the identifier of the network element to which this port belongs.
*
* @return parent network element