TAPデバイス認識

ようやくサンプルコードでTAPデバイスを認識させることが出来た。昨日で公式サイトのサンプルが動かない事が分かったものの、linuxカーネルのDocumentation付属のコードもコンパイルが通らない。試行錯誤の結果、以下の事が分かった。

  • linux-2.6.17に付属のinclude/linux/if.hはバグ有り
  • linux-2.6.17に付属のinclude/asm/rwsem.hもバグ有り

前者に関しては2.6.15の同じファイルと比較して分かった。後者に関しては以下のバグ報告の件と関連している。2.6.17でも同じエラーが出るので修正されていなかったようだ。

また、動作確認コードは以下から持ってきた

しかしコンパイルが出来ないのはカーネルヘッダのバグが原因だった事に少なからぬ精神的ダメージを受けた。


I could register TAP device by my sample code. I found there are bugs in the following header files of linux-2.6.17.