struct sk_buffについて

ノウハウ紹介

また、exStickとは関係ない小ネタです。

sk_buffというのは、大雑把に言うとsocketを通じてやり取りされるデータを管理するための構造体です。

ネットワークドライバを作る時には必須となる、重要なデータ構造になります。

この構造体の定義を見ると、まえはパケットデータのヘッダにアクセスしやすいように、以下の共用体が定義されていました。

 

union {

    ....中略

} h;  // トランスポートヘッダ

union {

    ....中略

} nh;   // ネットワークヘッダ

union {

    ....中略

} mac;

ところが、あたらしいsk_buffの定義を見てみると、どうやら以下のようになったみたいです。

 

sk_buff_data_t  transport_header;

sk_buff_data_t  network_header;

sk_buff_data_t  mac_header;

このあたりの解説がされている本で出版されているものは、古いsk_buffのスタイルでの解説しかないと思うので、読者自身が追従していく必要がありますね。

勉強になります(笑)

コメント

タイトルとURLをコピーしました