Restored scratchnet and scratchnetuser demos.
Also changed the str format for nodes to use str() ratherthan repr() so we don't end up with extraneous quotes.
Moved link creation into Node.addIntf() and fixed util:CreateLink().
Also tweaked cmd/cmdPrint to make them more beautiful and functional,and a few other minor changes, such as using a new idiom for verbose.
These changes support reinstating the examples.
Changed cmdPrint to cmd.
Added debug() convenience function.
Changed to be executable.
Added py command to evaluate Python expressions, e.g. h1.cmd('ls')
Removed trailing spaces.
Merge branch 'customtopos' into bl-dev
Tweaks to pass code check.
Minor cleanup of mn/net and fixes for CLI.
All commands should work now.
Changed custom feature so that params aren't added to globals.
There is probably a better way of doing this, but currentlyparseCustomFile can modify globals (e.g. TOPOS) as well asinstance variables (self.validate) and classes (e.g. MyTopo),which are also in the global name space....
Removed blank line at EOF.
Changed to dump bad iperf output.
Fixed to be compatible with modified Mininet() class.
Ran unpep8 on test_nets.py.
Made it possible to create a Mininet() without using a Topo object.
This increases flexibility by allowing a topology to be manually createdin Python, or specified using another format, without having to createa Topo object first.
However, Topos are useful, and are still the default topology object!
Add env var to install script
Fix KeyError for missing NOX env var
Remove NOX_INSTALL file
NOX Install is covered in the wiki and in util/deb/install_nox.sh.
Update custom topo instructions
More specific topo example filename
Add gitk to installed VM tools
Add VM install scripts
Move sysctl script to util
Merge branch 'master' of yuba.stanford.edu:mininet
Added a bit to comments, and removed trailing spaces.
Minor bug fixes and tweaks.
Shell now works (although we should use quietRun instead to avoidfile descriptor problem!)
exit/quit/EOF now all exit.
Renamed pingall and pingpair to make them easier to type - I thinkcommands should not require use of the shift key in general, although...
Added warn to complement info, error.
Minor cleanup; clarified fdToNode (still need to test however.)
Changed to use info() and error() logging aliases.
Added info() and error() as aliases for lg.info() and lg.error()
Munged mn and mnclean into mininet style.
Removed hash-bang in module files which aren't executed directly,with the exception of topo.py, which I haven't touched.
Comment tweaks and additions.
Moved CLI into its own file. Also, MininetCLI is now just 'CLI'.
Minor changes to get 'make test' to pass.
- some namespace conflicts due to unpep8- fixed infinite recursion caused by removing redundant makeIntfPair
First crack at restoring mininet python style, assisted by handy'unpep8' script, which does most of the work.
- topo.py is still in pep8- not all examples work, but this is due to other issues
First crack at restoring Mininet style (via handy 'unpep8' script, whichdoes most of the work.)
topo.py is still in pep8, however
Changed to ignore W0511, which fails on TODO, FIXME, etc..
We may wish to re-enable this later.
Renamed logging_mod.py -> log.py
Updated other files accordingly.
Renamed mn_run.py -> mn, mn_clean.py -> mnclean; updated Makefle
It's possible that mn_clean is a bit easier to read; mnclean may be easierto type, however.
Added variables to Makefile so that source files are listed in a singlelocation.
Fixed undefined variable 'custom' in setup().
Move sysctl params to separate file
Simplifies installation step
Revamp custom topology input
Defining custom topologies, switch types, controllers, and hosts is nowmuch easier. Plus, all Ripcord-specific stuff has been moved out.
Update license and add networkx dependency
Improve CLI line editing capabilities
Convert CLI to use Python Cmd object, which provides line editing.
Fix errors from style changes
Fix setuptools installation
The packages argument was incorrectly specified, leading to an installprocess that would appear to have succeeded, but would not actually copycode.
The error likely occurred due to copying setup.py from another projectwhere the source files were located in a different position relative to...
Add VL2 reduced topology
Add ability to read custom Mininets
Add missing pylint settings file
Support OpenVSwitch in kernel-mode
Add static code checking for style and errors
This required a change to logging, which now uses a singleton pattern.
For all future checkins, 'make codecheck' should pass.
Restore user-space switch option
Switches and controller in root namespace only, for now.
Support out-of-order link addition
Sort interface names before passing to dpctl for kernel switch, so thatlinks for multipath topologies can be added in any order.
Add reversed version of the SingleSwitch topology
Possibly useful for adding custom port mappings.
CLI: add node dump-all-data command
CLI: add interface dump command
Add default ip and port for remote controller
Add options for auto MAC and ARP setup.
Auto MAC setup sets each host MAC equal to its DPID, which simplifiesdebugging.
Auto ARP setup removes the need for broadcast support for ARP, whichenables a smaller NOX controller.
Make Ripcord-specific topologies optional
If ripcord.dctopo imports properly, then include its topologies in thelist of available ones. Also replace topo.py with new generictopologies and update paths.
Support more topologies
Increase createLink retry count
Was seeing occasional errors with tests run back-to-back.
Remove accidentally-added iperf verbosity
Add iperf UDP test
Add xterm support
Separate kernel and user switches into separate objects
Enable controller-less setups
Add more NOX options
Restore iperf test
Also simplify test running.
Remove/merge obsolete examples
Auto-install run and clean scripts
Also remove usused imports and outdated doc text.
Add mn_run.py, a script to run Mininets.
Simplifies launching a Mininet or running tests on one.
Added a RemoteController object
Now you can run a controller on a remote PC that isnot on the same pc as Mininet.
Add MAC auto set for switches
Also use indexing for DPIDs to avoid zeroed MAC
Move TreeNet to new Mininet API
Also remove all non-object-oriented legacy Mininet code and updatetests.
User-space compatibility is untested, but most of the code for it isstill in.
Move fixLimits function to util
Move Node functions into their own file
Nodes include Switch, Host, and Controller; move these to a separatefile.
This file still could use some attention to hide private functions.Node seems like a primary class to extend, for adding stuff like OpenvSwitch, so it could benefit from a simpler interface.
Remove unused function
Move utility functions out of mininet.py
Having a file with the same name as its package creates hard-to-diagnoseimport error, so rename mininet.py to net.py. This commit moves utilityfunctions, generally those dealing with network namespaces and interface...
Rewrite Ripcord test and most of mininet
Make much of the Mininet code object-oriented around the new Mininetobject, and create a generic way to build a Mininet.
Previously, each network topology was created by Mininet API calls,which seems much less approachable for new users than passing in a...
Remove verbose command printouts
Add missing newline printouts
Document retry function
Fix IP printing exception
Fix module resolution
Forgot to add init.py
Add LinearNet test case
More flexible logging support
Use customized StreamHandler from Python logging module to printonly messages for the specified loglevel to the console.
Clean up display
Don't print retry errors by default.
Don't attempt to kill processes twice
Was causing OSErrors because the process to kill no longer existed.
Reduce interface move delay and make configurable
Much faster now; from 1 s delay to 100 us.
Add example unit tests and Makefile target
Add make clean to remove dist files created by setuptools
Use setuptools to install python files
Now, to reference mininet files, use 'import mininet.mininet'.
PYTHONPATH mods are no longer required for installation.
Start controller with verbose by default
Add missing function import