猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

Ubuntu12.04にRyuのトポロジーのGUI表示機能を設定

https://github.com/yamada-h/ryu/wiki/GUIのページを参考にしました。

Pythonのバージョンが2.6では失敗し、2.7では成功しました。
事前にPythonのバージョン確認を行ってください。

Ryuの公式のブランチにはマージされていませんが、トポロジー表示機能も存在します。公式のryuではなく、以下のようにyamada-hさんのgitリポジトリからソースコードを取得します。

# apt-get install python2.7
# python --version ←2.7と表示されることを確認
# apt-get install git python-setuptools python-dev libevent-dev
# easy_install pip
# pip install flask
# pip install gevent
# pip install gevent-websocket

# git clone https://github.com/yamada-h/ryu.git ←yamada-hさんのgitリポジトリから取得
# cd ryu
# git checkout -b origin/gui-patch-v3 origin/gui-patch-v3
# chmod +x setup.py
# python setup.py install
# python  ./ryu/gui/controller.py ←実行後ログで画面が埋まるので、次のコマンドは別のターミナルで実行する。
# PYTHONPATH=. ./bin/ryu-manager --verbose --observe-links ryu/topology/switches.py ryu/app/rest_topology.py  ryu/app/ofctl_rest.py   ←別のターミナルで実行する                                                                                           

上のコマンドを実行しているUbuntu上のOpenFlowコントローラに、別の端末上のOpenvSwitchを接続したところ、以下のような画面が表示されました。NICやフローエントリも確認できるようです。

mininetと組み合わせると、容易に検証環境を構築できます。

f:id:alexei-karamazov:20131118115148p:plain