[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