仮想化初心者がGrizzlyをdevstackで試してみる 1

新しい環境を整備するたびに、クリーンインストールをするのがめんどくさくなってきたので、仮想化環境に挑戦。 ちょっと調べると、openstackというものが非常に流行りだしているとか。 なので、初心者ですが、いろいろ自動化されて簡単そうだし、試して見る…

自分でビルドしたRuby1.9.3のアンインストール

ubuntuでRuby1.9.3を自分でビルドして使っていたのだが、Tremaを試そうとした所,ビルドエラーが発生。どうやら1.9系にはまだ対応していないらしい。 ということで、Ruby1.8系に戻すために,一度Rubyをアンインストールすることにした.調べてみたところ、ビ…

Apache 2.4.2 on Ubuntu 11.10

ちょっと実験でapacheが必要になったので,ubuntuに導入. ubuntuは11.10でちょい古め.apache2.4.2をダウンロード,展開して./configureすると,APRが無いよ、と言われて終わる. $ cd /usr/local/src/httpd-2.4.2/ $ ./configure 途中省略---- checking for A…

netemとtc-tbfを同時に使う場合の注意点

Linuxをネットワークエミュレータとして使うには、netemというものが良さげ。参考は http://tiki.is.os-omicron.org/tiki.cgi?c=v&p=netem に。ただし、netemによる遅延やロスに加えて、tbfを使って帯域制限を加える場合、先にtbfを適用させること! netemは…

思ったより残念な感じ

ns3

ns3を掘ってみたのだが、TCPに関してはウインドウスケーリングが無かったり、SACKが無かったりと、ちょっと物足りない。 自分で改造すりゃいいんだけどさ。ns2だとOKなのかな?

CentOSでTremaをインストール

ドキュメントではubuntuしか検証されていないが、CentOSでも動くはず… 参考は https://github.com/trema/trema/blob/master/README.md http://gihyo.jp/dev/serial/01/openflow_sd/0007まずは必要なパッケージ。 git, gcc, make, ruby, ruby-devel, ruby-irb…

apatch2.2.22をインストールしてwebdavもセットアップ

apache2.2.22をダウンロード。 #./configure --enable-dav=shared --enable-dav-fs=shared #make #make install ここまでで、きっと/usr/local/apahe2/module/にmod-dav.soとmod-dav-fs.soができているはず。 /usr/loca/apache2/conf/httpd.confに LoadModul…

コマンドラインからデフォルト値を変更

ns3

$./waf --run "scratch/myFirst.cc --ns3::PointToPointNetDevice::DataRate=5Mbps" のようにして、各クラスの変数のデフォルト値を変更できる。 スクリプトの中で明示的に変更するとオーバーライドされちゃうので、スクリプトではいじらずにコマンドライン…

LogLevelの定数の宣言

ns3

ns3::LogComponentEnable(const char*, ns3::LogLevel) の第2引数で使うLogLevelの定数は src/core/model/log.h で宣言されている。

幾つかの用語についての定義

ns3

NODE ns-3では、何かしら処理をするデバイスをNodeクラスで表現する。 C++で実装される。 実世界でのPCみたいなもの。Application 実世界ではSystemSoftware(カーネル)とApplicationSoftware(ユーザアプリ)があるが、ns-3ではApplicationSoftwareしか考…

スクリプトの実行(Running a Script)

ns3

スクリプトを実行するのも通常はWafスクリプトを使う。 ハローワールドを実行するのは以下。 ./waf --run hello-simulator 成功すれば Hello Simulator と出力されるはず。 何も出ない場合、それはWafがoptimizedモードになっているため。以下のコマンドを実…

ns3のビルドチェック(Testing ns-3)

ns3

ns-3のビルドが成功しているかユニットテストを実施する。 ./test.py -c core これらのテストはWafによって並列に実行される。結果は以下のような形になるはず。 47 of 47 tests passed (47 passed, 0 failed, 0 crashed, 0 valgrind errors) これらのメッセ…

Wafを使ったビルド

ns3

前回はns-3-allinoneのスクリプトでビルドしましたが、その後はwafというns3のディレクトリにあるスクリプトでビルドを行います。 ビルドのためのコンフィグも行えます。以下の例は「コードを最適化する」「exampleとtestを含む」という設定にするようです。…

まずは導入

ns3

参考は http://www.nsnam.org/docs/release/3.11/tutorial/singlehtml/index.htmlまずソースをダウンロードする前に必要な環境として ・Mercurial ・bazaar があると後々楽そうなのでインストールしておく。 どちらもバージョン管理ソフトで、Mercurialはns3…

ns3って出てたんだ。。。

ns3

ネットワークのシミュレートをするために、ちょっとns2について調べていたら、すでにns3が出ていた。 OTclが無くなったらしいので、とっつきやすくなっているかも!?ちょっとずつ試していこうと思います。http://www.nsnam.org/

CiscoのスイッチでサードパーティのSFPモジュールを使う

Cisco3750Gに、他社のSFPモジュールを挿入したところ、リンクアップせず。 #show interface で状態を確認すると、1行目に(err-disabled)の文字が。実は、挿入したタイミングで %GBIC_SECURITY_CRYPT-4-VN_DATA_CRC_ERROR: GBIC in port XXXX has bad crc %P…

ubuntuでEclipse導入

まずはjavaのインストール。 今回インストールするのはsun-java6-jdkなので検索して出てこないなら Synapticの対象リポジトリに http://archive.canonical.com/ubuntu lucid partner を加える。次はEclipseのダウンロード。 Synapticだと3.5.2だったので、公…

GCCの-lオプション

Linuxでpcapを使おうとした際に undefined reference to "pcap_findalldevs" なんて出たので。gcc hoge.c -lpcap でコンパイルが通る。 lの意味は「-lxxxを指定すると、libxxx.aをリンクする」ということ。 ちなみにリンク時に探すディレクトリは-Lオブショ…

JavaAppletの張り付けメモ

Safariに張り付ける場合 embedタグでは みたいな形。versionで最低バージョンが指定できるかどうかは未確認。クロスブラウザは考えてないので注意。

WindowsでレジストリをCからいじる

RegOpenKeyExを使う。 さらにサブキーを列挙するには、直前のキーをRegOpenKeyExで開き、そのキーを使ってRegEnumKeyExを繰り返す。参考: http://msdn.microsoft.com/ja-jp/library/cc429950.aspx http://msdn.microsoft.com/ja-jp/library/cc429912.aspx h…

GoogleAppEngineの勉強

とりあえずやってみんべhttps://docs.google.com/Doc?docid=0ASMc2pOcG0DXZGNnYnBzeGtfMTQ5ZndrZjU3ZGs&hl=ja

クラスのメンバ関数をスレッド化

C++

C++っぽく、クラス化してコードを書き直していたら、_beginthreadexで詰まった。 引数にスレッドで実行する関数を指定するのだが、エラーが出る。 調べてみて、一応解決はした。 http://74.125.153.132/search?q=cache:t1xnvjFjvH0J:blog.vnull.com/article/…

winpcapの受信ルーチンのタイムアウト

pcap_next_exでは、タイムアウトすると0が返る。 タイムアウトはpcap_open_live(const char* device, int snaplen, int promisc, int to_ms, char* ebuf)のto_msで定義される。単位はミリ秒。 OSによって有効だったり無効だったりするようだが、WindowsXPで…

acceptでもselect

普段はUDPばっかり使ってたんですが、TCPをたまには使ってみました。 サーバ側で待ち受けようと思ったら、acceptを使うわけですが、ブロッキングモードでずーっと待ち受けちゃうとプログラムが終了できないので、selectを使います。データ受信と同じで、read…

VLAN TAG 付きのパケットをキャプチャする

802.1Q方式でタグ付けされたパケットをWiresharkでキャプチャすると、残念ながらNICでタグが除去されてOSに渡されていたためにタグがキャプチャできませんでした。 NICはRealTek RTL8168B/8111BFamily。 NICのプロパティに優先度とVLAN(Priority&VLAN)とい…

CreateWindowのstaticコントロールの文字列取得

CreateWindowのstaticコントロールの文字列変更の次は、文字列の取得。GetWindowTextを使えばOK。

CreateWindowのstaticコントロールの文字列変更

CreateWindow(_T("static")....てな感じで作ったウィンドウに文字列をセットしたい場合はBool SetWindowText(HWND hwnd, LPCTSTR lptString); でセットする。 hwndはウインドウのハンドル、lptStringはセットしたい文字列。なお、ウィンドウのハンドルの取得…

時刻の取得

時刻を表示したい場合 time_t timer; tm timestruct; TCHAR timebuf[20];//文字列にする場合のバッファtime(&timer); localtime_s(&timestruct, &timer); wcsftime(timebuf,sizeof(timebuf)/sizeof(timebuf[0]), _T("%m/%d %H:%M:%S),&timestruct); で、time…

catalyst3750:コンフィグをバックアップに復元する

普段、 #copy flash:config.text.old start とやっても、完全に置き換わるのではなく、記述がない部分がstartup-configに追加されるだけである。 完全にバックアップに戻すには、一度消去してからコピーする?#write erase (これで、nvramが消去される。つま…

SNMP on catalyst3750G

catalyst3750GでSNMPを動かすには・・・・SNMPで情報を参照するためには (config)#snmp-server community コミュニティ名 アクセス権 アクセスリスト番号 で、接続するためのコミュニティ名を作成する。 この一行でSNMPの機能も有効になる。・SNMPトラップを…