以前のエントリー*1で、netmap API を使ったアプリケーションを作成する方法やデータ構造についてとりあげました。今回は少しレイヤーを下げて、カーネルのどのような機能を使って、netmap API が作られているのかについてまとめました。 Linux カーネルハックを始めてみたいけれど、何から手をつければよいかわからないという方にとって、netmap で使われているカーネルハックの方法について知ることは、とても良い導入の一つだと思います。 Linux カーネルハック netmap は、キャラクタデバイスのカーネルモジュールとして実装されています。今回はキャラクタデバイスのカーネルモジュールで何ができるのか、ということと、netmap がそれらをどのように使っているかについて説明します。 カーネルハックで、Linux カーネルに新しい機能を追加する場合に、カーネルのソースコードを直接変
![netmap でわかる Linux カーネルハック入門 - かーねるさんとか](https://cdn-ak-scissors.b.st-hatena.com/image/square/9ca85542a1c1ce645f8a29b055402776ca48edf1/height=288;version=1;width=512/https%3A%2F%2Fraw.githubusercontent.com%2Fyasukata%2Fasset%2Fmaster%2Fimg%2Fnetmap_structure_201711%2Fnetmap_structure.png)