DMA操作没有成功????
最近在做零拷贝,A->B->C,A机 ping C机,B是零拷贝平台,测试发现A机的ARP包到达了C机,C机回应ARP包B机没有收到,打印了DMA解除映射前缓冲区中的数据发现没有回应包的数据,可以确定的是ARP回应包确实发出了,就是不明白网卡为什么没收到数据?求指点啊!!!!!!
PS:B是零拷贝平台,一进一出用到了两块网卡,网线对调也是如此,只能单向通信!!!!! 数据包凭空从网线上消失了?明显不可能嘛
所以 要么数据包没有发送出来(不知lz是如何判断ARP回应包确实发出了的?),要么数据包到达了B网卡(不知lz是如何判断网卡为什么没收到数据的?)
继续确认一下吧。 lenky0401 发表于 2013-05-05 22:30 static/image/common/back.gif
数据包凭空从网线上消失了?明显不可能嘛
所以 要么数据包没有发送出来(不知lz是如何判断ARP回应包确实发 ...
测试过,用集线器中转了下,抓到了C机发出的ARP回应包,所以ARP回应包确实是发出来了,
数据到达B机网卡FIFO后,DMA映射到环形缓冲区中,在解除映射之前打印了缓冲区中的数据,没有发现ARP回应包,(两块网卡都打印了的,只有A机发的ARP请求包)...... 如果用A机和C机同时去pingB机,B机的两块网卡驱动的DMA缓冲区中只有一块可以打印出数据来,另一块始终是0,。。。。。。 回复 1# free_2006
在dma发送数据包的时候,这时候想看发送数据包的内容,,加打印怎么打印啊,,??打印的地址是不是要进行转换后才能啊。。望指导
页:
[1]