aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceAdminService.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceAdminService.java')
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceAdminService.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceAdminService.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceAdminService.java
new file mode 100644
index 00000000..f20ab59b
--- /dev/null
+++ b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceAdminService.java
@@ -0,0 +1,51 @@
+package org.onosproject.incubator.net.resource.label;
+
+import com.google.common.annotations.Beta;
+import org.onosproject.net.DeviceId;
+
+/**
+ * Service for managing label resource.
+ */
+@Beta
+public interface LabelResourceAdminService {
+ /**
+ * Creates the only label resource of some device id from begin label to end
+ * label.
+ *
+ * @param deviceId device identifier
+ * @param beginLabel represents for the first label id in the range of label
+ * pool
+ * @param endLabel represents for the last label id in the range of label
+ * pool
+ * @return success or fail
+ */
+ boolean createDevicePool(DeviceId deviceId, LabelResourceId beginLabel,
+ LabelResourceId endLabel);
+
+ /**
+ * Creates the only global label resource pool.
+ *
+ * @param beginLabel represents for the first label id in the range of label
+ * pool
+ * @param endLabel represents for the last label id in the range of label
+ * pool
+ * @return success or fail
+ */
+ boolean createGlobalPool(LabelResourceId beginLabel,
+ LabelResourceId endLabel);
+
+ /**
+ * Destroys a label resource pool of a specific device id.
+ *
+ * @param deviceId device identifier
+ * @return success or fail
+ */
+ boolean destroyDevicePool(DeviceId deviceId);
+
+ /**
+ * Destroys the global label resource pool.
+ *
+ * @return success or fail
+ */
+ boolean destroyGlobalPool();
+}