Steps to reproduce

The following steps have to be used to recreate the output.

Proactive learning

A packet learns the path to its destination using broadcast messages sent during ARP requests. This gives the controller very less capability to decide the path to be used for packet traversal. To avoid this issue, we decided to make the controller aware of the network topology ahead of packet transfer.

What we did:

proactive topology output

When call to controller is made from a switch for the first time, the details of all the neighbouring nodes and switches are already in the table at the controller.

When a switch contacts a controller for the first time for a packet's transfer, the topology is already known to the controller. So the controller adds flow table entry in all the switches in the path of the packet. This reduces the overall time for the packet to reach the destination, as no frequent requests to the controller are required.

all switch one entry output

Flow table entries are made in all the switches in the path of the packet in the first controller call.