免费注册 查看新帖 |

Chinaunix

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

DMA操作没有成功???? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-05 21:42 |只看该作者 |倒序浏览
最近在做零拷贝,A->B->C,  A机 ping C机,B是零拷贝平台,测试发现A机的ARP包到达了C机,C机回应ARP包B机没有收到,打印了DMA解除映射前缓冲区中的数据发现没有回应包的数据,可以确定的是ARP回应包确实发出了,就是不明白网卡为什么没收到数据?
求指点啊!!!!!!  
PS:B是零拷贝平台,一进一出用到了两块网卡,网线对调也是如此,只能单向通信!!!!!

论坛徽章:
0
2 [报告]
发表于 2013-05-05 22:30 |只看该作者
数据包凭空从网线上消失了?明显不可能嘛
所以 要么数据包没有发送出来(不知lz是如何判断ARP回应包确实发出了的?),要么数据包到达了B网卡(不知lz是如何判断网卡为什么没收到数据的?)
继续确认一下吧。

论坛徽章:
0
3 [报告]
发表于 2013-05-05 22:43 |只看该作者
lenky0401 发表于 2013-05-05 22:30
数据包凭空从网线上消失了?明显不可能嘛
所以 要么数据包没有发送出来(不知lz是如何判断ARP回应包确实发 ...



测试过,用集线器中转了下,抓到了C机发出的ARP回应包,所以ARP回应包确实是发出来了,
数据到达B机网卡FIFO后,DMA映射到环形缓冲区中,在解除映射之前打印了缓冲区中的数据,没有发现ARP回应包,(两块网卡都打印了的,只有A机发的ARP请求包)......

论坛徽章:
0
4 [报告]
发表于 2013-05-05 22:53 |只看该作者
如果用A机和C机同时去pingB机,B机的两块网卡驱动的DMA缓冲区中只有一块可以打印出数据来,另一块始终是0,。。。。。。

论坛徽章:
16
CU十二周年纪念徽章
日期:2013-10-24 15:41:3415-16赛季CBA联赛之广东
日期:2015-12-23 21:21:55青铜圣斗士
日期:2015-12-05 10:35:30黄金圣斗士
日期:2015-11-26 20:42:16神斗士
日期:2015-11-19 12:47:50每日论坛发贴之星
日期:2015-11-18 06:20:00程序设计版块每日发帖之星
日期:2015-11-18 06:20:002015亚冠之城南
日期:2015-11-10 19:10:492015亚冠之萨济拖拉机
日期:2015-10-28 18:47:282015亚冠之柏太阳神
日期:2015-08-30 17:21:492015亚冠之山东鲁能
日期:2015-07-07 18:48:39摩羯座
日期:2014-08-29 23:01:42
5 [报告]
发表于 2013-06-14 12:59 |只看该作者
回复 1# free_2006


    在dma发送数据包的时候,这时候想看发送数据包的内容,,加打印怎么打印啊,,??打印的地址是不是要进行转换后才能啊。。望指导
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP