Interface ForwardingObjective

  • All Superinterfaces:
    Annotated, 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.
    • 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
      • 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.