Commit Graph
95 Commits
Author SHA1 Message Date
Brandon Heller a3d899123d Comment clarification 2010-03-14 03:57:25 -07:00
Brandon Heller b055728fd5 Automatically load kernel module dependencies
Before this commit, you'd have to manually insert the kernel module for
OVS or OF kernel modules, and you couldn't run one regression test with
all 3.

Now, these are kmod insert/remove is handled automatically.
2010-03-14 03:53:16 -07:00
Brandon Heller a165881049 Ignore pyc files 2010-03-14 03:53:16 -07:00
Brandon Heller e01292c167 Fix minor typo 2010-03-14 03:53:16 -07:00
Brandon Heller 956bf4f2d0 Fix param typo 2010-03-14 03:53:15 -07:00
Brandon Heller 3fac5a43d7 Handle ping output for paused hosts 2010-03-13 21:44:11 -08:00
Brandon Heller 07aad11081 Add ability to pause and resume any node 2010-03-13 21:35:52 -08:00
Brandon Heller 28cd95c374 Fix link command parsing bug 2010-03-13 21:32:11 -08:00
Brandon Heller af380c8912 Show PIDs in dump() 2010-03-13 16:36:34 -08:00
Brandon Heller 8d3c2859e4 Add port status change command 2010-03-13 06:30:53 -08:00
Brandon Heller e7c787b343 Fix sending commands to switches 2010-03-13 06:02:40 -08:00
Brandon Heller 44c63c2abd Fix OVS breakage 2010-03-12 16:13:09 -08:00
Brandon Heller 77529ce550 Ignore binary and egg data 2010-03-12 16:13:08 -08:00
Brandon Heller c30e500731 Update install instructions 2010-03-12 16:13:08 -08:00
Brandon Heller b403cc7f96 Colorize git output by default in VM 2010-03-12 16:13:08 -08:00
Brandon Heller 3b1174eff6 Update install scripts
Don't build NOX and OVS as root.  Also don't nuke kernel src.  Install
newer autoconf needed for OVS install from Deb backports, not src.
2010-03-12 16:13:08 -08:00
Brandon Heller b0a7a2579a Fix OVS breakage 2010-03-10 15:44:00 -08:00
Brandon Heller 4e57ddbce1 Ignore binary and egg data 2010-03-09 22:45:54 -08:00
Brandon Heller 8f30aa0017 Update install instructions 2010-03-09 22:37:29 -08:00
Brandon Heller f7f2f977d5 Colorize git output by default in VM 2010-03-09 22:16:30 -08:00
Brandon Heller 188964c911 Update install scripts
Don't build NOX and OVS as root.  Also don't nuke kernel src.  Install
newer autoconf needed for OVS install from Deb backports, not src.
2010-03-09 22:16:30 -08:00
Brandon Heller cdeaca8682 Rename cliinfo debug level to output 2010-03-05 04:11:29 -08:00
Brandon Heller dfc08a869e Add none test to measure MN creation/teardown time 2010-03-05 04:08:58 -08:00
Brandon Heller c8641d7d15 Fix remote controller param 2010-03-05 01:13:22 -08:00
Brandon Heller 7ae73e677f Fix pylint warnings 2010-03-04 22:36:34 -08:00
Brandon Heller f259e2fa1c Don't try to codecheck non-existent mnclean 2010-03-04 22:26:29 -08:00
Brandon Heller 509a852f18 Add TreeTopo to cmd line 2010-03-04 21:52:41 -08:00
Brandon Heller 3eb5abe6a7 Make cleanup a param of mn, not a separate script
Also switch from print to info statements, to enable a non-verbose
clean.  Instead of 'mnclean', now run 'mn -c'.
2010-03-04 21:47:50 -08:00
Brandon Heller 4e69ae83dd Slightly reduce cliinfo verbosity 2010-03-04 21:34:01 -08:00
Brandon Heller bb941950d5 Add flexible topology input parsing
Now you can pass a topology name followed by params.  For example, to
create a switch with 3 hosts:

  sudo mn --topo single,3
2010-03-04 21:29:32 -08:00
Brandon Heller 1a40cd0477 Add new loglevel to display CLI output only
Also print warning if user chooses a loglevel that will hide CLI output.
2010-03-04 18:58:37 -08:00
Brandon Heller 28ab4a33d6 Add env var to install script 2010-02-18 12:10:36 -08:00
Brandon Heller 4f4f1dd2fa Fix KeyError for missing NOX env var 2010-02-18 11:44:08 -08:00
Brandon Heller 8ff7ee4297 Remove NOX_INSTALL file
NOX Install is covered in the wiki and in util/deb/install_nox.sh.
2010-02-18 11:37:50 -08:00
Brandon Heller 4e94bac0ae Update custom topo instructions 2010-02-18 11:36:56 -08:00
Brandon Heller fe29f64dd3 More specific topo example filename 2010-02-18 10:49:23 -08:00
Brandon Heller 2b083dd191 Add gitk to installed VM tools 2010-02-18 06:02:00 -08:00
Brandon Heller 777c90236e Add VM install scripts 2010-02-18 00:09:12 -08:00
Brandon Heller 8d8ac76e85 Move sysctl script to util 2010-02-17 22:47:03 -08:00
Brandon Heller f52edfc545 Move sysctl params to separate file
Simplifies installation step
2010-01-31 06:58:02 -08:00
Brandon Heller befa1310df Revamp custom topology input
Defining custom topologies, switch types, controllers, and hosts is now
much easier.  Plus, all Ripcord-specific stuff has been moved out.
2010-01-30 02:46:08 -08:00
Brandon Heller 3774f234f0 Update license and add networkx dependency 2010-01-29 18:49:08 -08:00
Brandon Heller 114dcd5653 Improve CLI line editing capabilities
Convert CLI to use Python Cmd object, which provides line editing.
2010-01-29 14:42:53 -08:00
Brandon Heller 83097ff942 Fix errors from style changes 2010-01-29 13:29:12 -08:00
Brandon Heller 8f99421e02 Fix setuptools installation
The packages argument was incorrectly specified, leading to an install
process that would appear to have succeeded, but would not actually copy
code.

The error likely occurred due to copying setup.py from another project
where the source files were located in a different position relative to
setup.py.
2010-01-27 22:45:05 -08:00
Brandon Heller 8e8081c408 Add VL2 reduced topology 2010-01-25 15:27:50 -08:00
Brandon Heller 3031d31efe Add ability to read custom Mininets 2010-01-11 16:40:25 -08:00
Brandon Heller 1b6a9c3a20 Add missing pylint settings file 2010-01-09 21:12:17 -08:00
Brandon Heller f7c2df2513 Support OpenVSwitch in kernel-mode 2010-01-09 21:11:25 -08:00
Brandon Heller 723d068c51 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.
2010-01-09 17:59:43 -08:00
Brandon Heller ca58c896dd Restore user-space switch option
Switches and controller in root namespace only, for now.
2010-01-07 00:54:27 -08:00
Brandon Heller d856c81896 Support out-of-order link addition
Sort interface names before passing to dpctl for kernel switch, so that
links for multipath topologies can be added in any order.
2010-01-06 21:23:33 -08:00
Brandon Heller 6d2cd77b5a Add reversed version of the SingleSwitch topology
Possibly useful for adding custom port mappings.
2010-01-06 08:53:01 -08:00
Brandon Heller 80b3dbbd48 CLI: add node dump-all-data command 2010-01-06 08:52:38 -08:00
Brandon Heller 74ef761529 CLI: add interface dump command 2010-01-06 08:40:07 -08:00
Brandon Heller ee00736307 Add default ip and port for remote controller 2010-01-06 07:22:45 -08:00
Brandon Heller 540379957b Add MAC auto set for switches
Also use indexing for DPIDs to avoid zeroed MAC
2010-01-01 03:16:57 -08:00
Brandon Heller 376bcba442 Add options for auto MAC and ARP setup.
Auto MAC setup sets each host MAC equal to its DPID, which simplifies
debugging.

Auto ARP setup removes the need for broadcast support for ARP, which
enables a smaller NOX controller.
2010-01-03 09:16:14 -08:00
Brandon Heller 433a7cc88c Make Ripcord-specific topologies optional
If ripcord.dctopo imports properly, then include its topologies in the
list of available ones.  Also replace topo.py with new generic
topologies and update paths.
2010-01-03 03:53:23 -08:00
Brandon Heller c98514ae44 Support more topologies 2010-01-03 02:44:08 -08:00
Brandon Heller ac65ea3ff3 Increase createLink retry count
Was seeing occasional errors with tests run back-to-back.
2010-01-03 02:43:30 -08:00
Brandon Heller fcf6a16f3d Remove accidentally-added iperf verbosity 2010-01-02 11:20:41 -08:00
Brandon Heller 0cd489a78b Add iperf UDP test 2010-01-02 10:58:28 -08:00
Brandon Heller 8a034f4f6c Add xterm support 2010-01-02 10:58:28 -08:00
Brandon Heller 1bb4412ff3 Separate kernel and user switches into separate objects 2010-01-02 10:58:28 -08:00
Brandon Heller 16c57ddb33 Enable controller-less setups 2010-01-02 10:58:28 -08:00
Brandon Heller 4804237fa7 Add more NOX options 2010-01-02 10:58:28 -08:00
Brandon Heller eeb9cb3c2b Restore iperf test
Also simplify test running.
2010-01-02 10:58:25 -08:00
Brandon Heller 83086439cc Remove/merge obsolete examples 2010-01-02 10:55:46 -08:00
Brandon Heller 8f20b95d56 Auto-install run and clean scripts
Also remove usused imports and outdated doc text.
2010-01-02 02:43:51 -08:00
Brandon Heller a6b473227f Add mn_run.py, a script to run Mininets.
Simplifies launching a Mininet or running tests on one.
2010-01-02 02:42:08 -08:00
Brandon Heller 8b5062a3a1 Move TreeNet to new Mininet API
Also remove all non-object-oriented legacy Mininet code and update
tests.

User-space compatibility is untested, but most of the code for it is
still in.
2009-12-26 14:25:48 -08:00
Brandon Heller e3621eb057 Move fixLimits function to util 2009-12-26 07:40:57 -08:00
Brandon Heller 89bf31030b Move Node functions into their own file
Nodes include Switch, Host, and Controller; move these to a separate
file.

This file still could use some attention to hide private functions.
Node seems like a primary class to extend, for adding stuff like Open
vSwitch, so it could benefit from a simpler interface.
2009-12-20 14:19:32 -08:00
Brandon Heller 4d2d52c3db Remove unused function 2009-12-20 09:46:16 -08:00
Brandon Heller 220890a0c9 Move utility functions out of mininet.py
Having a file with the same name as its package creates hard-to-diagnose
import error, so rename mininet.py to net.py.  This commit moves utility
functions, generally those dealing with network namespaces and interface
management, into their own file.

Also fix a few minor formatting bugs and clean up logging code (which
had issues when multiple files would import mininet.logging_mod).
2009-12-20 09:32:43 -08:00
Brandon Heller bc547080b8 Rewrite Ripcord test and most of mininet
Make much of the Mininet code object-oriented around the new Mininet
object, 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
topology object along with controller, switch, and host classes.

The modified code is all in ripcordtest.py, but will need to replace the
main mininet.py code eventually.

Kernel-space support only, for now.
2009-12-20 04:03:23 -08:00
Brandon Heller 75810224ed Remove verbose command printouts 2009-12-20 03:54:37 -08:00
Brandon Heller 8e63d3cb72 Add missing newline printouts 2009-12-19 19:21:47 -08:00
Brandon Heller fabbac885f Document retry function 2009-12-19 19:21:18 -08:00
Brandon Heller 2e52801de5 Fix IP printing exception 2009-12-19 19:20:53 -08:00
Brandon Heller b426d24e45 Minor documentation 2009-12-19 19:05:09 -08:00
Brandon Heller b6423f8c4d Fix module resolution
Forgot to add __init__.py
2009-12-18 20:36:48 -08:00
Brandon Heller 15f37cc292 Add LinearNet test case 2009-12-18 20:36:48 -08:00
Brandon Heller 7b804ffbae More flexible logging support
Use customized StreamHandler from Python logging module to print
only messages for the specified loglevel to the console.
2009-12-18 20:36:36 -08:00
Brandon Heller 1095628b8a Clean up display
Don't print retry errors by default.
2009-12-18 15:51:30 -08:00
Brandon Heller 7c1d7c9f90 Don't attempt to kill processes twice
Was causing OSErrors because the process to kill no longer existed.
2009-12-18 15:42:13 -08:00
Brandon Heller 345bf7cc29 Reduce interface move delay and make configurable
Much faster now; from 1 s delay to 100 us.
2009-12-18 15:39:14 -08:00
Brandon Heller ff43615ab1 Add example unit tests and Makefile target 2009-12-18 12:15:04 -08:00
Brandon Heller fd99d67c33 Add make clean to remove dist files created by setuptools 2009-12-18 12:12:51 -08:00
Brandon Heller 51270ce4a2 Use setuptools to install python files
Now, to reference mininet files, use 'import mininet.mininet'.

PYTHONPATH mods are no longer required for installation.
2009-12-18 12:12:37 -08:00
Brandon Heller cd27f9db57 Start controller with verbose by default 2009-12-18 12:11:25 -08:00
Brandon Heller ede34b6a4d Add missing function import 2009-12-18 12:10:35 -08:00
Brandon Heller 0608b5939b Add notes on installing NOX on Deb testing. 2009-12-12 04:47:13 -08:00
Brandon Heller ea7c8795f5 Ensure netns is in the path. 2009-12-12 02:54:52 -08:00