follow me

NOX 1.1 Oflib なVM用意しました

4/16(月) OpenFlow 1.1 for WHR-G301N を公開致します。
愉しみたい方は前準備としましてBuffalo WHR-G301N と OpenFlow 1.1 なコントローラをご用意下さい。

ちなみに今回も用意しましたw
NOX 1.1 Oflib を導入済みのVMwareイメージ(VMware Workstation v6.0以上)を用意致しました。
OSはUbuntuを利用し、IPアドレスはDHCP設定となっていますので、環境に合わせIPアドレスを設定の上ご利用ください。
ユーザ/パスワードは、openflow/openflowになっています。
nox11oflib.zip

OpenFlow 1.1 for WHR-G301Nも公開できる状態になりましたので勉強会やります。
GW期間中ですので、皆さん忙しいかと思いますが。。。
自宅ラック勉強会 #2.6alpha 大阪出張編
follow me

NOX 1.1 Oflib 試してみた

OpenFlow 1.1 for WHR-G301N を作成したので、OpenFlow 1.1なコントローラが必要になり、探してみました。
NOX 1.1 Oflib
OpenFlow 1.1 compatible version of the NOX controller. との事なので、こいつを利用してみました。

普通にNOXと同じ手順で導入できるだろうと試してみたら見事にビルドエラーw
環境は、本家NOXをビルドした時と同様、Ubuntu 10.04.2(i386)です。
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
cc1plus: warning: command line option "-Wmissing-prototypes" is valid for Ada/C/ObjC but not for C++
../../../src/oflib/ofl-messages-unpack.c: In function ‘ofl_err ofl_msg_unpack_port_status(ofp_header*, size_t*, ofl_msg_header**)’:
../../../src/oflib/ofl-messages-unpack.c:305: error: invalid conversion from ‘uint8_t’ to ‘ofp_port_reason’
make[5]: *** [ofl-messages-unpack.lo] エラー 1
make[5]: ディレクトリ `/home/openflow/nox11oflib/build/src/oflib' から出ます
make[4]: *** [all] エラー 2
make[4]: ディレクトリ `/home/openflow/nox11oflib/build/src/oflib' から出ます
make[3]: *** [all-recursive] エラー 1
make[3]: ディレクトリ `/home/openflow/nox11oflib/build/src' から出ます
make[2]: *** [all] エラー 2
make[2]: ディレクトリ `/home/openflow/nox11oflib/build/src' から出ます
make[1]: *** [all-recursive] エラー 1
make[1]: ディレクトリ `/home/openflow/nox11oflib/build' から出ます
make: *** [all] エラー 2
follow me

WHR-G301N を純正ファームに戻す(文鎮化復旧手順)

OpenFlow 1.0 スイッチ化していた WHR-G301N ですが、新しく作成したファームイメージを純正状態からの書き込みできるか試したかったので純正状態に戻してみました。
別に文鎮化した訳ではありません。
これでOpenFlowに飽きてしまった場合に戻せますねw

@xmms さんが既に文鎮化WHR-G301N復旧手順を公開されていた為、僕も試してみました。
【HW】文鎮化したWHR-G301Nの対処法

僕はタイミングあわせがうまくできないので、Linux機を用意してやりました。
# ifconfig eth0:1 192.168.11.2
# arp -s 192.168.11.1 MACアドレス
# tftp
tftp> connect 192.168.11.1
tftp> binary
tftp> put <純正のファームイメージ>
WHR-G301Nを再起動させて、TFTP転送が完了して純正状態の復活。
follow me

OpenFlow 1.0 for WHR-G301N 簡易イメージ (手順 v1.2)

「自宅ラック勉強会 #2.5 秋葉原出張編」で作成したOpenFlowスイッチを簡単に作成できる様、必要な設定をファームウェアイメージに含めました。
巷で騒がれている OpenFlow 1.0 for Buffalo WHR-G301N のお話です。これが OpenFlow 1.0 をしゃべります。

今回公開するイメージは、Buffaloの純正Web管理画面から、直接 OpenFlow 1.0 for OpenWRT 化が可能となっています。
手順も用意しましたのでご利用下さい。
OpenFlowをしゃべれるOpenWRT(WHR-G301N)作成手順_v1.2

手順書で利用しているイメージ
openwrt-ar71xx-generic-whr-g301n-squashfs-factory.bin
今回の手順では、お持ちの環境に合わせIP設定の変更をしていただくだけで、OpenFlowスイッチの作成が完了となっています。
自宅ラック勉強会 #2.5開催後に情報を頂けました「15秒無通信だと切断される」問題なども修正済みとなっています。


TFTPで書き込みたい方はこちらをご利用下さい。
openwrt-ar71xx-generic-whr-g301n-squashfs-tftp.bin
既にLinux化されている方はこちらをご利用下さい。
openwrt-ar71xx-generic-whr-g301n-squashfs-sysupgrade.bin
follow me

文鎮 WZR-HP-AG300H リカバリ手順

OpenFlow 1.0 対応ファームの書き込みテストを何度も行っていたら、文鎮化させてしまいました。
中を開けてシリアル接続してみると、OpenWrtは起動しているくさいが、エラー吐きまくってるとか。。。
で、純正状態にリカバリしてみました。

当初、Windows端末でTFTP転送を試行錯誤していたのですが、僕はタイミングを合わせる事ができない程の不器用だったらしく、Linux機を用意して復旧させました。
(それ以外にも、MACアドレスを実機のアドレスでやるものだと勘違いしていたのも手間取った原因なのですが。。。)
follow me

OpenFlow 1.0 for OpenWRT (WZR-HP-AG300H)

OpenFlow 1.0 for OpenWRT を WZR-HP-AG300H で動作する様に組み込みました。
自宅ラック勉強会 #2.5 秋葉原出張編」で作成した機種とは異なります。ご注意下さい。

例の如くOpenWRTで提供されている Ethernet Switch Driver では機能が不足している為、こちらもパッチを用意しました。
OpenWrt-trunk-Learning-Ports-in-AR8316.patch

「自宅ラック勉強会 #2.5」での状況から、今回は設定をイメージに組み込みました。
イメージ書き込み後、VLAN設定、OpenFlow設定は構成された状態になります。
WAN側のインタフェイスに 192.168.1.1 を設定、OpenFlowコントローラには、192.168.1.10 を設定してあります。
ログインは root ユーザでパスワード無しです。
IP設定は、環境に合わせ修正してください。
※導入手順については準備中ですので、しばらくお待ち下さい。


OpenFlow 1.0 for OpenWRT のビルド済イメージ
openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-factory.bin
 Buffalo純正のWeb管理画面から更新する為のイメージ
openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin
 OpenWRTや、DD-Wrtから書き込む為のイメージ
openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-tftp.bin
 TFTPから書き込む為のイメージ(※ルータがTFTPから受け付けて貰えるかは不明)


自宅ラック勉強会 #2.5 秋葉原出張編」で利用した WHR-G301N 用の設定組み込みイメージも後日公開予定です。
follow me

NEC ix3010 いらっしゃい

NEC ix3010入手しましたよっと。
入手時期したのは、先週開催された「自宅ラック勉強会 #2.5 秋葉原出張編」の時なので、今更Blogに書くのかよって感じなのですが。。。
「自宅ラック勉強会 #2.5 秋葉原出張編」に参加されてた方は、取引現場を目撃された方も居ると。。。


既にix2015は2台所有しているのですが、ix3010は速いと聞いてIYH欲が沸々と。
確かに試したらかなり違いますね。
こいつは夢が広がりますなぁ。

念の為
僕はネットワーク屋ではアリマセン。
follow me

tcpdump (OpenFlowをしゃべるWHR-G301N用)

自宅ラック勉強会 #2.5 秋葉原出張編で作成したOpenFlowをしゃべるWHR-G301N用にtcpdumpコマンドのパッケージを用意しました。
作業端末側でWiresharkを仕掛ける方が綺麗かと思いますが、手軽に確認できる様にしてみました。

パッケージ追加については、以下2ファイルをWHR-G301Nに転送し、opkgコマンドで導入。
libpcap_1.1.1-1_ar71xx.ipk
tcpdump_4.1.1-2_ar71xx.ipk
# opkg install libpcap_1.1.1-1_ar71xx.ipk
Installing libpcap (1.1.1-1) to root...
Configuring libpcap.
# opkg install tcpdump_4.1.1-2_ar71xx.ipk
Installing tcpdump (4.1.1-2) to root...
Configuring tcpdump.
#
follow me

OpenFlowを試したいからNOXを使ってみた

OpenFlow 1.0 for OpenWRT を試す際に利用した OpenFlowコントローラ NOX をとりあえず動かせる状態にするまでの記録。
利用するコントローラは、Termaでもヨカッタのですが、個人的に C言語が一番慣れているという理由から NOX を試しました。
スクリプト言語の方がコンパイル不要なので適しているのかも知れませんが、僕はC言語以外は脳みそがついていきませんw

ベースに利用したのは、Ubuntu 10.04.2(i386)です。(手元にisoがあったので利用しただけです、バージョンにこだわりはアリマセン)
依存関係をUbuntuのリポジトリで解決した方が良いのですが、手っ取り早く使いたいので手抜き手順になります。
基本すべて一般ユーザで実施します。

1.NOX導入に必要になるコンポーネントの追加 手抜きして、apt-getで一気に追加してしまいます。
$ cd /etc/apt/sources.list.d
$ sudo wget http://openflowswitch.org/downloads/debian/nox.list
$ sudo apt-get update
$ sudo apt-get install git-core
$ sudo apt-get install nox-dependencies
follow me

OpenFlow 1.0 for OpenWRT 動作確認機種報告(2012/03/03)

・Buffalo WHR-G301N
OpenWrtは、trunk版のみ存在。
trunk版に含まれる AR7240/AR9330 built-in switchドライバでは一部機能が足りない為、ドライバに手を加えなければ動作しない。
OpenFlow 1.0 for OpenWRT 動作には、Ethernet switchドライバには、「enable_learning (Enable learning)」な機能が必要。
機能追加のパッチを作成しましたので、試したい方はご利用ください。
※ハードウェアに悪影響が無いか等は考慮していないので、パッチ内容を理解した上でご利用ください。
OpenWrt-trunk-Learning-Ports-in-AR7240.patch

WHR-G301N のハードウェアは、Flash容量が4Mしかなく不要なパッケージは削除した方が良い状況であり、パッケージ追加はほぼ出来ないと割り切りが必要。
・CPU Speed (MHz):400
・Flash (MB):4
・RAM (MB):32


以下機種については、OpenFlow 1.0 for OpenWRT 動作確認機種報告(2012/02/19) 参照。
・Buffalo WZR-HP-G301NH
・Buffalo WZR-HP-G300NH
・Buffalo WZR-HP-AG300H