Initial sketch of the virtual network constructs.
Change-Id: Ibcdafb9e56edb29fb37b80d7b0da321ad989c564
diff --git a/core/api/src/main/java/org/onosproject/net/Device.java b/core/api/src/main/java/org/onosproject/net/Device.java
index e36d762..8066a7a 100644
--- a/core/api/src/main/java/org/onosproject/net/Device.java
+++ b/core/api/src/main/java/org/onosproject/net/Device.java
@@ -26,7 +26,7 @@
* Coarse classification of the type of the infrastructure device.
*/
public enum Type {
- SWITCH, ROUTER, ROADM, OTN, ROADM_OTN, FIREWALL, BALANCER, IPS, IDS, CONTROLLER, OTHER
+ SWITCH, ROUTER, ROADM, OTN, ROADM_OTN, FIREWALL, BALANCER, IPS, IDS, CONTROLLER, VIRTUAL, OTHER
}
/**
@@ -79,10 +79,4 @@
*/
ChassisId chassisId();
- // Device realizedBy(); ?
-
- // ports are not provided directly, but rather via DeviceService.getPorts(Device device);
-
- // Set<Behavior> behaviours(); // set of supported behaviours
-
}
diff --git a/core/api/src/main/java/org/onosproject/net/Link.java b/core/api/src/main/java/org/onosproject/net/Link.java
index 2dc8eec..7541f75 100644
--- a/core/api/src/main/java/org/onosproject/net/Link.java
+++ b/core/api/src/main/java/org/onosproject/net/Link.java
@@ -51,7 +51,12 @@
/**
* Signifies that this link is realized by fiber (either single channel or WDM).
*/
- OPTICAL
+ OPTICAL,
+
+ /**
+ * Signifies that this link is a virtual link or a pseudo-wire.
+ */
+ VIRTUAL
}
/**
diff --git a/core/api/src/main/java/org/onosproject/net/Port.java b/core/api/src/main/java/org/onosproject/net/Port.java
index 87d7535..d70b1e1 100644
--- a/core/api/src/main/java/org/onosproject/net/Port.java
+++ b/core/api/src/main/java/org/onosproject/net/Port.java
@@ -53,7 +53,12 @@
* Signifies optical fiber-based WDM port (called W-port).
* Optical Multiplexing Section (See ITU G.709).
*/
- OMS
+ OMS,
+
+ /**
+ * Signifies virtual port.
+ */
+ VIRTUAL
}
/**
diff --git a/core/api/src/main/java/org/onosproject/net/behaviour/PortConfig.java b/core/api/src/main/java/org/onosproject/net/behaviour/PortConfig.java
index 464698e..7de2861 100644
--- a/core/api/src/main/java/org/onosproject/net/behaviour/PortConfig.java
+++ b/core/api/src/main/java/org/onosproject/net/behaviour/PortConfig.java
@@ -17,11 +17,12 @@
import com.google.common.primitives.UnsignedInteger;
import org.onosproject.net.device.PortDescription;
+import org.onosproject.net.driver.HandlerBehaviour;
/**
* Means to configure a logical port at the device.
*/
-public interface PortConfig {
+public interface PortConfig extends HandlerBehaviour {
/**
* Apply QoS configuration on a device.