Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am receiving IPTV (multicast) from my ISP (Deutsche Telekom) and it is already working without any issues for the main receiver which is directly connected to my dsl router (AVM Fritz!Box 7390).

Now, there is another receiver that can not be connect by ethernet wire. So, I've tried to create a wireless-wired-bridge with my notebook, which doesn't work, because bridges can only include eth interfaces or wireless interfaces in master mode.

------------  wireless   ----------  wired  ----------
|dsl router|  )))   (((  |notebook|  -----  |receiver|
------------             ----------         ----------
                      wlan0       eth0

Receiving multicast on my notebook via wireless interface wlan0 is working fine (signalled with igmpv2 !). When I add a virtual route to via eth0, the application (vlc media player) is trying to join multicast groups by signalling with igmpv3 (I am following traffic flows with wireshark). Can that be a problem for forwarding multicast packets later?

The second receiver is directly connected to my notebook. It doesn't matter, whether I realize this by native routing or by nat'ing the traffic going out on wlan0: Unicast is working fine, but multicast is not forwarded. DHCP server is running on notebook and routing directive to the new subnet is also added on the dsl router. I also tried adding multicast routes on the notebook ( via dev eth0 and/or via wlan0) but I did not have success.

The easiest solution would be getting some powerline adapter which support igmpv3 and multicasting, but I'd like to get this stuff working with the notebook as a router, because later this part should be played by a raspberry pi.

Is it possible to forward multicast packets on linux? Which rules are neccessary= Can I realize the eth bridge with managed wlan0 without compiling my own kernel version?

Thanks in advance Erik

share|improve this question
up vote 1 down vote accepted

I got a working solution for the environment mentioned above.

On the bridge notebook, which is connected to the internet via wlan0 ( and to the new subnet via eth0 (, I installed everything to make it work as a router. For that reason I added a static route in my dsl router to the new subnet via the laptop. If this is not possible, you can also apply a NAT rule on the bridge with iptables:

sudo iptables -t nat -A POSTROUTING -o wlan0 -s -j MASQUERADE

Afterwards, I downloaded igmpproxy from and installed it (install documentation is included in the README file). This little tool (recent version is 0.1) works with IGMPv1 and v2, so I forced the bridge to use v2 with:

sudo sh -c 'echo 2 > /proc/sys/net/ipv4/conf/wlan0/force_igmp_version'
sudo sh -c 'echo 2 > /proc/sys/net/ipv4/conf/eth0/force_igmp_version'

Now, you need to know the network of possible source ip addresses of the multicast streams. In my case the network is I created a config file with this content:

phyint eth0 downstream  ratelimit 0  threshold 1
phyint wlan0 upstream ratelimit 0 threshold 1
  altnet # for local services
  altnet    # for multicast video streams

igmpproxy can be started using:

sudo igmpproxy -d -vv <config_file_name>

I hope, you can understand everything I was writing about. Enjoy it.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.