Initial sketch of LabelResource APIs
LabelResource subsystem will be used to manage label resources such as
MPLS labels, ... (Part of ONOS-1223)
:)
Change-Id: Ib11eac84d81d7d86eaaf0222cf0bd7d3c64d2e51
diff --git a/core/api/src/main/java/org/onosproject/net/resource/LabelResourceProviderService.java b/core/api/src/main/java/org/onosproject/net/resource/LabelResourceProviderService.java
new file mode 100644
index 0000000..6e2fa5b
--- /dev/null
+++ b/core/api/src/main/java/org/onosproject/net/resource/LabelResourceProviderService.java
@@ -0,0 +1,26 @@
+package org.onosproject.net.resource;
+
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.provider.ProviderService;
+
+/**
+ * Means for injecting label information into the core.
+ */
+public interface LabelResourceProviderService extends ProviderService<LabelResourceProvider> {
+
+ /**
+ * Signals that a device label resource pool has been detected.
+ * @param deviceId device identifier
+ * @param beginLabel the begin label number of resource
+ * @param endLabel the end label number of resource
+ */
+ void deviceLabelResourcePoolDetected(DeviceId deviceId,
+ LabelResourceId beginLabel,
+ LabelResourceId endLabel);
+
+ /**
+ * Signals that an label resource pool has been destroyed.
+ * @param deviceId device identifier
+ */
+ void deviceLabelResourcePoolDestroyed(DeviceId deviceId);
+}