OpenFlow v1.3.0 actions
Each flow has a set of instructions that are executed when the packet matches the
flow as per OpenFlow v1.3.0 specifications. Each flow can have a maximum of one instruction
of each type.
A switch can reject a flow entry, if it is unable to execute the instructions associated with the flow entry. In this case, the switch returns an unsupported flow error. Flow tables may not support every match, every instruction, or every action.
Instructions for OpenFlow actions
| Instruction | Description |
|---|---|
| actions | Adds specified actions to the action set. |
| next-table-id | Indicates the next table in pipeline processing (One table is supported). |
| meter-id | Directs the packet to the specified meter. |
| apply-actions | Applies the specified actions immediately. The packet is modified and subsequent matching in the pipeline is done on the modified packet. |
| clear-actions | Clears all the actions in the action set. |
| write-metadata | Writes the metadata field from the mask. |
RUCKUS ICX devices may support the actions listed in the following table.
Supported OpenFlow actions
Prerequisites for OpenFlow actions
The following prerequisites apply to the OpenFlow actions.
- Destination MAC address (DMAC) action is required, otherwise error is sent to controller.
- DMAC in the packet should be router MAC address of the device. This is not enforced as DMAC of the forwarding packet is unknown.
- Source MAC address (SMAC) is modified to router MAC address.
- VLAN header is stripped after the action.
- VLAN modification is supported (Push VLAN is not supported for tagged packets).
- When action is to send the packets on multiple ports, then packet modification is not supported and an error message is generated, if there are any actions.
- Send to controller action can be combined with single port or multiple port action.
- Send to controller action with single port does support packet modification.
- Send to controller action with multiple ports does not support packet modification.
- The port on which the packet is to be forwarded with VLAN modification, should be part of the VLAN to be configured and the port must be added as tagged.