2014-01-01から1年間の記事一覧

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データをインジェクトする簡単な方法