内核在一个双向链表中维护所有的sk_buff结构;
为了实现每个sk_buff结构都能够迅速找出整个表头,所以在表的开端额外增加一
个sk_buff_head结构作为一种哑元元素。
缓冲区的克隆和拷贝
sk_buff 的克隆没有链接到任何表(list),而且也没有引用套接字的拥有者。
skb->cloned字段在克隆的和原有的缓冲区内都置为1。
而克隆的skb->users也置1,使得第一次尝试删除就能成功,但是,对包含数据的缓冲区的引用数据(dataref)则会递增。
net_device结构全局变量dev_base所指的全局列表和连个hash表中。
多播可以在L3网络层(IP)以及L2链路层(Ethernet)中使用。
阅读(1232) | 评论(0) | 转发(0) |