Hey @rohansuri1996 👋🏽 ,
I really don't remember much of this project, but here is what I am able to recall
I didn't implement load balancing natively on the switch, what I showcased was server load distribution. For doing this I ran three kind of tests: One client - One server no-load, Many clients - One server under load, and Many clients - Many server load balanced. All three clients send requests simultaneously and continuously. I logged the time for the request to get resolved from any one server for three cases and plotted them on the graph here. For load and load balancing cases, to avoid complexity (Mininet was challenging to understand) I just used an extra host node attached to the switch to compute and redirect requests simulating load balancing. This host node points the request to a single server in the case of load testing and to multiple servers in load balancing case ( this py script)
I can't say if my scripts will work with containernet or not, never tried it. But as containernet is a fork of mininet I feel the scripts will work if the Mininet API does not change. The host command and its usage may be different though as containernet uses docker for host. Try running the project in One client - One server no-load mode, then you should be able to refactor the scripts to run in other modes too. Clone the project inside your containernet env and run the starTopo.py script from project base.
Hi Sarthak,
I really like your simple approach.
I have few questions which I hope you can answer?