netif_rx(skb)成功,但无法收到数据包是怎么回事呀
时间:2011-12-06
来源:互联网
我用dummy做为模板,想在里面实现接收功能,就是类似loopback,接到网络层的数据包后,原封不动的把这个数据包返回给网络层,具体的实现代码如下:
环境:VMware+ubuntu_2.6.32.46
C/C++ code
然后用UDP来测试,先指定一条路由,即发往192.168.155.155地址的包要经过设备dummy0,
然后udp_client就把包发往192.168.155.155,
udp_server的地址设为INADDR_ANY.
现在的问题的,netif_rx(skb)返回值表示发送成功,但udp_server接收不到数据.
我不知道问题出在哪了,是我在发包的时候有些值没设置好,还是用UDP这种测试方法根据就不对呢,麻烦各位高手指点一下,谢谢!
环境:VMware+ubuntu_2.6.32.46
C/C++ code
static netdev_tx_t dummy_xmit(struct sk_buff *skb, struct net_device *dev) { skb_orphan(skb); skb->protocol = eth_type_trans(skb, dev); if (likely(netif_rx(skb) == NET_RX_SUCCESS)) { dev->stats.tx_packets++; dev->stats.tx_bytes += skb->len; } else dev->stats.tx_dropped++; return NETDEV_TX_OK; }
然后用UDP来测试,先指定一条路由,即发往192.168.155.155地址的包要经过设备dummy0,
然后udp_client就把包发往192.168.155.155,
udp_server的地址设为INADDR_ANY.
现在的问题的,netif_rx(skb)返回值表示发送成功,但udp_server接收不到数据.
我不知道问题出在哪了,是我在发包的时候有些值没设置好,还是用UDP这种测试方法根据就不对呢,麻烦各位高手指点一下,谢谢!
作者: llhktv1986 发布时间: 2011-12-06
我觉得还是路由的问题,netif_rx之后肯定是 上到协议栈。
但loopback的来源和目的ip 都是127.0.0.1 和 loopback device的ip都是127.0.0.1,你的 这个虚拟device 的ip也要设置成192.168.155.155 才行,这样才上的来,你可以看人家 127.0.0.0 的路由设置。
楼主孜孜不倦研究内核网络啊,又被我看到了,呵呵
但loopback的来源和目的ip 都是127.0.0.1 和 loopback device的ip都是127.0.0.1,你的 这个虚拟device 的ip也要设置成192.168.155.155 才行,这样才上的来,你可以看人家 127.0.0.0 的路由设置。
楼主孜孜不倦研究内核网络啊,又被我看到了,呵呵
作者: lvyinghong 发布时间: 2011-12-06
呵呵,每次都要麻烦你,谢谢啊!
我路由的设置是这样的:
先把设备启动,并设置他的地址为192.168.4.1,然后设备一条路由经过该设备
JScript code
JScript code
以下是我路由的配置:

不知道这样设置对不对???
然后你说的,把"这个虚拟device 的ip也要设置成192.168.155.155",我也试过,就是ping得通,udp也能发送成功,但是那些包根本没经过我的dummy_xmit函数,就好像没有经过我的设备一样.
我路由的设置是这样的:
先把设备启动,并设置他的地址为192.168.4.1,然后设备一条路由经过该设备
JScript code
ifconfig dummy0 192.168.4.1 netmask 255.255.255.0 up
JScript code
route add 192.168.155.155 dev dummy0
以下是我路由的配置:

不知道这样设置对不对???
然后你说的,把"这个虚拟device 的ip也要设置成192.168.155.155",我也试过,就是ping得通,udp也能发送成功,但是那些包根本没经过我的dummy_xmit函数,就好像没有经过我的设备一样.
作者: llhktv1986 发布时间: 2011-12-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28