
If the ControllerManager configuration has
hybrid.mode=true
:
•
The OpenFlow Node Discovery application pushes flow-mods to controlled devices that
copy ARP packets or DHCP packets to the controller for processing and listens for
PACKET_IN messages that contain the ARP or DHCP protocol.
By default in hybrid mode, IP packets are not sent to controller. Based upon the information
supplied by these copied ARP, DHCP, and IP packets, and if
learn.ip=true
, the OpenFlow
Node Discovery application registers as a node supplier and supplies updates to the node
table. The controller administrator can configure the timeout value for nodes discovered by
each protocol by setting the value of the
age
key of the configurable component for that
protocol.
Only when
learn.ip=true
and some other application has pushed a flow that sends IP
packets to controller. will the controller receive IP packets. By default, in hybrid mode, IP
packets are not sent to controller.
The Node Manager does not update the node table for every PACKET_IN message it
receives. Specifically, PACKET_IN messages are ignored if the connected port is identified
by the Topology Manager as being part of the infrastructure.
NOTE:
Because these PACKET_IN messages represent
copies
of packets that have
already been forwarded by the controlled device, no corresponding PACKET_OUT is sent
back to the device that sent the PACKET_IN.
•
If the
OfIpDiscoveryComponent
configuration has
learn.ip=true
, the OpenFlow
Node Discovery application also listens for PACKET_IN messages that contain the IP
protocol, but does not explicitly push flow-mods to controlled devices that send IP packets
because doing so would drastically reduce network performance by overwhelming the control
plane.
Path Diagnostics
The Path Diagnostics application determines and verifies the path taken by trace packets from
a source host to a destination host. The application finds an existing flow that matches the
description of the trace packet, clones it with higher priority, and adds an additional action to
instruct the selected switch to send this packet back to the controller for status tally.
The Path Diagnostics application is available when the ControllerManager configuration has
hybrid.mode=false
only.
Path Daemon
Path Daemon is a path-paving application that listens for all ARP and IPv4 PACKET_IN messages
and attempts to push flow-mods to datapaths along the forwarding path to ensure that such
packets get forwarded at line-rate. Path Daemon operates only when the entire network is
controlled by the controller (ControllerManager configuration has
hybrid.mode=false
and
there are no uncontrolled devices). Each PACKET_IN message processed by Path Daemon
results in a PACKET_OUT message and possibly a flow-mod getting pushed to one or more
controlled devices.
By default, the Path Daemon application pushes flow-mods that attempt to forward traffic using
MAC address and incoming port for ARP PACKET_IN messages, and using IPv4 address and
incoming port for IPv4 PACKET_IN messages. These flow-mods are only pushed when the
ControllerManager configuration has
hybrid.mode=false
. Specifically, the flow-mods will
match all packets that enter a specific switch on a specific port and they will match only packets
with the source MAC or IPv4 address and destination MAC or IPv4 address from the PACKET_IN
message. Any packets that match the flow-mod will be forwarded by the switch to the most
optimal destination port—determined by Path Daemon—for the packet to reach its intended
destination.
Path Diagnostics
17