diff --git a/INSTALL b/INSTALL index 9d7ce7b58..1ba227582 100644 --- a/INSTALL +++ b/INSTALL @@ -2,7 +2,7 @@ Mininet Installation/Configuration Notes ---------------------------------------- -Mininet 2.3.0b1 +Mininet 2.3.0b2 --- The supported installation methods for Mininet are 1) using a @@ -36,12 +36,17 @@ like to contribute an installation script, we would welcome it!) sudo apt-get install mininet - Note: this may install an older version of Mininet. If you would - like the latest version, consider a native install from source. + Note: this may install an older version of Mininet which may not + support Python 3. If you would like the latest version of Mininet, + consider installing from source as described in the next section. 3. Native installation from source -3.1. Native installation from source on Ubuntu 16.04+ + If you are running Ubuntu, Debian, or Fedora, you may be able to use + our handy `install.sh` script, which is in `util/`. Please read the + following sections first. + +3.1. Obtaining the Mininet source code If you're reading this, you've probably already done so, but the command to download the Mininet source code is: @@ -49,8 +54,9 @@ like to contribute an installation script, we would welcome it!) git clone git://github.com/mininet/mininet.git Note that the above git command will check out the latest and greatest - Mininet (which we recommend!) If you want to run the last tagged/released - version of Mininet, you can look at the release tags using + Mininet (which we recommend!) If you want to run the last + tagged/released version of Mininet, you can look at the release tags + using cd mininet git tag @@ -61,21 +67,38 @@ like to contribute an installation script, we would welcome it!) where is the release you want to check out. - If you are running Ubuntu, Debian, or Fedora, you may be able to use - our handy `install.sh` script, which is in `util/`. - - *WARNING: USE AT YOUR OWN RISK!* +3.1.1 *CAUTION: USE AT YOUR OWN RISK!* - `install.sh` is a bit intrusive and may possibly damage your OS + `install.sh` can be a bit intrusive and may possibly damage your OS and/or home directory, by creating/modifying several directories such as `mininet`, `openflow`, `oftest`, `pox`, etc.. We recommend - trying it in a VM before trying it on a system you use from day to day. + trying it in a VM before trying it on a system you use from day to + day. Although we hope it won't do anything completely terrible, you may want to look at the script before you run it, and you should make sure your system and home directory are backed up just in case! - To install Mininet itself, the OpenFlow reference implementation, and + You can change the directory where the dependencies are installed + using the -s flag. + + util/install.sh -s ... + +3.1.2 Running `install.sh` + + Installing a "minimal" version of Mininet with Open vSwitch should + be reasonably non-perturbing since it should not create directories + for other tools: + + util/install.sh -nv + + Note this will not install a controller, so you will have to either + install your own controller, or use a switch such OVSBridge that does + not require a controller: + + sudo mn --switch ovsbr --test pingall + + To install Mininet itself, the OpenFlow reference controller, and Open vSwitch, you may use: util/install.sh -fnv @@ -85,6 +108,27 @@ like to contribute an installation script, we would welcome it!) sudo mn --test pingall +3.1.3 Python 3 and Python 2 support + + Mininet supports Python 3 and Python 2. By default, `install.sh` + will use whatever `python` is on your system. To specify a + specific version of Pythonm, you can set the PYTHON environment + variable: + + PYTHON=python3 util/install.sh -fnv + + You can install Mininet for both Python 3 and Python 2: + + PYTHON=python2 util/install.sh -fnv + PYTHON=python3 util/install.sh -n + + Whichever version was installed last will be the default for `mn`. + As long as Mininet is installed for the appropriate version of + Python, you can run it using that versinon of Python: + + python3 `which mn` + python2 `which mn` + To install ALL of the software which we use for OpenFlow tutorials, including POX, the OpenFlow WireShark dissector, the `oftest` framework, and other potentially useful software, you may use: @@ -93,13 +137,10 @@ like to contribute an installation script, we would welcome it!) This takes about 4 minutes on our test system. - You can change the directory where the dependencies are installed using - the -s flag. - - util/install.sh -s -a - 3.2. Native installation from source on Fedora 18+. + *This may be out of date.* + As root execute the following operations: * install git @@ -152,7 +193,8 @@ like to contribute an installation script, we would welcome it!) Although we don't support other Linux distributions directly, it should be possible to install and run Mininet with some degree of - manual effort. + manual effort. People have even gotten `mn --switch user` to run + in a ChromeOS container. In general, you must have: @@ -171,6 +213,6 @@ like to contribute an installation script, we would welcome it!) Good luck! -Mininet Team +Mininet Developers --- diff --git a/LICENSE b/LICENSE index b5d064b19..5aaad0c02 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Mininet 2.3.0b1 License +Mininet 2.3.0b2 License Copyright (c) 2013-2020 Open Networking Foundation Copyright (c) 2009-2012 Bob Lantz and The Board of Trustees of diff --git a/README.md b/README.md index 7341c1b8e..56a93406f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Mininet: Rapid Prototyping for Software Defined Networks ======================================================== *The best way to emulate almost any network on your laptop!* -Mininet 2.3.0b1 +Mininet 2.3.0b2 [![Build Status][1]](https://github.com/mininet/mininet/actions) @@ -68,17 +68,27 @@ Mininet includes: `mn -c` -### New features in this release +### Python 3 Support -This is primarily a performance improvement and bug fix release. +- Mininet 2.3.0b2 supports Python 3 and Python 2. -- Python 3 support (Python 2 is still supported as well) +- You can install both the Python 3 and Python 2 versions of +Mininet side by side, but the most recent installation will +determine which Python version is used by default by `mn`. -- Support for Ubuntu 20.04 LTS +- You can run `mn` directly with Python 2 or Python 3, + as long as the appropriate version of Mininet is installed, + e.g. + + $ sudo python2 `which mn` + +### Other Enhancements and Information + +- Support for Ubuntu 20.04 LTS (and 18.04 and 16.04) - More reliable testing and CI via github actions -- Additional information for this release and previous releases +- Additional information about this release and previous releases may be found in the release notes on http://docs.mininet.org. ### Installation diff --git a/mininet/net.py b/mininet/net.py index 4b61c669c..e8c7f4cdf 100755 --- a/mininet/net.py +++ b/mininet/net.py @@ -109,7 +109,7 @@ from mininet.term import cleanUpScreens, makeTerms # Mininet version: should be consistent with README and LICENSE -VERSION = "2.3.0b1" +VERSION = "2.3.0b2" class Mininet( object ): "Network emulation with hosts spawned in network namespaces."