出歯銅鑼終了

いくつか潜在的バグが或るかもしれないけど、とりあえず終了。
コメントアウトをカットすればだいたい200行位かと思われます。
てきとうに課題と関係ない部分での嵌まりどころを、と。

  • QEMUのインストールにはSDLが必要なので、yum installを。
  • QEMUコンパイルはconfigureしてから。
  • /dev/kqemuを入れると実行が早くなるらしい(by namasute)が、試していない。
  • VMWareの試用版では駄目なのだろうか。
  • カーネル(2.6.9)のコンパイルが途中で止まる場合にはSCSI系をカットしましょう。
  • 改造版のne2kを使わないと、(un)register_rcv_hookがEXPORT_SYMBOLされてない。
  • lsmodすればわかるかも。
  • レジュメの(un)register_rcv_hookは返り値がintだが、正しくはvoid。
  • QEMUの起動オプションでMACアドレスを指定できるが、指定するのは片方のQEMUだけにしておこう。
  • アンダーバーが打てなかったらsshで入ればいいんじゃない?

次に課題と関係する部分をかなり意地悪に。

  • 46オクテットの罠とhtons/ntohs
  • hard_header、hard_start_xmitはソース嫁。
  • 受信バッファはキューに入れて管理できるよ。
  • writeとreadの返り値は読み書きできた分だけ返しても間違いじゃない。

まぁ実は配布資料に書いていないヒントも講義中に口頭でもらってたりするので、なんともはや。