可以发送但不能接收组播数据包

时间:2013-08-05 09:51:13

标签: linux ip multicast

我正在尝试使用多播将多个UDP数据报发送到嵌入式Linux单元。设备上的内核版本是:

/ # uname -r
2.6.24.6

出于测试目的我正在使用找到的代码here(添加了几个标头并更改了ip地址以匹配设备的IP地址)

问题是同一组播组(Windows PC)中的其他设备能够接收数据而设备不能接收数据。我在某地读过必须修改rp_filter的值。我尝试了所有选项,但无济于事。

我可以毫无问题地将设备作为服务器运行。但它根本没有收到。

请注意,netstat -g不起作用。

/ # netstat -g
netstat: invalid option -- g
BusyBox v1.11.2 () multi-call binary

Usage: netstat [-laentuwxr]

Display networking information

Options:
        -l      Display listening server sockets
        -a      Display all sockets (default: connected)
        -e      Display other/more information
        -n      Don't resolve names
        -t      Tcp sockets
        -u      Udp sockets
        -w      Raw sockets
        -x      Unix sockets
        -r      Display routing table

因此我无法查看群组成员资格。

P.S:我在linux PC上运行了相同的程序(来自上面的链接的代码)并且它正常工作。所以代码不是问题。

1 个答案:

答案 0 :(得分:1)

解决了它。搞乱了我能在系统上找到的所有内容后,我通过在混杂模式下运行eth0来实现它

ifconfig eth0 promisc