Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94472
  • 博文数量: 41
  • 博客积分: 991
  • 博客等级: 准尉
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-11 19:59
文章分类

全部博文(41)

文章存档

2012年(18)

2011年(23)

分类: LINUX

2011-08-04 21:46:04

内核在一个双向链表中维护所有的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)中使用。
 
 
阅读(1198) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~