Link check wasn't quite right - e.g. 'eth1' could be found in
'eth10' previously.
Updated quietRun to allow passing in args directly rather than
as a list.
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.
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.
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.
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.
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).