Technical white paper HPN SDN Controller Link Discovery

When the controller is configured for hybrid.mode=true, the controller installs a flow rule on every OpenFlow instance to steal these packets:

Packets which match this flow rule are forwarded to the controller from the OpenFlow instance and port where they were received. Using the origin information contained within the received packet, the controller derives the source and destination of the link that this packet traversed and records a link between the OpenFlow instances. The link type is derived from the destination MAC address of the packet (direct or multi-hop). If a link is direct, it will be discovered as both “direct” and “multi- hop” from the reporting OpenFlow instance, but the type of “direct” has precedence over the type of “multi-hop”, so the link is recorded as “direct”.

Keys to Correct Link Discovery

In order to ensure that the desired link topology is correctly discovered, configure the switches such that all OpenFlow instances are configured for the same vlan mapping throughout the topology AND one of the following conditions are met:

The link discovery packet is correctly tagged by the OpenFlow instance when it egresses the port to which it is injected.

The untagged link discovery packet is stolen to the controller by the correct OpenFlow instance agent on a switch when it is received.

Though the HPN SDN Controller link discovery method works well in many network configurations, there are some situations where links are not discovered as intended. This may include missing links, links with an incorrect type, or discovering a link where one should not exist. If the untagged discovery packets can’t be associated with the correct OpenFlow instance on the destination switch, then the discovery packet will be dropped or associated with the wrong OpenFlow instance. This can occur for reasons explained in the following sections, including ambiguous vlan association across all OpenFlow instances in the topology.

The consequences of link discovery problems will be observed as impacts to other functionality, such as node discovery or topology calculation. For instance, a missing link in the middle of the network may cause a node’s location to bounce from the edge of the network to the middle of the network.

Known issues

All known link discovery problems relate to one of the following situations:

The received link discovery packet is dropped by a switch in the network, because the packet is untagged and received on a tagged-only port.

The received link discovery packet is associated with the wrong OpenFlow instance, because the packet is untagged and received on a port which associates untagged packets with a vlan not in the OpenFlow instance. Another manifestation of this situation occurs when the OpenFlow instance configurations across all switches are not configured with the same vlan set and a discovery packet gets associated with only one OpenFlow instance (see switch C in the example below).

Vendors follow various interpretations in their association of vlans to OpenFlow instances. Various implementations allow a single vlan per OpenFlow instance, multiple vlans per OpenFlow instance, or all vlans in a single OpenFlow instance. Thus when the controller injects an untagged packet into an OpenFlow instance, the vlan association for the packet is sometime ambiguous in the OpenFlow instance.

3