Trema Ruby ライブラリのクラスは 100 個以上ありますが、そのうちよく使うものはせいぜい 10 個とかそこらです。そこで今日は、このようなよく使うクラスやメソッドだけを集めた便利な URL を紹介します。
Trema Ruby ライブラリのクラスは 100 個以上ありますが、そのうちよく使うものはせいぜい 10 個とかそこらです。そこで今日は、このようなよく使うクラスやメソッドだけを集めた便利な URL を紹介します。
しばらく Modify-Field アクションでパケットを書き換える記事が続いています。今日はパケットの送信元・宛先 TCP/UDP ポート番号を書き換える方法です。
コードのコピペには良いコピペと悪いコピペがあります。オープンソースのコードから使えそうなところを改変して取り込むのは良いコピペ (ライセンスとコピーライトの確認も忘れずに)。一つのソースツリーの中に同じコード断片がたくさんあるのが悪いコピペ。
OpenFlow では Modify-Field アクションを使ってパケットのいろいろな部分を書き換えることができるのでした。今回はこのうち、パケットの送信元と宛先 MAC アドレスを書き換える方法を説明します。
Trema で使われる Ruby はうまく使うととても簡潔に OpenFlow コントローラを実装できますが、そのお手軽さゆえに何も考えずに書くと途端にひどいコードができあがる言語でもあります。どんなプログラミング言語でもそうですが、きれいなコードを書くには専門的な学習が必要です。そこで今回から数回に分け、 Ruby のプログラミングに役立つ本を何冊か紹介します。今日紹介する本は、「ケント・ベックの Smalltalk ベストプラクティス・パターン」です。
主要な OpenFlow プログラミングフレームワークの github 上での watcher 数と fork 数を比べてみました。比較したフレームワークとそれぞれがターゲットとしているプログラミング言語は次の通りです。
マッチングルールの中でもすべての条件が指定されたものを Exact Match と呼びます。たとえばよくある例ですが Packet In としてコントローラに入ってきたパケットと
などなどマッチングルールが定義する 12 個の条件がすべてまったく同じ、というものが Exact Match です。これを普通にコードにするとこうなります。