[BitVisor-devel:22] BitVisorのPRO1000によるデバッグメッセージの出力について
Shougo Matsushita
shougo @ softlab.cs.tsukuba.ac.jp
2011年 9月 5日 (月) 16:43:34 JST
BitVisor MLの皆さん
筑波大学 ソフトウェア研究室の松下正吾です。
現在はシリアルポートを利用してBitVisorのデバッグをしているのですが、
シリアルポートを他の用途に使いたいため、Intel PRO 1000のネットワークカードを用いて
デバッグメッセージの出力を行いたいと考えています。
設定ファイルを変更したり、make configで設定をしましたが、
他のPCでBitVisorからのパケットを受信できません。
おそらく、自分のやり方に問題があるのではないかと考えています。
問題となる設定がありそうだったら、教えてもらえないでしょうか。
よろしくお願いします。
以下が現在の状態です。
----------------------------------------------------
ハードウェア Thinkpad X60
BitVisor 1.1.1(一部修正)
make configにて、TTY_SERIAL, TTY_PRO1000, VPN_PRO1000を有効にしています。
defconfigは
config.vmm.tty_pro1000 = 1,
config.vmm.tty_pro1000_mac_addressにMacアドレスを代入しています。
Macアドレスについては、
$ ifconfig
からHWaddrにより分かるものを代入しています。
例えば、FF:80:FF:55:FF:FF
という表示なら、
tty_pro1000_mac_address = {
0xFF, 0x80, 0xFF, 0x55, 0xFF, 0xFF,
},
としています。
もしかすると、この指定方法は間違っていて、バイトを転置しないといけないのかもしれません。
config.vmm.driver.PRO100 = 1, config.vmm.driver.PRO1000 = 1
としています。
BitVisorの起動には、login-simpleを使用しています。
そのため、boot/login-simple/bitvisor.confを修正しています。
修正した設定は、
vmm.tty_pro1000=1
vmm.tty_pro1000_mac_address=Macアドレス
vmm.driver.vpn.PRO100=1
vmm.driver.vpn.PRO1000=1
です。
受信用のプログラムは、drivers/vpn/PRO1000.cに書いてあるPerlプログラムをそのまま使用しました。
BitVisorを起動して確認してみたところ、Perlプログラムで受信ができませんでした。
シリアルポートには出力されます。
デバッグメッセージにより、tty_pro1000が初期化されていることは確認しました。
pro1000のput_char関数も呼ばれています。
BitVisorがネットワークデバイスを占有しているため、ホストOSからネットワークに接続することはできないことも確認をしました。
シリアルポートの出力を見たところ、VPN Logが大量に流れています。VPN自体は有効になっているようです。
BitVisor-devel メーリングリストの案内