当前位置:  技术问答>linux和unix

sk_buff是一个双链表,我想问关于这个双链表的问题

    来源: 互联网  发布时间:2016-04-18

    本文导语:  1、为什么要将skb搞成双链表的形式,为什么要这样管理?  2、是否有些skb组成链,有些还是单个的? 3、如果2为是,那么什么情况下要组链,什么情况下不组链,能否举例说一下,或者通俗的讲解一下。 ...

1、为什么要将skb搞成双链表的形式,为什么要这样管理? 
2、是否有些skb组成链,有些还是单个的?
3、如果2为是,那么什么情况下要组链,什么情况下不组链,能否举例说一下,或者通俗的讲解一下。

|
1.双向链表方便遍历。你要考虑到二层收到的数据帧放入sk_buf组成的链表中,然后链表会传递到IP层。发送数据也类似,上层的数据装入sk_buf后传递到下层。这样同样的一个链表会被多层处理,这就涉及到添加、去除头部的操作,就会有向前和向后的遍历操作,自然需要涉及成双向链表的了。
2,3. 帧大的,如果一个sk_buf放不下,当然需要多个sk_buf; 如果帧小的足够一个sk_buffangixa,那当然只用一个sk_buf。这是看实际情况而定,这个问题问得没意义。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于socket的sk_buff,如何判断这个sk_buff是不是完整的?
  • 有关sk_buff
  • 怎样取得sk_buff中的data
  • sk_buff中tcp的data
  • 请问如何把sk_buff中所保存的数据信息显示出来?急!
  • 请问有关linux底层网络数据结构sk_buff相关知识
  • 怎样从sk_buff结构中取得vlan信息
  • 传入一个sk_buff的结构,如何获取tcp的端口和其它数据
  • 如何将数据包sk_buff从内核空间提交给用户空间呢?
  • 从netfilter里注册的函数获得的sk_buff的数据包如何重组?
  • sk_buff结构里的char cb[48]是什么用的?
  • linux是如何给usb网卡封包成sk_buff的
  • sk_buff中定义的一个char cb[48]是用来干什么的啊?
  • sk_buff中重复字段的区别及data数据字段请教
  • 请教,linux内核协议栈中,从内核往驱动发送的报文(注意是下行,不是上行),如何从sk_buff判断是组播数据报文还是组播协议报文????
  • 我需要知道结构sk_buff的成员的作用和意义,谢谢。
  • struct sock *sk和 struct sk_buff *skb之间的关系
  • hook后获得的sk_buff指针为什么会是0?
  • TD 3G卡sk_buff修改了http应用层的信息后包不肯发出去
  • linux下netfilter中在PRE_ROUTING点收到的sk_buff内容为什么始终为空


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3