OpenFlow Node Discovery

OpenFlow Node Discovery

The OpenFlow Node Discovery application is the default OpenFlow node supplier application that is installed with the controller. This application implements the com.hp.sdn.supplier.NodeSuppliersBroker interface and uses NodeSupplierService and NodeService APIs to create and maintain node information for OpenFlow datapaths that register with the controller.

If the ControllerManager configuration has hybrid.mode=false, all packets are implicitly stolen to the controller and processed by the OpenFlow Node Discovery application.

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.

    Based upon the information supplied by these copied ARP, DHCP, and IP packets, 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.

    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.

OpenFlow Node Discovery configurable components

com.hp.sdn.disco.of.node.impl.OfArpDiscoveryComponent

Configures the OpenFlow ARP discovery component of the OpenFlow Node Discovery application.

Configure the node timeout values using the arp.age key.

com.hp.sdn.disco.of.node.impl.OfDhcpDiscoveryComponent

Configures the OpenFlow DHCP discovery component of the OpenFlow Node Discovery application.

Configure the node timeout values using the dhcp.age key.

com.hp.sdn.disco.of.node.impl.OfIpDiscoveryComponent

Configures the OpenFlow IP discovery component of the OpenFlow Node Discovery application.

Configure the node timeout values using the ip.age key.