Skip to content

Instantly share code, notes, and snippets.

@keichi
Created November 25, 2022 07:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save keichi/f597d6a798d4df876bcb4b1c65c5ee3a to your computer and use it in GitHub Desktop.
Save keichi/f597d6a798d4df876bcb4b1c65c5ee3a to your computer and use it in GitHub Desktop.

Setting up ONOS and Mininet on Ubuntu 22.04

Installing Bazel

curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg
sudo mv bazel-archive-keyring.gpg /usr/share/keyrings
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
sudo apt update && sudo apt install bazel-3.7.2

Installing ONOS

sudo apt install git zip curl unzip python2
sudo ln -s /usr/bin/python2 /usr/bin/python
git clone https://gerrit.onosproject.org/onos
cd onos
git checkout 2.5.8
bazel build onos

Running ONOS

bazel run onos-local

Run the following command on another terminal to start the ONOS CLI

tools/test/bin/onos localhost

In the ONOS CLI, run

app activate org.onosproject.openflow
app activate org.onosproject.fwd

Installing Mininet

sudo apt install mininet

Connecting Mininet to ONOS

sudo mn --controller=remote,ip=127.0.0.1,port=6653 --topo=tree,depth=2 --switch ovs,protocols=OpenFlow13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment