[BitVisor-devel:70] Re: Bitvisor上でのlwIPの使い方について

Hideki EIRAKU hdk @ igel.co.jp
2015年 12月 9日 (水) 12:15:56 JST


海野様

榮樂です。こんにちは。

From: umino tomoki <t.umino.nit @ gmail.com>
Subject: [BitVisor-devel:69] Re: Bitvisor上でのlwIPの使い方について
Date: Wed, 9 Dec 2015 11:17:16 +0900

> 改めて、dbgshで起動後のログを確認してみたところ、 IP address changedというログは
> 出力されていませんでした。

> よって、うまく動作しない原因はdefconfigの記述が間違っているからだと判断しました。
> 私のdefconfigを下に書きますので、もし間違いがありましたら教えていただけると幸いです。

まず、IP アドレスの設定が抜けているようですので、設定が必要です。例え
ば DHCP を使用する場合は以下のようになります。

struct config_data config = {
	.vpn = {
		/* 略 */
	},
	.storage = {
		/* 略 */
	},
	.vmm = {
		/* 略 */
	},
	.ip = {	/* ここから必要 */
		.use_dhcp = 1,
	},	/* ここまで必要 */
}

設定ファイル defconfig は C の構造体の初期値を指定しているものであり、
上のように指定をしないと .use_dhcp も .ipaddr などもすべてゼロに、すな
わち、DHCP を使わず IP アドレスは 0 ということになってしまい、正常に動
作しません。

次に、デバイスの指定です。

> .pci = "slot=02:06.0,driver=pro1000,net=ip",

BitVisor なしでオペレーティング・システムを起動した時に、lspci コマン
ドでアドレス 02:06.0 に Intel NIC が見えている場合はこれで大丈夫です。
しかし、この場合以下の tty_pro1000 設定は無視されているか、または、PC
にその他の Intel NIC があればそちらに対して適用されているものと思われ
ます。

> .tty_pro1000 = 1,

もし、lwIP を使う NIC からログ出力も行いたい場合は、.tty_pro1000 は 0
にして、ドライバーに "tty=1" オプションを指定してください。例えば以下
のようになります。

.pci = "slot=02:06.0,driver=pro1000,net=ip,tty=1",

以下のように PCI アドレス指定をしない方法もあります。ただし、TCP/IP は
ひとつの NIC のみの対応としているため、この指定で複数の Intel NIC が検
出されるとエラーになります。

.pci = "driver=pro1000,net=ip,tty=1",

複数の Intel NIC のうち最初のものだけを使いたいという場合は以下のよう
になります。

.pci = "device=pro1000,number=0,driver=pro1000,net=ip,tty=1",

-- 
Hideki EIRAKU <hdk @ igel.co.jp>


BitVisor-devel メーリングリストの案内