My question might be a little vague as I clearly misunderstand a lot, but I'll give it a try anyway: Suppose I have 7 switches in a Fat Tree topology, and the bottom four are each connected to two hosts. When I start the controller I instructs the switches to send LLDP packets and this is how I learn the topology. Also I calculate a Spanning Tree to use when I flood packets like ARP requests.
My problem: how do I learn which switch a certain host is connected to? If h1
sends a layer 3 packet to h3
, I know how to route the packets because I have a spanning tree, but this might not be the shortests route. I use Dijkstra to compute shortest routes from each switch to all others, but if I want to send a message to h3
, I don't know what switch is directly connected to it.
Any ideas?
The component responsible for do it is the Host_tracker. You need listen the Host_tracker event in your code, just like this: