Mona/仮想化/04.virtio-net


Top / Mona / 仮想化 / 04.virtio-net

04.virtio-net

以下の手順で進める

  1. probe[done]
  2. 適当な Ether パケットを送信する(Wireshark で確認)
    1. PCI_STATUS を OK にセットしないとだめ
    2. Wireshark は root 版を起動し、インターフェースを設定で選んでから覗く
    3. Wireshark では見えないのが正解。
    4. ARP Request - virtio - ひげぽん OSとか作っちゃうかMona-
    5. ARP - virtio - ひげぽん OSとか作っちゃうかMona-
    6. ARP - virtio - ひげぽん OSとか作っちゃうかMona-
  3. IP パケット送信を試す
  4. 現状は slirp モジュールがパケットを横取りして、プロトコル変換して動作している。これでは Mona が正しいパケットを出しているか確認できないので TAP を使うべき。
  5. TAP = 仮想 NIC
    1. 方法。(まだうまくいっていない)
    2. cat /etc/qemu-ifup
    3. #!/bin/sh
    4. sudo /sbin/ifconfig tap0 192.168.50.2 up アドレスは HOST 側のtap0に指定したい IP アドレス
    5. -net user の代わりに -net tap,if_name=tap0 で root で qemuを起動
    6. Mona 側では Mona の ipaddress を 192.168.50.3 にする
    7. ICMP の IP dest を 192.168.50.2
    8. TAP ICMP 動いた - virtio - ひげぽん OSとか作っちゃうかMona-
    9. TAP で ARP ping/応答ができた。が、vring->avail などの状態遷移が分からない。
    10. vring->avail の謎が解けるまでがんばる。
    11. ■特に受信時のバッファの使い回しが分からないので、実際に動かしてみるべき。
    12. 見るべきは used と avail
    13. 受信したいので外からパケットを送る必要がある。例えば ping 。そのためには arp にまず応答する必要がある。
    14. ああ。そんなことないな。arp 登録すればいいのか。
      QEMU の MAC アドレスをあらかじめ登録しておく
      % sudo tunctl -t tap0
      % sudo arp -s 192.168.50.3 -i tap0 "52:54:00:12:34:56"
      こうしておけば、デバッグ時に Mona がわざわざ ARP 応答しなくて済む。
  6. vring の仕組みを理解 - virtio - ひげぽん OSとか作っちゃうかMona- [done]
  7. virtio-net で受信、送信の割り込みをどう区別するか? - virtio - ひげぽん OSとか作っちゃうかMona- contrib r5349
  8. 割り込み関連のバグ - virtio - ひげぽん OSとか作っちゃうかMona-
  9. 割り込み調査 - virtio - ひげぽん OSとか作っちゃうかMona-
  10. VirtioNet クラス完成 - virtio - ひげぽん OSとか作っちゃうかMona-
  11. 効率的な設計案を作る[done]
  12. uIP をのっける
    1. uIP with virtio-net - virtio - ひげぽん OSとか作っちゃうかMona-
  13. パケット遅延の場所を見つけたい - virtio - ひげぽん OSとか作っちゃうかMona-
  14. パケット遅延調査 - virtio - ひげぽん OSとか作っちゃうかMona-
  15. パケット遅延調査2 - virtio - ひげぽん OSとか作っちゃうかMona-
  16. パケット遅延問題 3 - virtio - ひげぽん OSとか作っちゃうかMona-
  17. パケット遅延問題 その4 - ひげぽん OSとか作っちゃうかMona-
  18. 問題は TAP かも - パケット遅延問題 - ひげぽん OSとか作っちゃうかMona-
  19. TAP が遅い件調査中 - ひげぽん OSとか作っちゃうかMona-
  20. パケット遅延問題 - ひげぽん OSとか作っちゃうかMona-
  21. web server 動かす (revision 5361) 全てうまくいった
  22. パケット遅延問題 原因判明 - ひげぽん OSとか作っちゃうかMona-
  1. audio.exe が落ちる
    • malloc の thread safe 問題かと思って対応したが違った。
    • log を吐いてみよう。
    • pci.isExist ノシヨウ変更が問題
  1. tdd 読み終わったらテストフレームワーク

コメント

コメントはありません。 コメント/Mona/仮想化/04.virtio-net?

お名前:

MENU

now: 4

リンク


最新の20件
2018-10-07 2018-09-20 2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-05-29 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 4645, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2009-09-30 (水) 23:29:23 (3308d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.044 sec.