Interface FilteringObjective

  • All Superinterfaces:
    All Known Implementing Classes:

    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).

    • Method Detail

      • key

        Criterion key()
        Obtain the key for this filter. The filter may or may not require a key.
        a criterion, which could be null if no key was provided.
      • conditions

        Collection<Criterion> conditions()
        The set of conditions the filter must provision at the device.
        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.
        a treatment on the packets that make it through the PERMIT filters. Value may be null if no meta information is provided.