Hybrid OpenFlow Switching
662 Router Configuration Guide
Hybrid OpenFlow Switch Steering using Filter Policies
A router H-OFS instance is embedded into line card IPv4 and IPv6 filter policies to achieve
OF-controlled Policy Based Routing (PBR). When H-OFS instance is created, embedded
filters (IP and IPv6) required for that instance are automatically created. The filters are
created with names, as follows:
“_tmnx_ofs_<ofs_name>”, with the same name for IPv4 and IPv6 filters used.
If embedded filters cannot be allocated due to the lack of filter policy instances, the creation
of an H-OFS instance will fail. When the H-OFS instance is deleted, the corresponding
embedded filters are freed.
The H-OFS can be embedded only in ingress filter policies on line cards/platforms supporting
embedded filters (FP2-based or newer) and for services supporting H-OFS. Embedding of an
H-OFS in filter policies on unsupported services is blocked, embedding of an H-OFS in filter
policies in unsupported direction or on unsupported hardware follows the general filter policy
misconfiguration behavior and is not recommended. Unsupported match fields are ignored.
Other match criteria may cause a packet to match an entry.
As soon as an H-OFS instance is created, the controller can program OF rules for that
instance. For instance, the rules can be created prior to the H-OFS instance embedding into a
filter policy or prior to a filter policy with H-OFS instance embedded being assign to an
interface. This allows operator to either preprogram H-OFS steering rules, or to disable the
rules without removing them from a flow table by removing the embedding. An error is
returned to controller if it attempts to program rules not supported by the system. The
following lists examples of the errors returned:
• unsupported instr: [OFPET_BAD_INSTRUCTION, OFPBIC_UNSUP_INST]
• unsupported action: [OFPET_BAD_ACTION, OFPBAC_BAD_TYPE]?
• unsupported output port: [OFPET_BAD_ACTION, OFPBAC_BAD_OUT_PORT]?
• unsupported match field: [OFPET_BAD_MATCH, OFPBMC_BAD_FIELD]?
• unsupported match value: [OFPET_BAD_MATCH, OFPBMC_BAD_VALUE]?
• output port invalid/deleted after flow_mod is sent to filter: OFPET_BAD_ACTION,
OFPBAC_BAD_OUT_PORT]?
As the OF controller updates traffic steering rules, the Hybrid OpenFlow Switch updates the
flow table rules. This automatically triggers programming of the embedded filter, which
consequently causes instantiation of the rules for all services/interfaces that have a filter
policy embedding this H-OFS instance. Embedding filter policy configuration/operational
rules apply also to embedded filters auto-created for an H-OFS instance (see Embedded Filter
Support for ACL Filter Policies section of this guide). MPLS cannot be deleted if OFS rules
are created that redirect to an LSP.