Interface FilteringObjective
-
- All Superinterfaces:
Objective
- All Known Implementing Classes:
DefaultFilteringObjective
@Beta public interface FilteringObjective extends Objective
Represents a filtering flow objective. Each filtering flow objective is made up of a key (typically a PortCriterion) mapped to a set of criteria. Using this information, a pipeline aware driver will decide how this objective should be mapped to the device specific pipeline-tables in order to satisfy the filtering condition. For example, consider the following PERMIT filtering objective:portX -> {MAC1, VLAN1}
The driver could decide to pass packets to the MAC table or VLAN or PORT tables to ensure that only those packets arriving with the correct dst MAC and VLAN ids from Port X are allowed into the pipeline.
Filtering objectives of type PERMIT allow packets that match the key:criteria to enter the pipeline. As a result, the implication is that packets that don't match are automatically denied (dropped).
Filtering objectives of type DENY, are used to deny packets that would otherwise be permitted and forwarded through the pipeline (ie. those packets that make it through the PERMIT filters).
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
FilteringObjective.Builder
Builder of Filtering objective entities.static class
FilteringObjective.Type
-
Nested classes/interfaces inherited from interface org.onosproject.net.flowobjective.Objective
Objective.Operation
-
-
Field Summary
-
Fields inherited from interface org.onosproject.net.flowobjective.Objective
DEFAULT_PERMANENT, DEFAULT_PRIORITY, DEFAULT_TIMEOUT, MAX_PRIORITY, MIN_PRIORITY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Collection<Criterion>
conditions()
The set of conditions the filter must provision at the device.FilteringObjective.Builder
copy()
Returns a new builder set to create a copy of this objective.Criterion
key()
Obtain the key for this filter.TrafficTreatment
meta()
Auxiliary optional information provided to the device driver.FilteringObjective.Type
type()
Obtain this filtering type.
-
-
-
Method Detail
-
key
Criterion key()
Obtain the key for this filter. The filter may or may not require a key.- Returns:
- a criterion, which could be null if no key was provided.
-
type
FilteringObjective.Type type()
Obtain this filtering type.- Returns:
- the type
-
conditions
java.util.Collection<Criterion> conditions()
The set of conditions the filter must provision at the device.- Returns:
- a collection of criteria
-
meta
TrafficTreatment meta()
Auxiliary optional information provided to the device driver. Typically conveys information about changes (treatments) to packets that are permitted into the pipeline by the PERMIT filtering condition.- Returns:
- a treatment on the packets that make it through the PERMIT filters. Value may be null if no meta information is provided.
-
copy
FilteringObjective.Builder copy()
Returns a new builder set to create a copy of this objective.
-
-