[BitVisor-devel:69] Re: Bitvisor上でのlwIPの使い方について
umino tomoki
t.umino.nit @ gmail.com
2015年 12月 9日 (水) 11:17:16 JST
榮樂様
豊田工業高等専門学校の海野です。
返信有り難うございます。
サンプルもうまく動かない場合、BitVisor の設定を間違えている可能性があ
> ります。ネットワークのドライバーとして vmm.driver.pci に
> "driver=pro1000, net=ip" のような設定が、ip.use_dhcp, ip.ipaddr,
> ip.netmask および ip.gateway に IP アドレスの設定が必要です。特にドラ
> イバーが正しく設定されていない場合、ネットワークのスレッドが開始しない
> ので、tcpip_begin のコールバックが実行されないということにもなります。
改めて、dbgshで起動後のログを確認してみたところ、 IP address changedというログは
出力されていませんでした。
そこで、教えていただいた設定を、defconfigに記述して再度実行してみましたが、
ログには出力されていませんでした。
考えられる原因は、defconfigの記述が間違っているか、bitvisorのデバイスドライバが
使用しているNICに対応していないのどちらかだと思います。
後者についてですが、使用しているpro1000のデバイスIDが、/driver/net/pro1000.cに記述されていたので
問題ないと思われます。
よって、うまく動作しない原因はdefconfigの記述が間違っているからだと判断しました。
私のdefconfigを下に書きますので、もし間違いがありましたら教えていただけると幸いです。
また、もし間違っていないなら、他に考えられる原因を教えていただきたいです。
defconfig
struct config_data config = {
.vpn = {
.mode = "L3IPsec",
/*.mode = "L2Trans",*/
.virtualGatewayMacAddress = "00-88-88-88-88-88",
.bindV4 = "true",
.guestIpAddressV4 = "192.168.100.1",
.guestIpSubnetV4 = "255.255.255.0",
.guestMtuV4 = "1400",
/* .guestVirtualGatewayIpAddressV4 = "192.168.6.254", */
.dhcpV4 = "true",
.dhcpLeaseExpiresV4 = "3600",
.dhcpDnsV4 = "192.168.3.254",
.dhcpDomainV4 = "sec.softether.co.jp",
.adjustTcpMssV4 = "1240",
.hostIpAddressV4 = "192.168.12.11",
.hostIpSubnetV4 = "255.255.255.0",
.hostMtuV4 = "1500",
.hostIpDefaultGatewayV4 = "192.168.12.254",
.optionV4ArpExpires = "60",
.optionV4ArpDontUpdateExpires = "true",
.vpnGatewayAddressV4 = "192.168.11.1",
.vpnAuthMethodV4 = "Password",
.vpnPasswordV4 = "password1",
.vpnIdStringV4 = "user1 @ tsukuba.ac.jp",
.vpnCertV4 = "",
.vpnCaCertV4 = "",
.vpnRsaKeyV4 = "",
.vpnSpecifyIssuerV4 = "false",
.vpnPhase1ModeV4 = "Aggressive",
.vpnPhase1CryptoV4 = "3DES",
.vpnPhase1HashV4 = "SHA-1",
.vpnPhase1LifeSecondsV4 = "7200",
.vpnPhase1LifeKilobytesV4 = "0",
.vpnWaitPhase2BlankSpanV4 = "100",
.vpnPhase2CryptoV4 = "3DES",
.vpnPhase2HashV4 = "SHA-1",
.vpnPhase2LifeSecondsV4 = "7200",
.vpnPhase2LifeKilobytesV4 = "0",
.vpnConnectTimeoutV4 = "5",
.vpnIdleTimeoutV4 = "300",
.vpnPingTargetV4 = "192.168.3.120",
.vpnPingIntervalV4 = "12",
.vpnPingMsgSizeV4 = "32",
.bindV6 = "false",
.guestIpAddressPrefixV6 = "2000::",
.guestIpAddressSubnetV6 = "64",
.guestMtuV6 = "1400",
.raV6 = "true",
.raLifetimeV6 = "300",
.raDnsV6 = "2001:dc4::1",
.hostIpAddressV6 = "5000::1:2:3:4",
.hostIpAddressSubnetV6 = "64",
.hostMtuV6 = "1500",
.hostIpDefaultGatewayV6 = "5000::254",
.optionV6NeighborExpires = "60",
.vpnGatewayAddressV6 = "1000::1",
.vpnAuthMethodV6 = "Password",
.vpnPasswordV6 = "Akihabara",
.vpnIdStringV6 = "testv6 @ tsukuba.ac.jp",
.vpnCertV6 = "",
.vpnRsaKeyV6 = "",
.vpnPhase1CryptoV6 = "3DES",
.vpnPhase1HashV6 = "SHA-1",
.vpnPhase1LifeSecondsV6 = "7200",
.vpnPhase1LifeKilobytesV6 = "0",
.vpnWaitPhase2BlankSpanV6 = "100",
.vpnPhase1ModeV6 = "Aggressive",
.vpnPhase2CryptoV6 = "3DES",
.vpnPhase2HashV6 = "SHA-1",
.vpnPhase2LifeSecondsV6 = "7200",
.vpnPhase2LifeKilobytesV6 = "0",
.vpnPhase2StrictIdV6 = "false",
.vpnConnectTimeoutV6 = "5",
.vpnIdleTimeoutV6 = "300",
.vpnPingTargetV6 = "2001:200:564:0:230:48ff:fe83:cf41",
.vpnPingIntervalV6 = "12",
.vpnPingMsgSizeV6 = "32",
},
.storage = {
.keys[0] = {
0x26, 0x3f, 0xe6, 0xcd, 0xb7, 0xb8, 0xd8, 0xce,
0x32, 0x6e, 0x13, 0xdc, 0x08, 0xaa, 0x69, 0x15,
0xf9, 0xd8, 0x1d, 0x8a, 0xc6, 0x20, 0xca, 0x5c,
0x92, 0xaa, 0x0f, 0x73, 0x4f, 0x74, 0x8d, 0xed,
},
.keys_conf[0] = {
.guid = STORAGE_GUID_NULL,
.type = STORAGE_TYPE_NULL,
.host_id = 0,
.device_id = 0,
.lba_low = 63ULL,
.lba_high = 12851999ULL,
.crypto_name = "aes-xts",
.keyindex = 0,
.keybits = 256,
},
.keys_conf[1] = {
.guid = STORAGE_GUID_NULL,
.type = STORAGE_TYPE_USB,
.host_id = 0,
.device_id = 0,
.lba_low = 0ULL,
.lba_high = 0x7fffffffULL,
.crypto_name = "aes-xts",
.keyindex = 0,
.keybits = 256,
},
.keys_conf[2] = {
.guid = STORAGE_GUID_NULL,
.type = STORAGE_TYPE_ATAPI,
.host_id = 1,
.device_id = 0,
.lba_low = 0ULL,
.lba_high = 1409024ULL,
.crypto_name = "aes-xts",
.keyindex = 0,
.keybits = 256,
},
},
.vmm = {
.f11panic = 1,
.f12msg = 1,
.auto_reboot = 1,
.panic_reboot = 0,
.shell = 1,
.dbgsh = 1,
.no_intr_intercept = 0,
.ignore_tsc_invariant = 0,
.unsafe_nested_virtualization = 0,
.tty_mac_address = {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
},
.tty_syslog = {
.enable = 0,
.src_ipaddr = { 0, 0, 0, 0 },
.dst_ipaddr = { 0, 0, 0, 0 },
},
.tty_pro1000 = 1,
.tty_rtl8169 = 0,
.tty_x540 = 0,
.tty_ieee1394 = 0,
.driver = {
.pci = "slot=02:06.0,driver=pro1000,net=ip",
},
.iccard = {
.enable = 0,
.status = 0,
},
},
};
2015年12月4日 12:26 Hideki EIRAKU <hdk @ igel.co.jp>:
> 海野様
>
> 榮樂です。こんにちは。
>
> 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 mailing list
> BitVisor-devel @ bitvisor.org
> https://www.bitvisor.org/mailman/listinfo/bitvisor-devel
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.bitvisor.org/archives/bitvisor-devel/attachments/20151209/ec65cc30/attachment-0001.html>
BitVisor-devel メーリングリストの案内