ネットワーク カードによって受信されたフレームは、ドライバーによって処理され、Linux カーネルによってプロトコル スタックの上位レイヤーに渡されます。
カーネルがパケットをネットワーク層に渡さないようにする簡単な方法はありますか? データリンク層からフレームを受信し、すべてのパケットを自分で処理できるようにするには (おそらくアプリケーション層のプログラムを書き換える必要があります)。
カーネルを再コンパイルする必要があると思います。これは、softirq または netif_rx のような関数または cpu ごとのリスト キューのコードを変更することによって行う必要がありますか?
実際、何人かのクラスメートと私は、演習のためにユーザー空間に単純化されたバージョンの TCP/IP プロトコル スタックを実装しようとしています。UNP、APUE2、TCP/IP の図解 v1、v2、Linux ネットワーク アーキテクチャ、Linux ソース コードなどの本を読んでいます。他にも問題があります。別の質問を投稿する必要がありますか?