Statistics
| Branch: | Tag: | Revision:

## mininet / mininet / topolib.py @ 80be5642

1 2 3 11a6d400 Bob Lantz ```"Library of potentially useful topologies for Mininet" ``` ```from mininet.topo import Topo, Node ``` ```class TreeTopo( Topo ): ``` ``` "Topology for a tree network with a given depth and fanout." ``` ``` def __init__( self, depth=1, fanout=2 ): ``` ``` super( TreeTopo, self ).__init__() ``` ``` # Build topology ``` ``` self.addTree( 1, depth, fanout ) ``` ``` # Consider all switches and hosts 'on' ``` ``` self.enable_all() ``` ``` # It is OK that i is "unused" in the for loop. ``` ``` # pylint: disable-msg=W0612 ``` ``` def addTree( self, n, depth, fanout ): ``` ``` """Add a subtree starting with node n. ``` ``` returns: last node added""" ``` ``` me = n ``` ``` isSwitch = depth > 0 ``` 80be5642 Bob Lantz ``` self.add_node( me, Node( is_switch=isSwitch ) ) ``` 11a6d400 Bob Lantz ``` if isSwitch: ``` ``` for i in range( 0, fanout ): ``` ``` child = n + 1 ``` 80be5642 Bob Lantz ``` self.add_edge( me, child ) ``` 11a6d400 Bob Lantz ``` n = self.addTree( child, depth-1, fanout ) ``` ``` return n ``` ` # pylint: enable-msg=W0612`