From ead9f83050a2a21fe8a2deca56344c540e2f4579 Mon Sep 17 00:00:00 2001 From: Bob Lantz Date: Thu, 8 Nov 2012 23:52:07 -0800 Subject: [PATCH] Reflow text and try crazy idea for heading. --- README.md | 97 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 51 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index b5158d4..6ac1ef5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ - -Mininet: Rapid Prototyping for Software Defined Networks -======================================================== +========================================================= + Mininet: Rapid Prototyping for Software Defined Networks +========================================================= The best way to emulate almost any network on your laptop! @@ -8,27 +8,30 @@ Version 2.0.0rc1 ### What is Mininet? -Mininet emulates a complete network of hosts, links, and switches on a single -machine. To create a sample two-host, one-switch network, just run: +Mininet emulates a complete network of hosts, links, and switches +on a single machine. To create a sample two-host, one-switch network, +just run: sudo mn -Mininet is useful for interactive development, testing, and demos, especially -those using OpenFlow and SDN. OpenFlow-based network controllers prototyped in -Mininet can usually be transferred to hardware with minimal changes for full -line-rate execution. +Mininet is useful for interactive development, testing, and demos, +especially those using OpenFlow and SDN. OpenFlow-based network +controllers prototyped in Mininet can usually be transferred to +hardware with minimal changes for full line-rate execution. ### How does it work? -Mininet creates virtual networks using process-based virtualization and network -namespaces - features that are available in recent Linux kernels. In Mininet, -hosts are emulated as bash processes running in a network namespace, so any -code that would normally run on a Linux server (like a web server or client -program) should run just fine within a Mininet "Host". The Mininet "Host" will -have its own private network interface and can only see its own processes. -Switches in Mininet are software-based switches like Open vSwitch or the -OpenFlow reference switch. Links are virtual ethernet pairs, which live in the -Linux kernel and connect our emulated switches to emulated hosts (processes). +Mininet creates virtual networks using process-based virtualization +and network namespaces - features that are available in recent Linux +kernels. In Mininet, hosts are emulated as bash processes running in +a network namespace, so any code that would normally run on a Linux +server (like a web server or client program) should run just fine +within a Mininet "Host". The Mininet "Host" will have its own private +network interface and can only see its own processes. Switches in +Mininet are software-based switches like Open vSwitch or the OpenFlow +reference switch. Links are virtual ethernet pairs, which live in the +Linux kernel and connect our emulated switches to emulated hosts +(processes). ### Features @@ -36,30 +39,32 @@ Mininet includes: * A command-line launcher (`mn`) to instantiate networks. -* A handy Python API for creating networks of varying sizes and topologies. +* A handy Python API for creating networks of varying sizes and + topologies. * Examples (in the `examples/` directory) to help you get started. -* Full API documentation via Python `help()` docstrings, as well as the ability - to generate PDF/HTML documentation with `make doc`. +* Full API documentation via Python `help()` docstrings, as well as + the ability to generate PDF/HTML documentation with `make doc`. + +* Parametrized topologies (`Topo` subclasses) using the Mininet + object. For example, a tree network may be created with the + command: -* Parametrized topologies (`Topo` subclasses) using the Mininet object. For - example, a tree network may be created with the command: - `mn --topo tree,depth=2,fanout=3` -* A command-line interface (`CLI` class) which provides useful diagnostic - commands (like `iperf` and `ping`), as well as the ability to run a command - to a node. For example, - +* A command-line interface (`CLI` class) which provides useful + diagnostic commands (like `iperf` and `ping`), as well as the + ability to run a command to a node. For example, + `mininet> h11 ifconfig -a` - + tells host h11 to run the command `ifconfig -a` -* A 'cleanup' command to get rid of junk (interfaces, processes, files in - /tmp, etc.) which might be left around by Mininet or Linux. Try this if - things stop working! - +* A 'cleanup' command to get rid of junk (interfaces, processes, files + in /tmp, etc.) which might be left around by Mininet or Linux. Try + this if things stop working! + `mn -c` ### New features in 2.0.0 @@ -83,9 +88,9 @@ a number of enhancements and new features, including: * Man pages for the `mn` and `mnexec` utilities. -[Since the API (most notably the topology) has changed, existing code that -runs in Mininet 1.0 will need to be changed to run with Mininet 2.0. This -is the primary reason for the major version number change.] +[Since the API (most notably the topology) has changed, existing code +that runs in Mininet 1.0 will need to be changed to run with Mininet +2.0. This is the primary reason for the major version number change.] ### Installation @@ -93,16 +98,17 @@ See `INSTALL` for installation instructions and details. ### Documentation -In addition to the API documentation (`make doc`) much useful information, -including a Mininet walkthrough and an introduction to the Python API is -available on the [Mininet Web Site](http://openflow.org/mininet). There is -also a wiki which you are encouraged to read and to contribute to, -particularly the Frequently Asked Questions (FAQ.) +In addition to the API documentation (`make doc`) much useful +information, including a Mininet walkthrough and an introduction +to the Python API is available on the +[Mininet Web Site](http://openflow.org/mininet). +There is also a wiki which you are encouraged to read and to +contribute to, particularly the Frequently Asked Questions (FAQ.) ### Support -Mininet community-supported. We encourage you to -join the Mininet mailing list, `mininet-discuss` at: +Mininet is community-supported. We encourage you to join the +Mininet mailing list, `mininet-discuss` at: @@ -113,8 +119,8 @@ Mininet is an open-source project and is currently hosted at examine it, modify it, and submit bug reports, bug fixes, feature requests, and enhancements! -Best wishes, and we look forward to seeing what you can do with Mininet -to change the networking world! +Best wishes, and we look forward to seeing what you can do with +Mininet to change the networking world! ### Credits @@ -124,4 +130,3 @@ The Mininet Team: * Brandon Heller * Nikhil Handigol * Vimal Jeyakumar -