Commit Graph
100 Commits
Author SHA1 Message Date
Bob Lantz fe414722ac Change to use setLogLevel() 2010-03-24 17:03:49 -07:00
Bob Lantz 8423875b37 Change to use new interface to mn.run() 2010-03-24 17:03:27 -07:00
Bob Lantz 47acf53974 Change to use printf rather than echo. 2010-03-24 17:02:44 -07:00
Bob Lantz 67516aa44f Change run() to allow running external functions. 2010-03-24 16:58:44 -07:00
Bob Lantz 6e4e79afc3 Add setLogLevel as an export. 2010-03-24 16:58:27 -07:00
Bob Lantz 22f807fc6f Reinstated multitest example and updated examples/README. 2010-03-24 15:20:22 -07:00
Bob Lantz b2ef87ae51 Changes to pass code check.
We should check NOXController and RemoteController to make sure that
they are not broken, but I cannot do this at the moment.
2010-03-24 15:02:28 -07:00
Bob Lantz 0774c8bbce Added two spaces before in-line # comments. 2010-03-24 14:42:42 -07:00
Bob Lantz cf6f67045b Added two spaces before in-line # comments. 2010-03-24 14:41:40 -07:00
Bob Lantz 353411422e Minor formatting changes. 2010-03-24 13:42:46 -07:00
Bob Lantz c70aab0a38 Changed mininet.link() to mininet.configLinkStatus(src,dst,status)
Also rearranged parameters in link command to

mininet> link s1 h2 up

To resemble ifconfig a bit more.
2010-03-23 15:25:12 -07:00
Bob Lantz fb2f652319 Changed mininet.link() to support multiple links.
It should also probably be renamed to something like:
configLinks(src, dst, status).
2010-03-23 15:05:55 -07:00
Bob Lantz 178a3d8410 Minor tweaks. 2010-03-22 19:34:47 -07:00
Bob Lantz c8fbd4465c Updated installation notes and added patch for controller.c. 2010-03-22 17:50:02 -07:00
Bob Lantz f2eaeac78c Added patch for 2.6.33.x kernel. 2010-03-22 16:24:22 -07:00
Bob Lantz 6ab417ccd7 Added setup for kernel switch. 2010-03-22 16:24:04 -07:00
Bob Lantz 3e624fb237 Added openvswitch kernel switch. 2010-03-17 23:43:03 -07:00
Bob Lantz 8abc3472e3 Pass code check. 2010-03-16 14:59:46 -07:00
Bob Lantz ec7b211c41 Buffered output. Added net.monitor() and node.readline()
Moved monitor() and readline() into net.py and node.py respectively,
which will hopefully be useful for monitoring large sets of hosts,
as is done in udpbwtest.py.

Changed iperf to use interactive command infrastructure (such as it
is), which may make it more reliable. Hopefully it's a bit clearer
as well, although it is slightly more complicated.
2010-03-16 14:59:45 -07:00
Bob Lantz 6ab1f1ff23 Run in non-verbose mode, and print network sizes. 2010-03-16 14:59:45 -07:00
Bob Lantz 736038f8ef Added README for examples. 2010-03-16 14:59:45 -07:00
Bob Lantz e4c82e526e Change Node.monitor() to just return output.
It seems easier to rely on node.waiting for the moment.
2010-03-16 14:59:45 -07:00
Bob Lantz e100d1d9d0 Change ofprotocold -> ovs-openflowd in OVSKernelSwitch. 2010-03-15 19:27:55 -07:00
Bob Lantz ad824e4e84 Pass codecheck. 2010-03-15 19:24:54 -07:00
Bob Lantz cae423e543 For now, make install. 2010-03-14 19:32:10 -07:00
Bob Lantz 7f9eb9e540 Changed remaining refs to netns to refer to mnexec. 2010-03-14 19:28:19 -07:00
Bob Lantz 3465c9ea64 Updated to reflect changes and include 2.6.33 patch. 2010-03-14 19:19:10 -07:00
Bob Lantz ed097b3b9c Working a bit on text files. Removed netns. 2010-03-14 15:18:17 -07:00
Bob Lantz bca38c997e Minor config notes changes. 2010-03-14 00:18:24 -08:00
Bob Lantz 0e2a7240c3 Reinstate mnexec in install. 2010-03-14 00:11:36 -08:00
Bob Lantz 51a1482407 Removed unused variable. 2010-03-14 00:03:54 -08:00
Bob Lantz 0e3fef2fb3 Merge branch 'master' of yuba.stanford.edu:mininet
Conflicts:
	mininet/node.py
2010-03-13 18:28:48 -08:00
Bob Lantz bcacfc0510 Support for control-C. Finally.
I've changed the way things work a bit:

1. netns is replaced by mnexec, a general-purpose mininet helper.

2. For interactive commands, we now use mnexec -p, which prints out
   the pid, so we can kill it when someone hits control-C!

3. We close file descriptors for subshells. This might save memory,
   but who knows.

4. We detach our subshells from the tty using mnexec -s; thus
   control-C should not terminate everything.

5. Given 4, mn -c is now necessary if you kill mininet.
2010-03-13 18:23:07 -08:00
Bob Lantz c4ae423238 Support for control-C. Finally.
I've changed the way things work a bit:

1. netns is replaced by mnexec, a general-purpose mininet helper.

2. For interactive commands, we now use mnexec -p, which prints out
   the pid, so we can kill it when someone hits control-C!

3. We close file descriptors for subshells. This might save memory,
   but who knows.

4. We detach our subshells from the tty using mnexec -s; thus
   control-C should not terminate everything.

5. Given 4, mn -c is now necessary if you kill mininet.
2010-03-13 18:19:23 -08:00
Bob Lantz d4b53ea73d Removing setsid for the moment - breaks shutdown.
Close to solving this set of problems.
2010-03-13 16:37:13 -08:00
Bob Lantz e953444fa5 Corrected list checkin sendCmd. 2010-03-13 13:59:03 -08:00
Bob Lantz 74993b6536 Changes to note neither ^C nor interactive commands work atm. 2010-03-12 16:40:58 -08:00
Bob Lantz 7b323bd4f4 Removed executability since mn -c is easier! 2010-03-12 16:38:26 -08:00
Bob Lantz 7cbde77496 Added blank line. 2010-03-12 16:24:28 -08:00
Bob Lantz 08ed5bb68a Made executable. 2010-03-12 16:22:40 -08:00
Bob Lantz 9e7aee2061 Merge branch 'master' of yuba.stanford.edu:mininet
Conflicts:
	setup.py
2010-03-12 16:21:52 -08:00
Bob Lantz 740d7ce39a Added newline at EOF. 2010-03-12 16:17:32 -08:00
Bob Lantz 4065511abb Detach shells from tty; monitoring changes.
Call netns using setsid to detach from the tty; this is
intended to fix the problem of control-C killing your network.

sendInt() doesn't actually work - hopefully we can fix this in the
future, but it's tricky since we want to detach the many shells from
our tty, but then optionally send tty interrupts to them! Ideally we
would either know the pid of the subprocess or be able to send a signal
to bash to get it to interrupt its subprocess.

waitOutput() now uses monitor. We also handle sentinels
coming in the middle of output (but default at end should
still work well.)
2010-03-12 16:16:28 -08:00
Bob Lantz 2ad03eea40 Minor cleanup; got rid of backslash. 2010-03-12 16:16:27 -08:00
Bob Lantz 406f5da19d Change to mention 2.6.33 kernel. 2010-03-12 16:13:09 -08:00
Bob Lantz 5947e017fd Minor changes and corrections. 2010-03-12 16:13:09 -08:00
Bob Lantz c46c1ae6ef Merge branch 'master' of yuba.stanford.edu:mininet 2010-03-11 17:23:29 -08:00
Bob Lantz 9dbe572abe Detach shells from tty; monitoring changes.
Call netns using setsid to detach from the tty; this is
intended to fix the problem of control-C killing your network.

sendInt() doesn't actually work - hopefully we can fix this in the
future, but it's tricky since we want to detach the many shells from
our tty, but then optionally send tty interrupts to them! Ideally we
would either know the pid of the subprocess or be able to send a signal
to bash to get it to interrupt its subprocess.

waitOutput() now uses monitor. We also handle sentinels
coming in the middle of output (but default at end should
still work well.)
2010-03-11 17:16:27 -08:00
Bob Lantz 9f32a08b28 Minor cleanup; got rid of backslash. 2010-03-11 16:54:30 -08:00
Bob Lantz 47abe6d950 Change to mention 2.6.33 kernel. 2010-03-11 16:53:58 -08:00
Bob Lantz 3a7d2a133e Minor changes and corrections. 2010-03-11 16:53:29 -08:00
Bob Lantz e3a2ef011f Fixed docstrings for switch arg: name. 2010-03-09 21:52:36 -08:00
Bob Lantz d44a5843d3 Reinstantiated inNamespace and routed control network.
We need to figure out how to specify the IP addresses for the
routed control network. For now I'm going back to 192.168.12x.y

Also changed controller params to use IP strings rather than
numbers. However, we still need to clarify what ControllerParams
is actually for.
2010-03-09 21:48:14 -08:00
Bob Lantz 47dbca2921 Made iperf verbose and fixed node command output. 2010-03-09 21:47:32 -08:00
Bob Lantz 1a9d2eac29 Fixed createLink args and cleaned up slightly. 2010-03-09 21:47:02 -08:00
Bob Lantz 73a323f2a2 Made compatible with rearranged args for createLink. 2010-03-09 21:46:32 -08:00
Bob Lantz 315cbf9e79 Use IP address strings rather than hex number. 2010-03-09 21:45:32 -08:00
Bob Lantz 7ecd095c45 Allow *args and **kwargs. 2010-03-09 21:44:45 -08:00
Bob Lantz 7ba9e05542 Fixed errors due to renaming buffer to buf. 2010-03-08 15:36:09 -08:00
Bob Lantz 80be564274 Removed underscores for public Node methods. Minor cleanup & comments. 2010-03-08 15:32:41 -08:00
Bob Lantz 2626693241 Changed to report repeated pep8 issues. 2010-03-08 15:31:23 -08:00
Bob Lantz a16fae676f Tweaks to separate command and options. 2010-03-05 17:19:02 -08:00
Bob Lantz 91b9e374a0 Revived sshd.py example. 2010-03-05 17:13:44 -08:00
Bob Lantz be96355468 Added some additional explanatory comments. 2010-03-05 17:01:37 -08:00
Bob Lantz b924c5b562 Fixed printing in CLI.net() 2010-03-05 17:00:44 -08:00
Bob Lantz 73360ab95c Moved TreeTopo to mininet.topolib. 2010-03-05 15:15:40 -08:00
Bob Lantz 5156b3894c Renamed LinearTestTopo() and added full ping test. 2010-03-05 15:15:05 -08:00
Bob Lantz 11a6d400c5 Added mininet.topolib to store useful topologies. 2010-03-05 15:07:00 -08:00
Bob Lantz fd21c46f64 Restored udpbwtest.py 2010-03-05 14:49:17 -08:00
Bob Lantz c80e18cd46 Worked once on user, kernel for 1-20 switches. 2010-03-05 14:12:54 -08:00
Bob Lantz 1bda2d21ad Changed to use Node.MAC(). 2010-03-05 14:12:31 -08:00
Bob Lantz 6f45478f18 Removed spaces. 2010-03-05 13:59:52 -08:00
Bob Lantz 75d72d960b Restored accidentally deleted kill %ofpd lines. Added Node.MAC() 2010-03-05 13:58:20 -08:00
Bob Lantz c246e2d55e Renamed topo_2sw_2host.py -> topo-2sw-2host.py
Still could be better though.... and we need more topology
examples.
2010-03-04 16:56:11 -08:00
Bob Lantz 95f6e7b728 linearbandwidth.py now works for kernel switch. 2010-03-04 16:55:38 -08:00
Bob Lantz 47e26cce19 Fixed to be compatible with new setIP(). 2010-03-04 16:55:21 -08:00
Bob Lantz 086ef80e8e Changed setIP to accept numeric prefix len. Added Node.deleteIntfs(). 2010-03-04 16:53:39 -08:00
Bob Lantz 48a8d297d1 Removed blank line. 2010-03-04 16:52:29 -08:00
Bob Lantz ddfbfc734c Added convenience mode to allow info( 'a', 1, 'b' )
Later we may wish to optimize this so that the arg lists are
not created if the logging level is too low.
2010-03-04 16:51:10 -08:00
Bob Lantz dc630c540a Restored scratchnet and scratchnetuser demos.
Also changed the str format for nodes to use str() rather
than repr() so we don't end up with extraneous quotes.
2010-03-03 14:37:14 -08:00
Bob Lantz efc9a01cf1 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.
2010-03-03 13:52:50 -08:00
Bob Lantz 04fa18dc61 Changed cmdPrint to cmd. 2010-03-03 13:51:58 -08:00
Bob Lantz a681f9b645 Added debug() convenience function. 2010-03-03 13:50:25 -08:00
Bob Lantz 54977c79cd Changed to be executable. 2010-03-03 13:49:58 -08:00
Bob Lantz 1fdcd6768c Added py command to evaluate Python expressions, e.g. h1.cmd('ls') 2010-03-03 13:46:44 -08:00
Bob Lantz 137ec3054d Removed trailing spaces. 2010-03-01 15:38:02 -08:00
Bob Lantz 63214ea2af Merge branch 'customtopos' into bl-dev 2010-03-01 15:34:40 -08:00
Bob Lantz e0cfcdd505 Tweaks to pass code check. 2010-03-01 15:21:29 -08:00
Bob Lantz 2235f21698 Minor cleanup of mn/net and fixes for CLI.
All commands should work now.
2010-02-27 23:40:05 -08:00
Bob Lantz c3a4440025 Changed custom feature so that params aren't added to globals.
There is probably a better way of doing this, but currently
parseCustomFile can modify globals (e.g. TOPOS) as well as
instance variables (self.validate) and classes (e.g. MyTopo),
which are also in the global name space.

Inconveniently enough, lambdas don't seem to be full closures
in Python; if they were, this trickiness would be unnecessary.

Even so, using execfile() seems like it might be a bit dubious...
2010-02-27 23:19:57 -08:00
Bob Lantz 5468377680 Removed blank line at EOF. 2010-02-27 13:55:12 -08:00
Bob Lantz dba3b59929 Changed to dump bad iperf output. 2010-02-27 13:54:38 -08:00
Bob Lantz 78073e1b6f Fixed to be compatible with modified Mininet() class. 2010-02-27 13:54:10 -08:00
Bob Lantz d40b0a9973 Merge branch 'customtopos' into bl-dev 2010-02-26 18:54:32 -08:00
Bob Lantz 235415cf49 Ran unpep8 on test_nets.py. 2010-02-26 17:25:38 -08:00
Bob Lantz 019bff8282 Made it possible to create a Mininet() without using a Topo object.
This increases flexibility by allowing a topology to be manually created
in Python, or specified using another format, without having to create
a Topo object first.

However, Topos are useful, and are still the default topology object!
2010-02-26 17:16:07 -08:00
Bob Lantz 3e021c2579 Merge branch 'master' of yuba.stanford.edu:mininet 2010-02-16 16:04:31 -08:00
Bob Lantz 31b43002e7 Added a bit to comments, and removed trailing spaces. 2010-02-16 14:42:58 -08:00
Bob Lantz 64c451e01f Minor bug fixes and tweaks.
Shell now works (although we should use quietRun instead to avoid
file descriptor problem!)

exit/quit/EOF now all exit.

Renamed pingall and pingpair to make them easier to type - I think
commands should not require use of the shift key in general, although
ping-all and ping-pair might be OK.
2010-02-09 22:40:51 -08:00
Bob Lantz e34cd9a6cf Added warn to complement info, error. 2010-02-09 22:37:22 -08:00