[linux-dvb] Routing multicast - broken linuxtv networking?
Julian Somers
lists at bigpip.com
Wed Jul 13 18:40:38 CEST 2005
On Wed, Jul 13, 2005 at 03:06:55PM +0000, stonewall at inebraska.com wrote:
> I am attempting to solve a problem that has began to plague me since kernel
> version 2.6.11.
>
> I have a single DVB-S PCI card. I receive six PIDs via that card for news
> streaming (I'm a news junky). The problem is that the multicast streams on
> each of the six PIDs come from the same address - 10.230.17.5.
>
> When I configure the dvb0_? devices, I had been using 10.230.17.20-25 up
> through kernel 2.6.11. All worked fine - I was able to connect to the six
> multicasts and see all six PIDs.
>
> Starting with 2.6.11, though, the routing table had become much tighter, and
> it would then only stream through the first device I configured for that
> subnet. I can tcpdump all the devices and see the stream packets - but I
> cannot "read" or forward on any except the first I configure for that subnet.
>
> I initially tried:
>
> route add -net 224.0.6.10 netmask 255.255.255.255 dvb0_0
> route add -net 224.0.6.11 netmask 255.255.255.255 dvb0_1
> route add -net 224.0.6.12 netmask 255.255.255.255 dvb0_2
> route add -net 224.0.6.13 netmask 255.255.255.255 dvb0_3
> route add -net 224.0.6.14 netmask 255.255.255.255 dvb0_4
> route add -net 224.0.6.15 netmask 255.255.255.255 dvb0_5
>
> This did not help - I still could only see the first device configured for the
> subnet. I configured each device for a completely different subnet - each,
> and then attempted to route - still failure.
>
> I have read, unfortunately, that multicast cannot be routed. Or at least with
> the traditional methods.
SMCRoute might provide a workaround: it can make static routes for
multicast streams without IGMP. I think you can define source as well as
destination interfaces. http://www.cschill.de/smcroute/
Julian
>
> So then I bridged all the devices together:
>
> brctl addbr br0
> brctl stp br0 off
> brctl addif br0 dvb0_0
> brctl addif br0 dvb0_1
> brctl addif br0 dvb0_2
> brctl addif br0 dvb0_3
> brctl addif br0 dvb0_4
> brctl addif br0 dvb0_5
> ifconfig dvb0_0 0.0.0.0 up
> ifconfig dvb0_1 0.0.0.0 up
> ifconfig dvb0_2 0.0.0.0 up
> ifconfig dvb0_3 0.0.0.0 up
> ifconfig dvb0_4 0.0.0.0 up
> ifconfig dvb0_5 0.0.0.0 up
> ifconfig br0 10.230.17.20
>
> And this worked through kernel version 2.6.11.11. But, I use the skystar2
> card, and until 2.6.12.2, it's flaky. Under 2.6.12.2, the new b2c2_flexcop
> driver seems to work grand - but now bridging no longer works. I can bridge
> without errors, but now no data flows from any of the PIDs.
>
> I corresponded briefly with the kernel bridge maintainer, and from the initial
> conversation, I used macchanger to change the mac address for each dvb0_?
> device so that each was unique within my system. Still no go. The final
> statement from the bridge module maintainer is that the networking device
> from linuxtv-dvb must be broke.
>
> All I want to do is be able to stream all six PIDs and see them (outside of
> tcpdump).
>
> Final notes - multicast is compiled into the kernel, and ifconfig shows
> MULTICAST on the devices.
>
> Any ideas?
>
> Stonewall
>
> _______________________________________________
> linux-dvb mailing list
> linux-dvb at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
More information about the linux-dvb
mailing list