PicOS Support for OpenFlow 1.4
The following table contains OpenFlow 1.4 features supported by PicOS. For clarity, the feature names in this table are identical to the feature names found in OpenFlow Switch Specification Version 1.4.0.
Table 1 OpenFlow 1.4 Features Supported by PicOS
Pica8 OpenFlow V1.4 Compliance Matrix | ||||||
Chapter | Title | Features | Detail Feature Specification | Optional | R2.3 Support | Remarks |
2 | Switch Components | NA |
|
|
|
|
|
| Flow table |
|
| Y |
|
|
| Group table | All, indirect, select, fast_failover group table are all supported. |
| Y |
|
|
| Add/update/delete flow entries |
|
| Y |
|
|
| Match fields |
|
| Y |
|
|
| Counters |
|
| Y |
|
|
| Set of instructions |
|
| Y |
|
4 | OpenFlow Ports | NA |
|
|
|
|
4.1 | OpenFlow Ports | see 4.2-4.5 |
|
| Y |
|
4.2 | Standard Ports | See 4.2-4.5 |
|
| Y |
|
4.3 | Physical Ports | NA |
|
|
|
|
|
| Ingress | PicOS only supports it as matching port. |
| Y |
|
|
| Output |
|
| Y |
|
|
| Hardware interface |
|
| Y |
|
|
| Groups |
|
| Y |
|
|
| Port counters |
|
| Y |
|
4.4 | Logical Ports | NA | The OpenFlow logical ports are switch defined ports that don't correspond directly to a hardware interface of the switch. |
|
|
|
|
| Map to various physical ports |
|
| Y |
|
|
| LAG |
|
| Y |
|
|
| Tunnel (GRE) |
|
| Y |
|
|
| Lookback interface |
|
| Y |
|
|
| Ingress |
|
| Y |
|
|
| Output |
|
| Y |
|
|
| Groups |
|
| Y |
|
4.5 | Reserved Ports | NA |
|
|
|
|
|
| All | Represents all ports the switch can use for forwarding a specific packet. Can be used only as an output port. |
| Y |
|
|
| Controller | Represents the control channel with the OpenFlow controller. Can be used as an ingress port or as an output port. |
| Y |
|
|
| Table | Represents the start of the OpenFlow pipeline. |
| Y |
|
|
| In_port | Represents the packet ingress port. Can be used only as an output port, send the packet out through its ingress port. |
| Y | Matching must specify the ingress port. |
|
| Any | Special value used in some OpenFlow commands when no port is specified. Can neither be used as an ingress port nor as an output port. |
| N |
|
|
| Local | Represents the switch's local networking stack and its management stack. | O | Y |
|
|
| Normal | Represents the traditional non-OpenFlow pipeline of the switch. Can be used only as an output port and processes the packet using the normal pipeline. | O | Y |
|
|
| Flood | Represents flooding using the normal pipeline of the switch. Can be used only as an output port. | O | Y |
|
5 | OpenFlow Tables | NA |
|
|
|
|
5.1 | Pipeline Processing |
|
|
|
|
|
|
| Openflow-only | All packets are processed by the OpenFlow pipeline. |
| Y |
|
|
| Openflow-hybrid | OpenFlow operation and normal Ethernet switching operation. |
| N |
|
|
|
| L2 Ethernet switching, L3 routing (IPv4 routing, IPv6 routing...), ACL and QoS processing. |
| N |
|
|
|
| VLAN isolation |
| N |
|
|
|
| A classification mechanism outside of OpenFlow that routes traffic to either the OpenFlow pipeline or the normal pipeline. |
| N |
|
|
|
| VLAN tag or input port whether to process the packet using which pipeline. |
| N |
|
|
|
| Normal and flood |
| N |
|
|
| Multiple flow tables, each flow table containing multiple flow entries |
|
| Y |
|
|
| Sequentially numbered, start at 0 |
|
| Y | |