免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3759 | 回复: 5
打印 上一主题 下一主题

[驱动] 请教:DM9000驱动中DM9000_rx函数的skb_put [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-06 08:52 |只看该作者 |倒序浏览
910                    && ((skb = dev_alloc_skb(RxLen + 4)) != NULL)) {
911                          skb_reserve(skb, 2);
912                          rdptr = (u8 *) skb_put(skb, RxLen - 4);

我知道RxLen是帧数据区的大小,
请问各位:1:dev_alloc_skb为什么要分配 (RxLen + 4) 呢?
               2:skb_reserve中的第二个参数:`2`是不是指某个协议头,是一个,还是二个?
               3: skb_put 又为什么只扩充数据区大小为 RxLen - 4 , 而不是 RxLen  ?


谢谢各位--------

论坛徽章:
0
2 [报告]
发表于 2011-08-12 00:41 |只看该作者
skb_reserve(skb, 2);    /*Note that before copying, the code
reserves two bytes to align the IP header to a 16-byte boundary

Like skb_reserve, these functions don't really add
any data to the buffer; they simply move the pointers to its head or tail. The new data is supposed to be copied explicitly by other functions.

以上这些是从understanding linux network internal 找的说明------

但还是搞不明白其它两个函数的参数,希望大家指教一下--------------

论坛徽章:
0
3
发表于 2011-08-30 11:46
您好,我是爱欣文科技的沈鹏。
您提的DM芯片的问题,我可以帮助你解答。
关于DM9000AEP,DM9161AEP,数据手册,驱动,请联系我!
我们是DM芯片大陆的总代理商,有强大的技术支持。
我的联系方式:leo_shen@axwdragon.com   18665815539  QQ:1608310420

论坛徽章:
0
4 [报告]
发表于 2011-11-02 15:32 |只看该作者
楼主问题解决没啊 ?

论坛徽章:
0
5 [报告]
发表于 2011-11-22 22:48 |只看该作者
请问各位:1:dev_alloc_skb为什么要分配 (RxLen + 4) 呢?
               2:skb_reserve中的第二个参数:`2`是不是指某个协议头,是一个,还是二个?
               3: skb_put 又为什么只扩充数据区大小为 RxLen - 4 , 而不是 RxLen  ?


第二个之前已经说过了,是为了给IP协议头腾空间
但第一问和第三问还不清楚,dm9000和cs8900里的设置是不一样的(硬件本来就不一样)

希望有人能帮忙解析一下哦--------------------------------------------------------

论坛徽章:
0
6 [报告]
发表于 2011-11-23 21:12 |只看该作者
1:dev_alloc_skb为什么要分配 (RxLen + 4) 呢?

我觉得这块分配RxLen + 4 是可以的,但是经过计算应该是 RxLen + 2 更为精确

3: skb_put 又为什么只扩充数据区大小为 RxLen - 4 , 而不是 RxLen  ?

这个不是扩充,只是把 skb 的tail 向后偏移了 RxLen - 4 个字节。
为什么不是偏移RxLen 个,这是因为一个完整的网络裸数据(在网线传输的)最后4字节是校验和,所以要去掉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP