パスワードを忘れた? アカウント作成
503739 journal

tarosukeの日記: [talos]ネットワーク

日記 by tarosuke

8139でダメなところは受信で「何のためにバスマスタ転送してるかわからない」事の他に、4バイト境界からしか送信できず、受信パケットも4バイト境界だって所だ。これの何がダメかってぇと、ethernetのMACアドレスが送信と受信で12bytes。プロトコル番号が2bytesなのでIPヘッダが4bytes境界で始まってくれない。これはどこからでもどこへでも読み書きできるx86では問題にならないが68系やRISCではこれが実に嫌な問題になる。

IPアドレスはIPヘッダの中で4bytes境界になっているのでパケットの先頭が4bytes境界だとIPアドレスが4bytes境界にならない。そして68系やRISCは4bytesを読み書きするときに4bytesアラインを要求することが多い。つまりそのようなプロセッサだとアドレスを一度に読み書きできないのだ。NetBSD(1.6)だと送信時にはわざわざ領域を確保してコピーしてたりする。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

身近な人の偉大さは半減する -- あるアレゲ人

読み込み中...