From 345bf7cc295d02c5c3e19f3a31305eaa521b7aeb Mon Sep 17 00:00:00 2001 From: Brandon Heller <brandonh@stanford.edu> Date: Fri, 18 Dec 2009 15:39:14 -0800 Subject: [PATCH] Reduce interface move delay and make configurable Much faster now; from 1 s delay to 100 us. --- mininet/mininet.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mininet/mininet.py b/mininet/mininet.py index b0d8baa7..a8755838 100755 --- a/mininet/mininet.py +++ b/mininet/mininet.py @@ -333,6 +333,8 @@ def monitor( self ): # live in the root namespace and thus do not have to be # explicitly moved. +MOVEINTF_DELAY = 0.0001 + def makeIntfPair( intf1, intf2 ): "Make a veth pair of intf1 and intf2." # Delete any old interfaces with the same names @@ -353,11 +355,11 @@ def moveIntf( intf, node ): return False return True -def retry( n, fn, *args): +def retry( n, retry_delay, fn, *args): "Try something N times before giving up." tries = 0 while not apply( fn, args ) and tries < n: - sleep( 1 ) + sleep( retry_delay ) print "*** retrying..."; flush() tries += 1 if tries >= n: @@ -369,8 +371,8 @@ def createLink( node1, node2 ): intf1 = node1.newIntf() intf2 = node2.newIntf() makeIntfPair( intf1, intf2 ) - if node1.inNamespace: retry( 3, moveIntf, intf1, node1 ) - if node2.inNamespace: retry( 3, moveIntf, intf2, node2 ) + if node1.inNamespace: retry( 3, MOVEINTF_DELAY, moveIntf, intf1, node1 ) + if node2.inNamespace: retry( 3, MOVEINTF_DELAY, moveIntf, intf2, node2 ) node1.connection[ intf1 ] = ( node2, intf2 ) node2.connection[ intf2 ] = ( node1, intf1 ) return intf1, intf2 -- GitLab