《深入理解Linux網絡技術內幕》閱讀筆記(二)

數據結構

191 struct sk_buff_head {
192         /* These two members must be first. */
193         struct sk_buff  *next;
194         struct sk_buff  *prev;
195 
196         __u32           qlen;
197         spinlock_t      lock;
198 };

sk_buff和sk_buff_head的前兩個元素是相同的:next和prev指針。儘管sk_buff_head與sk_buff相比實在太小,但還是允許兩個結構共同存在於同一個表中。另外,同樣的函數也可用於操作sk_buff和sk_buff_head二者。
每個sk_buff結構都包含一個指針,指向專一的sk_buff_head結構,增加了其複雜性。這個指針的字段名稱爲list。
看圖:
這裏寫圖片描述
數據結構關係圖:
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章