2.3.1b4 (#1184)
Including changes to mnexec -c to reduce the number of close() system calls, which may help with performance in containers on Ubuntu 22.04. Note that systemd-udevd also seems to be a cause of performance issues and should probably be disabled while running Mininet. Adding dbeug logging to test_simpleperf because it is failing intermittently. (Note with packet loss it can fail, but this is not how we should be testing it.)
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
Mininet Installation/Configuration Notes
|
Mininet Installation/Configuration Notes
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
Mininet 2.3.1b3
|
Mininet 2.3.1b4
|
||||||
---
|
---
|
||||||
|
|
||||||
The supported installation methods for Mininet are 1) using a
|
The supported installation methods for Mininet are 1) using a
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Mininet: Rapid Prototyping for Software Defined Networks
|
|||||||
========================================================
|
========================================================
|
||||||
*The best way to emulate almost any network on your laptop!*
|
*The best way to emulate almost any network on your laptop!*
|
||||||
|
|
||||||
Mininet 2.3.1b3
|
Mininet 2.3.1b4
|
||||||
|
|
||||||
[![Build Status][1]](https://github.com/mininet/mininet/actions)
|
[![Build Status][1]](https://github.com/mininet/mininet/actions)
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ Mininet includes:
|
|||||||
|
|
||||||
### Python 3 Support
|
### Python 3 Support
|
||||||
|
|
||||||
- Mininet 2.3.1b3 supports Python 3 and Python 2
|
- Mininet 2.3.1b4 supports Python 3 and Python 2
|
||||||
|
|
||||||
- You can install both the Python 3 and Python 2 versions of
|
- You can install both the Python 3 and Python 2 versions of
|
||||||
Mininet side by side, but the most recent installation will
|
Mininet side by side, but the most recent installation will
|
||||||
|
|||||||
@@ -49,13 +49,19 @@ def perfTest( lossy=True ):
|
|||||||
net.start()
|
net.start()
|
||||||
info( "Dumping host connections\n" )
|
info( "Dumping host connections\n" )
|
||||||
dumpNodeConnections(net.hosts)
|
dumpNodeConnections(net.hosts)
|
||||||
info( "Testing bandwidth between h1 and h4\n" )
|
info( "Testing bandwidth between h1 and h4 (lossy=%s)\n" % lossy )
|
||||||
h1, h4 = net.getNodeByName('h1', 'h4')
|
h1, h4 = net.getNodeByName('h1', 'h4')
|
||||||
net.iperf( ( h1, h4 ), l4Type='UDP' )
|
net.iperf( ( h1, h4 ), l4Type='UDP' )
|
||||||
|
# Debugging
|
||||||
|
h1.cmd('jobs')
|
||||||
|
h4.cmd('jobs')
|
||||||
net.stop()
|
net.stop()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
setLogLevel( 'info' )
|
setLogLevel( 'info' )
|
||||||
|
# Debug for now
|
||||||
|
if 'testmode' in argv:
|
||||||
|
setLogLevel( 'debug' )
|
||||||
# Prevent test_simpleperf from failing due to packet loss
|
# Prevent test_simpleperf from failing due to packet loss
|
||||||
perfTest( lossy=( 'testmode' not in argv ) )
|
perfTest( lossy=( 'testmode' not in argv ) )
|
||||||
|
|||||||
@@ -19,9 +19,12 @@ class testSimplePerf( unittest.TestCase ):
|
|||||||
# 10 Mb/s, plus or minus 20% tolerance
|
# 10 Mb/s, plus or minus 20% tolerance
|
||||||
BW = 10
|
BW = 10
|
||||||
TOLERANCE = .2
|
TOLERANCE = .2
|
||||||
p = pexpect.spawn( 'python -m mininet.examples.simpleperf testmode' )
|
p = pexpect.spawn(
|
||||||
|
'python -m mininet.examples.simpleperf testmode' )
|
||||||
|
# Log since this seems to be failing intermittently
|
||||||
|
p.logfile = sys.stdout
|
||||||
# check iperf results
|
# check iperf results
|
||||||
p.expect( "Results: \['10M', '([\d\.]+) .bits/sec", timeout=480 )
|
p.expect( "Results: \['10M', '([\d\.]+) .bits/sec", timeout=90 )
|
||||||
measuredBw = float( p.match.group( 1 ) )
|
measuredBw = float( p.match.group( 1 ) )
|
||||||
lowerBound = BW * ( 1 - TOLERANCE )
|
lowerBound = BW * ( 1 - TOLERANCE )
|
||||||
upperBound = BW + ( 1 + TOLERANCE )
|
upperBound = BW + ( 1 + TOLERANCE )
|
||||||
@@ -30,5 +33,5 @@ class testSimplePerf( unittest.TestCase ):
|
|||||||
p.wait()
|
p.wait()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
setLogLevel( 'warning' )
|
setLogLevel( 'debug' )
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
+1
-1
@@ -109,7 +109,7 @@ from mininet.util import ( quietRun, fixLimits, numCores, ensureRoot,
|
|||||||
from mininet.term import cleanUpScreens, makeTerms
|
from mininet.term import cleanUpScreens, makeTerms
|
||||||
|
|
||||||
# Mininet version: should be consistent with README and LICENSE
|
# Mininet version: should be consistent with README and LICENSE
|
||||||
VERSION = "2.3.1b3"
|
VERSION = "2.3.1b4"
|
||||||
|
|
||||||
class Mininet( object ):
|
class Mininet( object ):
|
||||||
"Network emulation with hosts spawned in network namespaces."
|
"Network emulation with hosts spawned in network namespaces."
|
||||||
|
|||||||
Reference in New Issue
Block a user