The project consists of two parts. I am using a fat tree topology for the project (see attachment). Basically, I have four layers as you can see in the attached picture. The down layer, which is the host layer, followed by the edge layer, followed by the aggregation layer, and finally followed by the core layer.
So, in the first part of the project, which I already finished it, i needed to allow one host to use the left path, and the other host use the right path since I only have two hosts connected to a single switch.
The second part, which I have not been able to make it work yet, is to check each size of each flow a host is sending. Whenever flows exceed the limited size of the target port, we will let the remaining flows use the second port (see the attached picture).
So, say a host is sending 50 UDP flows with a size of 3MB, we want to let 25 use one port and the other use the other port even though the destination IP is the same. The idea is to load balance the network.
I want you to create a JAVA code using Floodlight that runs every 5 seconds and check for flows and their sizes in the network. If flows exceed the size of a port ( say 3 MB), use the other port.
I hope I made clear for you, please let me know if you have any questions