l2_multi is an example that does shortest paths between endpoints (it uses 
Floyd-Warshall instead of Dijkstra's, but that's just a detail).  And the 
spanning_tree component doesn't disable entire ports, IIRC -- just flooding on 
those ports.  So if you have loops and use l2_multi and spanning_tree, when the 
destination is known, you get a shortest path.  When the destination isn't 
known or is multicast/broadcast, it uses the tree.

-- Murphy

On Feb 17, 2015, at 9:09 PM, Murat Karakus <muratkaraku...@gmail.com> wrote:

> Hi All,
> 
> I am trying to implement a network having loops (e.g. 4 switches connected to 
> each other and one host connected to each switch). When I try to ping a host, 
> it does not work because of the loops. Using spanning_tree component may work 
> in this case but I don't want it since it deletes a port to get out of the 
> loop which reduces the possible multi paths between src and dst. I don't want 
> this because I want to route my packets based on QoS values of links. (i.e. 
> if one path from the loop does not meet the QoS requirement, another may 
> meet.)
> 
> For this purpose, I want my controller (POX) to discover all switches (w/ 
> ports) and links with their corresponding QoS values and store them for 
> future QoS routing. Does the discovery.py component do what I explained 
> without QoS values? 
> 
> Also, is there any (already implemented in POX) routing component like 
> Dijkstra algorithm to find a path between given src and dst? Or, we should 
> implement it?
> 
> 
> Thanks,
> Murat
> 
> 

Reply via email to