free_2006 发表于 2013-05-05 21:42

DMA操作没有成功????

最近在做零拷贝,A->B->C,A机 ping C机,B是零拷贝平台,测试发现A机的ARP包到达了C机,C机回应ARP包B机没有收到,打印了DMA解除映射前缓冲区中的数据发现没有回应包的数据,可以确定的是ARP回应包确实发出了,就是不明白网卡为什么没收到数据?
求指点啊!!!!!!
PS:B是零拷贝平台,一进一出用到了两块网卡,网线对调也是如此,只能单向通信!!!!!

lenky0401 发表于 2013-05-05 22:30

数据包凭空从网线上消失了?明显不可能嘛
所以 要么数据包没有发送出来(不知lz是如何判断ARP回应包确实发出了的?),要么数据包到达了B网卡(不知lz是如何判断网卡为什么没收到数据的?)
继续确认一下吧。

free_2006 发表于 2013-05-05 22:43

lenky0401 发表于 2013-05-05 22:30 static/image/common/back.gif
数据包凭空从网线上消失了?明显不可能嘛
所以 要么数据包没有发送出来(不知lz是如何判断ARP回应包确实发 ...


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

free_2006 发表于 2013-05-05 22:53

如果用A机和C机同时去pingB机,B机的两块网卡驱动的DMA缓冲区中只有一块可以打印出数据来,另一块始终是0,。。。。。。

tc1989tc 发表于 2013-06-14 12:59

回复 1# free_2006


    在dma发送数据包的时候,这时候想看发送数据包的内容,,加打印怎么打印啊,,??打印的地址是不是要进行转换后才能啊。。望指导
页: [1]
查看完整版本: DMA操作没有成功????