[BitVisor-devel:67] Re: Bitvisor上でのlwIPの使い方について
Hideki EIRAKU
hdk @ igel.co.jp
2015年 12月 4日 (金) 12:26:09 JST
海野様
榮樂です。こんにちは。
From: umino tomoki <t.umino.nit @ gmail.com>
Subject: [BitVisor-devel:66] Bitvisor上でのlwIPの使い方について
Date: Thu, 3 Dec 2015 22:36:26 +0900
> サンプルのecho-client.cとechoctl.cを読んだところ、通常のlwIPのrawAPIを用いた関数
> tcpip_beginのコールバックとして実行すればよいのではないかと思い
> 上記のプログラムを参考に5秒毎にサーバーへデータを送るテストコードを作成し
> 実行してみましたが、起動直後に
> ・
> ・
> PCI: finding devices...
> PCI: 21 devices found
> MCFG [0] 0000:00-FF (E0000000, 10000000)
> ・
> ・
> とログに出力され、また、tcpip_beginに渡したコールバックも実行されませんでした。
> そこで、質問なのですが、bitvisor上でのlwipの使い方は、rawAPIを用いた関数を
> tcpip_beginのコールバックとして実行するというもので間違いないでしょうか
> もし、間違っているならば、正しい使い方を教えていただけるとありがたいです。
BitVisor に組み込まれた lwIP の使い方としては、あっていると思います。
他に気をつけるところは、IP アドレスを設定した後でなければならないとこ
ろです。ログに IP address changed: 0.0.0.0 -> 10.0.0.1 のような内容が
出力されますので、それ以降に使用する必要があります。
まずは、サンプルの echo サーバー・クライアントを試してみてください。サ
ンプルは最初から BitVisor に組み込まれており、dbgsh から echoctl とい
うコマンドを実行すると、echo サーバーを開始したり、echo クライアントを
テストしたりすることができます。ネットワーク上に相手となるホストを用意
する必要はあります。
サンプルもうまく動かない場合、BitVisor の設定を間違えている可能性があ
ります。ネットワークのドライバーとして vmm.driver.pci に
"driver=pro1000, net=ip" のような設定が、ip.use_dhcp, ip.ipaddr,
ip.netmask および ip.gateway に IP アドレスの設定が必要です。特にドラ
イバーが正しく設定されていない場合、ネットワークのスレッドが開始しない
ので、tcpip_begin のコールバックが実行されないということにもなります。
--
Hideki EIRAKU <hdk @ igel.co.jp>
BitVisor-devel メーリングリストの案内