2011-06-23から1日間の記事一覧

igb(4)を理解する為にデータシートを読む(RSSハッシュ関数用のシード設定)

igb_initialize_receive_unitsをみると arc4rand(&random, sizeof(random), 0); でランダムな値を取得してきて for (int i = 0; i < 10; i++) E1000_WRITE_REG_ARRAY(hw, E1000_RSSRK(0), i, random[i]); で書き込んでいる。 データシートを読むとRSSRKはRSS…

igb(4)を理解する為にデータシートを読む(RSSハッシュキーの取り出し)

まずはこのフローを見てもらうと分かりやすいのだけれど、FreeBSDのイーサーネットドライバでは割り込みハンドラ(em_irq_fast)からtaskqueue_enqueueを呼んでカーネルスレッドを起こして、このスレッドが実際にパケットを取り出しに行く(em_irq_fast)。フロ…