aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/net/flowobjective/NextObjective.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/flowobjective/NextObjective.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/net/flowobjective/NextObjective.java220
1 files changed, 0 insertions, 220 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flowobjective/NextObjective.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flowobjective/NextObjective.java
deleted file mode 100644
index 36098d71..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flowobjective/NextObjective.java
+++ /dev/null
@@ -1,220 +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.flowobjective;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.net.flow.TrafficSelector;
-import org.onosproject.net.flow.TrafficTreatment;
-
-import java.util.Collection;
-
-/**
- * Represents a nexthop which will be translated by a driver
- * into the appropriate group or actions needed to implement
- * the egress function.
- *
- * A next objective is made up of a collection of traffic treatments
- * associated with a type. These types are:
- *
- * - Hashed
- * - Broadcast
- * - Failover
- * - Simple
- *
- * These types will indicate to the driver what the intended behavior is.
- * For example, a broadcast next objective with a collection of output
- * treatments will indicate to a driver that all output actions are expected
- * to be executed simultaneously. The driver is then free to implement this
- * as a group or a simple action list.
- */
-@Beta
-public interface NextObjective extends Objective {
-
- /**
- * Represents the type of next phase to build.
- */
- enum Type {
- /**
- * A hashed packet processing.
- */
- HASHED,
-
- /**
- * Broadcast packet process.
- */
- BROADCAST,
-
- /**
- * Failover handling.
- */
- FAILOVER,
-
- /**
- * Simple processing. Could be a group or a treatment.
- */
- SIMPLE
- }
-
- /**
- * The collection of treatments that need to be applied to a set of traffic.
- *
- * @return a collection of traffic treatments
- */
- Collection<TrafficTreatment> next();
-
- /**
- * The type of operation that will be applied to the traffic using the collection
- * of treatments.
- *
- * @return a type
- */
- Type type();
-
- /**
- * Auxiliary optional information provided to the device-driver.Typically
- * conveys information about selectors (matches) that are intended to
- * use this Next Objective.
- *
- * @return a selector intended to pass meta information to the device driver.
- * Value may be null if no meta information is provided.
- */
- TrafficSelector meta();
-
- /**
- * A next step builder.
- */
- interface Builder extends Objective.Builder {
-
- /**
- * Specifies the id for this next objective.
- *
- * @param nextId an integer
- * @return a next objective builder
- */
- Builder withId(int nextId);
-
- /**
- * Sets the type of next step.
- *
- * @param type a type
- * @return a next step builder
- */
- Builder withType(Type type);
-
- /**
- * Adds a treatment to this next step.
- *
- * @param treatment a traffic treatment
- * @return a next step builder
- */
- Builder addTreatment(TrafficTreatment treatment);
-
- /**
- * Specifies the application which applied the filter.
- *
- * @param appId an application id
- * @return an objective builder
- */
- @Override
- Builder fromApp(ApplicationId appId);
-
- /**
- * Sets the priority for this objective.
- *
- * @param priority an integer
- * @return an objective builder
- */
- @Override
- Builder withPriority(int priority);
-
- /**
- * Set meta information related to this next objective.
- *
- * @param selector match conditions
- * @return an objective builder
- */
- Builder withMeta(TrafficSelector selector);
-
- /**
- * Builds the next objective that will be added.
- *
- * @return a next objective
- */
- NextObjective add();
-
- /**
- * Builds the next objective that will be removed.
- *
- * @return a next objective.
- */
- NextObjective remove();
-
- /**
- * Builds the next objective that will be added.
- * The context will be used to notify the calling application.
- *
- * @param context an objective context
- * @return a next objective
- */
- NextObjective add(ObjectiveContext context);
-
- /**
- * Builds the next objective that will be removed.
- * The context will be used to notify the calling application.
- *
- * @param context an objective context
- * @return a next objective
- */
- NextObjective remove(ObjectiveContext context);
-
- /**
- * Build the next objective that will be added, with {@link Operation}
- * ADD_TO_EXISTING.
- *
- * @return a next objective
- */
- NextObjective addToExisting();
-
- /**
- * Build the next objective that will be removed, with {@link Operation}
- * REMOVE_FROM_EXISTING.
- *
- * @return a next objective
- */
- NextObjective removeFromExisting();
-
- /**
- * Builds the next objective that will be added, with {@link Operation}
- * ADD_TO_EXISTING. The context will be used to notify the calling application.
- *
- * @param context an objective context
- * @return a next objective
- */
- NextObjective addToExisting(ObjectiveContext context);
-
- /**
- * Builds the next objective that will be removed, with {@link Operation}
- * REMOVE_FROM_EXISTING. The context will be used to notify the calling application.
- *
- * @param context an objective context
- * @return a next objective
- */
- NextObjective removeFromExisting(ObjectiveContext context);
-
- }
-
-}