Interface ForwardingObjective
-
- All Superinterfaces:
Objective
- All Known Implementing Classes:
DefaultForwardingObjective
@Beta public interface ForwardingObjective extends Objective
Represents a description of which types of traffic need to be forwarded through the device. A forwarding objective may result in multiple rules at the device. There are two main types of forwarding objectives: - Versatile - Specific A versatile forwarding objective represents a composite rule that matches two or more header fields. The use of versatile usually indicates that this rule should be inserted in its entirety into the ACL table. Although, drivers for some devices are free to implement this differently. A specific forwarding objective represents a specific rule matching one or more header fields. The installation of this rule may result in several rules at the device. For example, one per table type. There is one additional type of forwarding objective: - Egress An egress forwarding objecrive represents a flow rule that is inserted into egress tables, only if they exist in the device.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ForwardingObjective.Builder
A forwarding objective builder.static class
ForwardingObjective.Flag
Represents whether this objective is monolithic or may be broken down into parts.-
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 ForwardingObjective.Builder
copy()
Returns a new builder set to create a copy of this objective.ForwardingObjective.Flag
flag()
Obtain the type of this objective.TrafficSelector
meta()
Auxiliary optional information provided to the device driver.Integer
nextId()
Obtain the traffic treatment for this objective.TrafficSelector
selector()
Obtain the selector for this objective.TrafficTreatment
treatment()
A traffic treatment for this forwarding objective.
-
-
-
Method Detail
-
selector
TrafficSelector selector()
Obtain the selector for this objective.- Returns:
- a traffic selector
-
nextId
Integer nextId()
Obtain the traffic treatment for this objective. Mutually exclusive with 'treatment'.- Returns:
- an integer
-
treatment
TrafficTreatment treatment()
A traffic treatment for this forwarding objective. Mutually exclusive with a nextId.- Returns:
- a traffic treatment
-
flag
ForwardingObjective.Flag flag()
Obtain the type of this objective.- Returns:
- a flag type
-
meta
TrafficSelector meta()
Auxiliary optional information provided to the device driver. Typically conveys information about selectors (matches) that are intended to use this Forwarding Objective.- Returns:
- a selector intended to pass meta information to the device driver. Value may be null if no meta information is provided.
-
copy
ForwardingObjective.Builder copy()
Returns a new builder set to create a copy of this objective.
-
-