diff options
author | 2016-09-13 11:40:12 +0800 | |
---|---|---|
committer | 2016-09-13 11:41:53 +0800 | |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/tools/test/topos/optical.py | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (diff) |
ONOSFW-171
O/S-SFC-ONOS scenario documentation
Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365
Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/tools/test/topos/optical.py')
-rwxr-xr-x | framework/src/onos/tools/test/topos/optical.py | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/framework/src/onos/tools/test/topos/optical.py b/framework/src/onos/tools/test/topos/optical.py deleted file mode 100755 index 300332aa..00000000 --- a/framework/src/onos/tools/test/topos/optical.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python - -''' file: optical.py ''' - -from mininet.topo import Topo -from mininet.node import RemoteController -from mininet.net import Mininet -from mininet.cli import CLI -from mininet.log import setLogLevel, info -from mininet.link import Intf, Link -from mininet.util import irange - -class NullIntf( Intf ): - "A dummy interface with a blank name that doesn't do any configuration" - def __init__( self, name, **params ): - self.name = '' - -class NullLink( Link ): - "A dummy link that doesn't touch either interface" - def makeIntfPair( cls, intf1, intf2, addr1=None, addr2=None ): - pass - def delete( self ): - pass - -class OpticalTopo( Topo ): - - def addIntf( self, switch, intfName ): - "Add intf intfName to switch" - self.addLink( switch, switch, cls=NullLink, - intfName1=intfName, cls2=NullIntf, intfName2=intfName ) - - def build( self, n=2, tapStart=3 ): - - # Add hosts and switches - hosts = [] - switches = [] - for i in irange( 1, n ): - h = self.addHost( 'h%d' % i ) - s = self.addSwitch( 's%d' % i, dpid="0000ffffffff%04d" % i ) - self.addLink( h, s ) - hosts.append( h ) - switches.append( s ) - - # Add optical tap interfaces - tapNum = tapStart - for sw in switches: - self.addIntf( sw, 'tap%d' % tapNum ) - tapNum += 1 - -# if you use, sudo mn --custom custom/optical.py, then register the topo: -#sudo mn --custom optical.py --topo optical,5 -topos = { 'optical': OpticalTopo } - -def installStaticFlows( net ): - for sw in net.switches: - info( 'Adding flows to %s...' % sw.name ) - sw.dpctl( 'add-flow', 'in_port=1,actions=output=2' ) - sw.dpctl( 'add-flow', 'in_port=2,actions=output=1' ) - info( sw.dpctl( 'dump-flows' ) ) - -def run( n ): - topo = OpticalTopo( n ) - net = Mininet( topo=topo, controller=RemoteController, autoSetMacs=True ) - net.start() - #installStaticFlows( net ) - CLI( net ) - net.stop() - -# if the script is run directly (sudo custom/optical.py): -if __name__ == '__main__': - import sys - try: - n = int( sys.argv[1] ) - except: - print ( 'Usage: ./optical.py n # n is number of switches\n' - 'Starting with default of 2 switches...\n' ) - n = 2 - setLogLevel( 'info' ) - run( n ) |