Controller flows — flow in hardware and processing software
Flows with an action to send matching traffic to controller are installed on hardware. But, the actual traffic forwarding takes place in software, since we must add the required OpenFlow specific headers. Due to this characteristic, the actual forwarding does not take place at the line rate. A sample controller flow looks like:
Example
In this example, any packet that comes on port A1, is forwarded to the controller after adding required OpenFlow packet headers (as the packet is sent as a packet_in) to the controller. Since this processing is done on software, we cannot send the incoming traffic at line rate.
switch(openflow)# show openflow instance test flows Flow 1 Match Incoming Port : A1 Ethernet Type : Any Source MAC : Any Destination MAC : Any Destination MAC Mask : 000000-000000 VLAN ID : Any VLAN Priority : Any Source IP Address : Any Destination IP Address : Any IP Protocol : Any IP ToS Bits : Any Source Port : Any Destination Port : Any Attributes Priority : 55000 Duration : 4 seconds Hard Timeout : 0 seconds Idle Timeout : 0 seconds Byte Count : 0 Packet Count : 0 Controller ID : listen-port Cookie : 0x0 Flow Location : Hardware Hardware Index : 0 Reason Code : 12 Reason Description : Rule is in hardware. Actions Controller Port