#受信パケット数,送信パケット数を知りたいわけではない
おそらく上記のものはifconfigやnetstat,tcコマンドで見ることができると思います.私が知りたいことは,「現在送信キューで待機しているパケット数」です.
#/usr/include/linux/skbuff.hがない
ネットワークドライバのキューのバッファ周りでよく
#include <linux/skbuff.h>をインポートして利用しているケースが見かけられます.
しかし,私の環境ではlinux/skbuff.h(c言語のプリセットから考えるに/usr/include/linux/skbuff.hだと思われるのですが)がなく,インポートエラーとなってしまいます.実際にないことを確認しました.
skbuff.hは/usr/src/linux-5.15.6/include/linux/skbuff.hや/lib/modules以下にあるのを確認したのですが,どちらにせよlinux/compiler.hがないといわれたり(skbuff.h内でincludeされている)など,skbuff.h内でincludeされているものが/usr/include/linux以下にないものが多々あります.
#お聞きしたいこと
①なぜ/usr/src/各linuxカーネルソースコード名/include/linux以下のskbuff.hはincludeで<linux/compiler.h>など,そこにないものをincludeしているのか
②skbuff.hを利用して何か書いている人(#include <linux/skbuff.h>というように普通にincludeできている人)はどのようにして扱えているのか
③もしタイトルの物を直接知る方法があればご教授願います.
#そもそも知りたいこと
タイトルの通り,「現在の送信バッファ内で待機しているパケットの数」です.netstatやifconfig,tcコマンドでは,送信パケット数,受信パケット数はすぐにわかるのですが,今現在キューで待機しているパケット数を知ることができなくて困ってるところです(研究で使いたい情報).sk_buffがパケットのバッファであることを知ったので,これを扱えば知ることができるのではと思っている次第です.
#環境
virtualbox 6.1.30
ubuntu 20.04 LTS
kernel 5.15.6(ソースコードからコンパイルしてインストールしたもの)
(なお,kernelはデフォルトのもの,ソースコードからコンパイルしたものどちらもあります)
デフォルトのkernel(ubuntuをisoイメージから読み込んだ状態で最初からあったもの)のバージョンは5.11.41
回答1件
あなたの回答
tips
プレビュー