Monthly Archives: July 2012

Trema API のチートシート

Trema Ruby ライブラリのクラスは 100 個以上ありますが、そのうちよく使うものはせいぜい 10 個とかそこらです。そこで今日は、このようなよく使うクラスやメソッドだけを集めた便利な URL を紹介します。

Continue reading

Tagged

パケットの VLAN ヘッダを取り除く

Modify-Field アクションの紹介も大分進んできました。今日はパケットの VLAN ヘッダを取り除く方法です。

Continue reading

Tagged , ,

パケットの送信元・宛先 TCP/UDP ポート番号を書き換える

しばらく Modify-Field アクションでパケットを書き換える記事が続いています。今日はパケットの送信元・宛先 TCP/UDP ポート番号を書き換える方法です。

Continue reading

Tagged , ,

悪いコピペを防ぐ

コードのコピペには良いコピペ悪いコピペがあります。オープンソースのコードから使えそうなところを改変して取り込むのは良いコピペ (ライセンスとコピーライトの確認も忘れずに)。一つのソースツリーの中に同じコード断片がたくさんあるのが悪いコピペ。

Continue reading

Tagged ,

パケットの送信元・宛先 IP アドレスを書き換える

昨日にひきつづき Modify-Field アクションでパケットを書き換えてみましょう。今日はパケットの送信元と宛先 IP アドレスを書き換える方法です。

Continue reading

Tagged , ,

パケットの送信元・宛先 MAC アドレスを書き換える

OpenFlow では Modify-Field アクションを使ってパケットのいろいろな部分を書き換えることができるのでした。今回はこのうち、パケットの送信元と宛先 MAC アドレスを書き換える方法を説明します。

Continue reading

Tagged , ,

おすすめの本: ケント・ベックの Smalltalk ベストプラクティス・パターン

Trema で使われる Ruby はうまく使うととても簡潔に OpenFlow コントローラを実装できますが、そのお手軽さゆえに何も考えずに書くと途端にひどいコードができあがる言語でもあります。どんなプログラミング言語でもそうですが、きれいなコードを書くには専門的な学習が必要です。そこで今回から数回に分け、 Ruby のプログラミングに役立つ本を何冊か紹介します。今日紹介する本は、「ケント・ベックの Smalltalk ベストプラクティス・パターン」です。

Continue reading

Tagged , ,

Trema のチュートリアルやドキュメント

今回は Trema の主なチュートリアルスライドやドキュメント類を紹介します。自習や仲間内での勉強会など自由に役立ててください。

Continue reading

Tagged , ,

OpenFlow プログラミングフレームワーク 人気度ランキング

主要な OpenFlow プログラミングフレームワークの github 上での watcher 数と fork 数を比べてみました。比較したフレームワークとそれぞれがターゲットとしているプログラミング言語は次の通りです。

Continue reading

Tagged , , , , , ,

Exact Match を楽に作る

マッチングルールの中でもすべての条件が指定されたものを Exact Match と呼びます。たとえばよくある例ですが Packet In としてコントローラに入ってきたパケットと

  • スイッチの物理ポート番号
  • 送信元 MAC アドレス
  • 宛先 MAC アドレス

などなどマッチングルールが定義する 12 個の条件がすべてまったく同じ、というものが Exact Match です。これを普通にコードにするとこうなります。

Continue reading