Compare commits

..

11 Commits

Author SHA1 Message Date
Bob Lantz 1d4fd471ff 2.1.0p1 -> 2.1.0p2, and update copyright to 2014 (fwiw) 2014-06-27 13:13:31 -07:00
Bob Lantz 6b3b3062c0 Allow specification of branch to install 2014-06-24 15:49:18 -07:00
Bob Lantz 176870d586 2.1.0p1 2013-12-11 19:24:47 -08:00
Bob Lantz 17dbc7e055 Minor codecheck fixes 2013-12-11 18:33:54 -08:00
Bob Lantz 312c386cda Fix regex to support Mininet 20.30.40+++ 2013-12-11 18:29:58 -08:00
Bob Lantz 96952b92f8 2.1.0 -> 2.1.0+ 2013-12-11 18:08:33 -08:00
Brian O'Connor c7e86f9374 fixing CLI host rewriting when host's default interface does not have an IP 2013-12-05 17:30:09 -08:00
Bob Lantz 5da9376222 Depend: add dnsmasq (needed), remove landscape-client (not) 2013-11-20 22:15:26 -08:00
Bob bee06cf264 Merge pull request #245 from yeasy/master
Fix error wiki url.
2013-11-15 13:23:10 -08:00
Baohua Yang cd238fe567 Fix error wiki url. 2013-11-15 14:24:51 +08:00
Bob Lantz e771239608 Only restart network-manager if we've changed config 2013-10-24 15:11:43 -07:00
13 changed files with 29 additions and 85 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
Mininet Installation/Configuration Notes
----------------------------------------
Mininet 2.1.0
Mininet 2.1.0p2
---
The supported installation methods for Mininet are 1) using a
+2 -2
View File
@@ -1,6 +1,6 @@
Mininet 2.1.0 License
Mininet 2.1.0p2 License
Copyright (c) 2013 Open Networking Laboratory
Copyright (c) 2013-2014 Open Networking Laboratory
Copyright (c) 2009-2012 Bob Lantz and The Board of Trustees of
The Leland Stanford Junior University
+4 -4
View File
@@ -3,7 +3,7 @@ Mininet: Rapid Prototyping for Software Defined Networks
*The best way to emulate almost any network on your laptop!*
Version 2.1.0
Version 2.1.0p2
### What is Mininet?
@@ -66,9 +66,9 @@ Mininet includes:
`mn -c`
### New features in 2.1.0
### New features in 2.1.0p2
Mininet 2.1.0 provides a number of bug fixes as well as
Mininet 2.1.0p2 provides a number of bug fixes as well as
several new features, including:
* Convenient access to `Mininet()` as a dict of nodes
@@ -127,7 +127,7 @@ Mininet to change the networking world!
### Credits
The Mininet 2.1.0 Team:
The Mininet 2.1.0p2 Team:
* Bob Lantz
* Brian O'Connor
-61
View File
@@ -1,61 +0,0 @@
#!/usr/bin/python
"""
This example shows how to add an interface (for example a real
hardware interface) to a Mininet topology.
"""
import sys
from mininet.cli import CLI
from mininet.log import setLogLevel, info
from mininet.net import Mininet
from mininet.topo import Topo
from mininet.link import Intf, Link
from mininet.examples.hwintf import checkIntf
class NoneIntf( Intf ):
"A dummy interface with a blank name that doesn't do any configuration"
def __init__( self, name, **params ):
self.name = ''
class HWIntfLink( Link ):
"A dummy link that doesn't touch either interface"
def makeIntfPair( cls, intf1, intf2 ):
pass
def delete( self ):
pass
class HWIntfTopo( Topo ):
"Simple one switch, two host topology with hwintf added to switch"
def __init__(self, intf, **opts):
Topo.__init__(self, **opts)
sw = self.addSwitch( 's1' )
h1 = self.addHost( 'h1' )
h2 = self.addHost( 'h2' )
self.addLink( sw, h1 )
self.addLink( sw, h2 )
self.addLink( sw, sw, cls=HWIntfLink, intfName1=intf, cls2=NoneIntf )
def run():
# Get hwintf from command line args, and verify that it is not used
intfName = sys.argv[ 1 ] if len( sys.argv ) > 1 else 'eth1'
checkIntf( intfName )
topo = HWIntfTopo( intf=intfName )
net = Mininet( topo=topo )
net.start()
CLI( net )
net.stop()
if __name__ == '__main__':
setLogLevel( 'info' )
run()
+3 -3
View File
@@ -63,9 +63,9 @@ def fixNetworkManager( root, intf ):
print '*** Adding', line.strip(), 'to', cfile
with open( cfile, 'a' ) as f:
f.write( line )
# Probably need to restart network-manager to be safe -
# hopefully this won't disconnect you
root.cmd( 'service network-manager restart' )
# Probably need to restart network-manager to be safe -
# hopefully this won't disconnect you
root.cmd( 'service network-manager restart' )
def connectToInternet( network, switch='s1', rootip='10.254', subnet='10.0/8'):
"""Connect the network to the internet
+1 -1
View File
@@ -55,7 +55,7 @@ def sshd( network, cmd='/usr/sbin/sshd', opts='-D',
if not switch:
switch = network[ 's1' ] # switch to use
if not routes:
routes = [ '10.0.0.0/24' ]
routes = [ '10.0.0.0/24' ]
connectToRootNS( network, switch, ip, routes )
for host in network.hosts:
host.cmd( cmd + ' ' + opts + '&' )
+2 -1
View File
@@ -331,7 +331,8 @@ class CLI( Cmd ):
node = self.mn[ first ]
rest = args.split( ' ' )
# Substitute IP addresses for node names in command
rest = [ self.mn[ arg ].defaultIntf().updateIP()
# If updateIP() returns None, then use node name
rest = [ self.mn[ arg ].defaultIntf().updateIP() or arg
if arg in self.mn else arg
for arg in rest ]
rest = ' '.join( rest )
+1 -1
View File
@@ -57,7 +57,7 @@ class StreamHandlerNoNewline( logging.StreamHandler ):
class Singleton( type ):
"""Singleton pattern from Wikipedia
See http://en.wikipedia.org/wiki/SingletonPattern#Python
See http://en.wikipedia.org/wiki/Singleton_Pattern
Intended to be used as a __metaclass_ param, as shown for the class
below."""
+1 -1
View File
@@ -102,7 +102,7 @@ from mininet.util import macColonHex, ipStr, ipParse, netParse, ipAdd
from mininet.term import cleanUpScreens, makeTerms
# Mininet version: should be consistent with README and LICENSE
VERSION = "2.1.0"
VERSION = "2.1.0p2"
class Mininet( object ):
"Network emulation with hosts spawned in network namespaces."
-1
View File
@@ -9,7 +9,6 @@ TODO: missing xterm test
import unittest
import pexpect
import os
from time import sleep
from mininet.util import quietRun
class testWalkthrough( unittest.TestCase ):
+1 -1
View File
@@ -8,7 +8,7 @@ version = 'Mininet ' + co( 'PYTHONPATH=. bin/mn --version', shell=True )
version = version.strip()
# Find all Mininet path references
lines = co( "grep -or 'Mininet \w\.\w\.\w\w*' *", shell=True )
lines = co( "grep -or 'Mininet \w\+\.\w\+\.\w\+[+]*' *", shell=True )
error = False
+3 -4
View File
@@ -140,8 +140,7 @@ def depend():
run( 'sudo apt-get -y update' )
run( 'sudo apt-get install -y'
' kvm cloud-utils genisoimage qemu-kvm qemu-utils'
' e2fsprogs '
' landscape-client'
' e2fsprogs dnsmasq'
' python-setuptools mtools zip' )
run( 'sudo easy_install pexpect' )
@@ -581,8 +580,8 @@ OVFTemplate = """<?xml version="1.0"?>
</References>
<DiskSection>
<Info>Virtual disk information</Info>
<Disk ovf:capacity="%d" ovf:capacityAllocationUnits="byte"
ovf:diskId="vmdisk1" ovf:fileRef="file1"
<Disk ovf:capacity="%d" ovf:capacityAllocationUnits="byte"
ovf:diskId="vmdisk1" ovf:fileRef="file1"
ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html"/>
</DiskSection>
<NetworkSection>
+10 -4
View File
@@ -3,6 +3,8 @@
# This script is intended to install Mininet into
# a brand-new Ubuntu virtual machine,
# to create a fully usable "tutorial" VM.
#
# optional argument: Mininet branch to install
set -e
echo `whoami` ALL=NOPASSWD: ALL | sudo tee -a /etc/sudoers > /dev/null
sudo sed -i -e 's/Default/#Default/' /etc/sudoers
@@ -25,11 +27,16 @@ fi
if [ -e /etc/rc.local.backup ]; then
sudo mv /etc/rc.local.backup /etc/rc.local
fi
# Install Mininet
# Fetch Mininet
sudo apt-get -y install git-core openssh-server
git clone git://github.com/mininet/mininet
cd mininet
cd
# Optionally check out branch
if [ "$1" != "" ]; then
pushd mininet
git checkout -b $1 $1
popd
fi
# Install Mininet
time mininet/util/install.sh
# Finalize VM
time mininet/util/install.sh -tc
@@ -38,4 +45,3 @@ time mininet/util/install.sh -tc
# echo "export NOX_CORE_DIR=~/noxcore/build/src/" >> .bashrc
#fi
echo "Done preparing Mininet VM."