aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/GroupService.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/group/GroupService.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/net/group/GroupService.java139
1 files changed, 0 insertions, 139 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/GroupService.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/GroupService.java
deleted file mode 100644
index 4163248f..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/GroupService.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.net.group;
-
-import org.onosproject.core.ApplicationId;
-import org.onosproject.event.ListenerService;
-import org.onosproject.net.DeviceId;
-
-/**
- * Service for create/update/delete "group" in the devices.
- * Flow entries can point to a "group" defined in the devices that enables
- * to represent additional methods of forwarding like load-balancing or
- * failover among different group of ports or multicast to all ports
- * specified in a group.
- * "group" can also be used for grouping common actions of different flows,
- * so that in some scenarios only one group entry required to be modified
- * for all the referencing flow entries instead of modifying all of them.
- *
- * This implements semantics of a distributed authoritative group store
- * where the master copy of the groups lies with the controller and
- * the devices hold only the 'cached' copy.
- */
-public interface GroupService
- extends ListenerService<GroupEvent, GroupListener> {
-
- /**
- * Creates a group in the specified device with the provided buckets.
- * This API provides an option for application to associate a cookie
- * while creating a group, so that applications can look-up the
- * groups based on the cookies. These Groups will be retained by
- * the core system and re-applied if any groups found missing in the
- * device when it reconnects. This API would immediately return after
- * submitting the request locally or to a remote Master controller
- * instance. As a response to this API invocation, GROUP_ADDED or
- * GROUP_ADD_FAILED notifications would be provided along with cookie
- * depending on the result of the operation on the device in the
- * data plane. The caller may also use "getGroup" API to get the
- * Group object created as part of this request.
- *
- * @param groupDesc group creation parameters
- *
- */
- void addGroup(GroupDescription groupDesc);
-
- /**
- * Returns a group object associated to an application cookie.
- *
- * NOTE1: The presence of group object in the system does not
- * guarantee that the "group" is actually created in device.
- * GROUP_ADDED notification would confirm the creation of
- * this group in data plane.
- *
- * @param deviceId device identifier
- * @param appCookie application cookie to be used for lookup
- * @return group associated with the application cookie or
- * NULL if Group is not found for the provided cookie
- */
- Group getGroup(DeviceId deviceId, GroupKey appCookie);
-
- /**
- * Appends buckets to existing group. The caller can optionally
- * associate a new cookie during this updation. GROUP_UPDATED or
- * GROUP_UPDATE_FAILED notifications would be provided along with
- * cookie depending on the result of the operation on the device.
- *
- * @param deviceId device identifier
- * @param oldCookie cookie to be used to retrieve the existing group
- * @param buckets immutable list of group bucket to be added
- * @param newCookie immutable cookie to be used post update operation
- * @param appId Application Id
- */
- void addBucketsToGroup(DeviceId deviceId,
- GroupKey oldCookie,
- GroupBuckets buckets,
- GroupKey newCookie,
- ApplicationId appId);
-
- /**
- * Removes buckets from existing group. The caller can optionally
- * associate a new cookie during this updation. GROUP_UPDATED or
- * GROUP_UPDATE_FAILED notifications would be provided along with
- * cookie depending on the result of the operation on the device.
- *
- * @param deviceId device identifier
- * @param oldCookie cookie to be used to retrieve the existing group
- * @param buckets immutable list of group bucket to be removed
- * @param newCookie immutable cookie to be used post update operation
- * @param appId Application Id
- */
- void removeBucketsFromGroup(DeviceId deviceId,
- GroupKey oldCookie,
- GroupBuckets buckets,
- GroupKey newCookie,
- ApplicationId appId);
-
- /**
- * Deletes a group associated to an application cookie.
- * GROUP_DELETED or GROUP_DELETE_FAILED notifications would be
- * provided along with cookie depending on the result of the
- * operation on the device.
- *
- * @param deviceId device identifier
- * @param appCookie application cookie to be used for lookup
- * @param appId Application Id
- */
- void removeGroup(DeviceId deviceId, GroupKey appCookie, ApplicationId appId);
-
- /**
- * Retrieves all groups created by an application in the specified device
- * as seen by current controller instance.
- *
- * @param deviceId device identifier
- * @param appId application id
- * @return collection of immutable group objects created by the application
- */
- Iterable<Group> getGroups(DeviceId deviceId, ApplicationId appId);
-
- /**
- * Returns all groups associated with the given device.
- *
- * @param deviceId device ID to get groups for
- * @return iterable of device's groups
- */
- Iterable<Group> getGroups(DeviceId deviceId);
-
-}