Cbench結果

自作ネットワークコントローラに対して負荷テストを行った。 決して悪いスコアではないはず。 Load Regulatorなし版 瞬間的な性能は出るものの、 長時間駆動には耐えられない。 ※メモリがリークしてVMそのものがクラッシュしてしまう。 Load Regulatorあり版…

書きかけ 自作OpenFlow Controller(OpenFlow 1.5について①)

最近、OpenFlow1.5が公開されました。 https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.5.0.noipr.pdf 大まかな特徴としては(ovs/OPENFLOW-1.1+.md at master · openvswitch/ovs ·…

書きかけ 自作OpenFlow Controller

自作OpenFlow Controllerを作ってみています。 この例はNXを使ってopenvswitchへ転送情報を自己学習するように命令をしています。 table 0はポートに入力されたパケットを元に、table1に対して学習を行い、かつtable1へ遷移する命令を書き込んています。 tab…

LINC-Switchをテストコードの中で起動する

こんなふうにすると、とりあえず動くっぽい。 これまで、何か開発するときにスイッチを上げたりしてた手間を なくせそうな予感。そううまくは行かないかもしれないが…。 ちょうど、コンフィグを入れているような感じ。 内容はとりあえずデフォルトのsys.conf…

OFパケットをデコードして遊んでみた③

table_features全体をデコードするようにしてみました。 巨大ですね…。これはヒドい。 iex(7)> :timer.tc fn -> do_decode table_features end {755, {:ok, [version: 4, type: :multipart_request, xid: 0, body: [flags: [:more], body: [[table_id: 0, na…

OFパケットをデコードして遊んでみた②

matchやactions廻りをデコードしてみました。 ここのミソは、デコードした時にビットマップなフラグを そのままの数値にするのではなく、ビットマップをアトムの配列にしてます。 とても読みやすいですね。 ex(9)> :timer.tc fn -> do_decode table_features…

OFパケットをデコードして遊んでみた

table features をデコードしてみると、こんな感じになっていました。 requestのクセに結構複雑ですね。しかもこれまだ途中なんですよね。 propertiesのあたりが後9倍くらいは複雑になるかもしれませんです。 未だOF1.3の仕様書の読み込みが足りていない模様…

CentOS6.5にdpdk1.7をインストールする。

gist03507ee020092921afc7

DrbとCelluloid

こんなコントローラがあったとします。 コレは、druby://localhost:8787へ接続して、 receiverに対してメソッドを実行します。 # coding: utf-8 require 'drb/drb' require 'trema' # Simple Tap Controller. class Tap < Trema::Controller attr_accessor :…

Tremaとmsgpack-rpc

仮にこんなコントローラがあったとします。 別のターミナルで以下を実行します そうすると、tremaのinfoが呼ばれて、文字列が表示されます。 コントローラ側にも同じように表示されているのがわかります。 msgpack-rpcはお手軽でいいですね。

Rubyでインタフェイスを指定してRawデータをインジェクトする簡単な方法