忘记密码   免费注册 查看新帖 | 论坛精华区
ChinaUnix.net
  平台论坛 博客 微博 读书 人才 精华 文库 自测 | 频道操作系统 开发 数据库 存储 服务器 网络 IT新闻 Linux 下载 Power用户组
最近访问板块 发新帖
查看: 2685 | 回复: 22

sk_buff链表的问题 [复制链接]
更多

帖子
34
主题
13
精华
0
可用积分
56
专家积分
0
在线时间
51 小时
注册时间
2010-01-04
最后登录
2010-04-08
论坛徽章:
0
发表于 2010-03-17 13:09:24 |显示全部楼层
请教下,我定义了一个sk_buff结构的缓冲区my_buff。有个while循环,循环每一次都会接收一个sk_buff结构的数据包。我想在循环中把每次接收到的数据包都放在my_buff中,这样循环完成之后,就会形成一个my_buff的链表。请问拿代码如何形成这样一个链表?先谢过了
To be 千里马!

Rank: 8Rank: 8

帖子
14516
主题
366
精华
21
可用积分
58752
专家积分
79
在线时间
5761 小时
注册时间
2007-03-09
最后登录
2012-02-09
论坛徽章:
0
发表于 2010-03-17 15:01:51 |显示全部楼层
不是很清楚你的需求。以及你需要在内核的什么位置实现
----------
欢迎光临Godbach的博客交流技术问题:
Godbach's Blog
---------
明犯我强汉天威者,穷搜天下,万里追杀,覆其巢,断其苗裔,戮其身,追其魂,屠其魄,虽远必诛!

帖子
34
主题
13
精华
0
可用积分
56
专家积分
0
在线时间
51 小时
注册时间
2010-01-04
最后登录
2010-04-08
论坛徽章:
0
发表于 2010-03-17 15:34:31 |显示全部楼层
回复 2# Godbach


    在链路层实现,也就是在数据包提交给网络层之前,想先把数据包存下来,再批量提交。不知道这么说大侠能明白不?
To be 千里马!

Rank: 8Rank: 8

帖子
14516
主题
366
精华
21
可用积分
58752
专家积分
79
在线时间
5761 小时
注册时间
2007-03-09
最后登录
2012-02-09
论坛徽章:
0
发表于 2010-03-17 15:48:38 |显示全部楼层
为什么要这样做。想做一些优化吗?
----------
欢迎光临Godbach的博客交流技术问题:
Godbach's Blog
---------
明犯我强汉天威者,穷搜天下,万里追杀,覆其巢,断其苗裔,戮其身,追其魂,屠其魄,虽远必诛!

帖子
34
主题
13
精华
0
可用积分
56
专家积分
0
在线时间
51 小时
注册时间
2010-01-04
最后登录
2010-04-08
论坛徽章:
0
发表于 2010-03-17 15:57:02 |显示全部楼层
回复 4# Godbach


    想做一个数据包暂存到内存中的实验,就是不懂sk_buff如何使用其自身具有的双链表功能?
To be 千里马!

Rank: 8Rank: 8

帖子
14516
主题
366
精华
21
可用积分
58752
专家积分
79
在线时间
5761 小时
注册时间
2007-03-09
最后登录
2012-02-09
论坛徽章:
0
发表于 2010-03-17 16:05:55 |显示全部楼层
也就是截获个skb,然后做一些分析,是吗
----------
欢迎光临Godbach的博客交流技术问题:
Godbach's Blog
---------
明犯我强汉天威者,穷搜天下,万里追杀,覆其巢,断其苗裔,戮其身,追其魂,屠其魄,虽远必诛!

帖子
34
主题
13
精华
0
可用积分
56
专家积分
0
在线时间
51 小时
注册时间
2010-01-04
最后登录
2010-04-08
论坛徽章:
0
发表于 2010-03-17 16:19:58 |显示全部楼层
回复 6# Godbach


    是的,但是是在循环中截获,一次循环截获一个,等循环完了,也就截获到了一个sk_buff的链表!
To be 千里马!

Rank: 8Rank: 8

帖子
14516
主题
366
精华
21
可用积分
58752
专家积分
79
在线时间
5761 小时
注册时间
2007-03-09
最后登录
2012-02-09
论坛徽章:
0
发表于 2010-03-17 16:30:45 |显示全部楼层
你需要一次性分析多个skb吗?
----------
欢迎光临Godbach的博客交流技术问题:
Godbach's Blog
---------
明犯我强汉天威者,穷搜天下,万里追杀,覆其巢,断其苗裔,戮其身,追其魂,屠其魄,虽远必诛!

帖子
34
主题
13
精华
0
可用积分
56
专家积分
0
在线时间
51 小时
注册时间
2010-01-04
最后登录
2010-04-08
论坛徽章:
0
发表于 2010-03-17 16:36:32 |显示全部楼层
回复 8# Godbach


    因为在轮询设备的时候是循环读取设备的缓冲区的,所以想把每次循环接收到的skb都存下来,让循环N次的N个skb形成一个链表存下来,或者存入数组也可以,只要能存下来。存下来后,再遍历链表或者数组,把skb再上交给网络层!
To be 千里马!

Rank: 8Rank: 8

帖子
14516
主题
366
精华
21
可用积分
58752
专家积分
79
在线时间
5761 小时
注册时间
2007-03-09
最后登录
2012-02-09
论坛徽章:
0
发表于 2010-03-17 16:48:18 |显示全部楼层
你说的这些工作本身有的网卡驱动就可以实现。我不清楚你真正的需求是什么。如果你说想分析一个skb数据包甚至多个,都可以通过Netfilter的hook函数来实现
----------
欢迎光临Godbach的博客交流技术问题:
Godbach's Blog
---------
明犯我强汉天威者,穷搜天下,万里追杀,覆其巢,断其苗裔,戮其身,追其魂,屠其魄,虽远必诛!
您需要登录后才可以回帖 登录 | 注册

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP