ifconfig と statistics

今度は、諸般の事情で Linuxethernet ドライバソース読んでます。。。
ifconfig で表示される統計情報ってどうやって表示されるかというと、ether_setup(dev) を呼ぶときの dev->get_stats に割り当てられた関数を呼ぶことで明示的に取得するっぽい。net_device_ops との関係はよく分からず。(未調査)
net_device_ops の構造体で get_stats の関数を定義していない場合は、どっかの変数で格納している統計情報を持っていくらしい。
ところで、某社のドライバだと sysfs から見ている統計情報があって、linux/netdevice.h の struct net_device_stats を使って、なんだか詳細な統計情報が得られるようになっている。どうなっているんだろう。

その後

Rx drop が起きるという話だったのだが、どうも net/core/dev.c:__netif_receive_skb_core() で起きてる。どうも、それを呼んでいる某社のドライバに理由がありそうだ。