IPv6 Multicast with mrd6?

after I managed to get multicast to work in IPv4 with your help, I wanted to know how it would work with IPv6. I found an updated Version on how to set this up in IPv4 but I can't find anything on IPv6. I installed mrd6 package and I wanted to know how to configure it correctly and whatelse I may need to get it to work.

Hi @mickey84 I think we need to understand what you mean by "how it would work". Multicast packets are already in use on your network for things like router advertisements and etc, so they already work in the sense that devices can send them and other devices on your lan can receive them, of that I'm quite sure.

I think instead you mean something like how to route multicast packets from one network to another, and for this purpose I think we need to understand what you are trying to do in more depth. Is there an IPTV stream or some security cameras, or a stock ticker feed or some kind of thing that you're trying to distribute around several networks?


I'm referring to this Thread 2 weeks ago. Config igmpproxy to allow multicast udp from WAN to LAN

Its exactly the same setup, I just need it in IPv6 . So I was wondering if I have to do exactly like I did described in that Thread with some minor firewall changes or is it a completely different setup in IPv6 ? I also think it wont work with IGMProxy this time and I have to use mrd6 right ?

In that thread, the sysctrl was manipulated to allow forwarding of multicast.

I think you misunderstood the solution presented in that thread.

So, you should be able to do the same for IPv6.

What do you mean by misunderstood ?

I just told you:

yes it was manipulated to allow UDP multicast traffic from WAN to LAN.
but there where lots of other configs that had to be done too.
It just sounded like somethings wrong with that. So its the same setup for IPv6 ?

No, it wasn't.

root@OpenWrt:~# cat /proc/sys/net/ipv6/conf/all/mc_forwarding 
  • Just change that to 1 and see.
  • Don't forget to open the [IPv6] firewall.

You do need to enable multicast ipv6 forwarding (I don't know if mrd6 does this)

echo 1 > /proc/sys/net/ipv6/conf/all/mc_forwarding

Yes I think igmpproxy is only ipv4 it doesn't do ipv6 MLD stuff as far as I know.

I think the good news is this: ipv6 multicast is in some sense simpler and works better overall.

Can you describe your specific scenario and what you've tried already? For example

"On my WAN there is a multicast IPTV service that is offered and I can subscribe to channel feeds on ff02::abcd:1234 etc... so I've installed mrd6 and enabled multicast forwarding (as above) and I have a device on my lan trying to subscribe to that feed, but nothing happens"

Or whatever.

1 Like

`vi /etc/config/igmpproxy

config igmpproxy
option quickleave 1
option verbose 2
config phyint
option network wan
option direction upstream
list altnet

config phyint
option network lan
option direction downstream

vi /etc/config/firewall

config rule
option src wan
option proto igmp
option target ACCEPT
config rule
option src wan
option proto udp
option dest lan
option dest_ip
option target ACCEPT
option family ipv4

vi /etc/sysctl.conf

net.ipv4.conf.all.mc_forwarding = 1
net.ipv6.conf.all.mc_forwarding = 1

vi /etc/firewall.user

iptables -t mangle -A PREROUTING -i eth0 -d -p udp -j TTL --ttl-set 2`

and what about these things ? there useless actually ?

I see you've already set the sysctl so that's good.

You will need ipv6 firewall traffic rules to forward specific multicast addresses from WAN to LAN. And, you might need the TTL adjustment, which is slightly different in ipv6 if I remember correctly.

I want to send an IPv6 Multicast Stream from VLC to a managed Switch. The Switch acts as a querier. From the Switch to the WAN port of my Router. And I want to receive that stream from my other PC connected to the LAN port on that router. It's all local, no internet connected.

1 Like

Great, what multicast address are you broadcasting on from VLC? I suggest for testing ff08::abc:123 as this is an "organization local scope" address that isn't reserved.

  • Please read the full thread, as I am aware of the work we put in to assist you
  • Perhaps your misunderstanding is why there's an issue with IPv6
  • Since you are unclear, I'll reiterate that the only fix to your problem in the previous thread was to:
    • reset the router to default settings
    • and enabling mc_forward for IPv4

Now, I advise you fix the IPv6 firewall as @dlakelan suggested also. It seems you enabled MC forwarding for IPv6. :+1:

Then do exactly as you did with IPv4.

Does igmpproxy already route ipv6 multicast? If not, then there may be mrd6 configs he needs, I think this is the question, how to config mrd6. For the moment, I'd just like him to get the VLC broadcasting on ff08::abc:123 and have his LAN try to listen for it. Also add firewall rules to forward everything from WAN to LAN coming from ff::/8 (this is for testing and since you're not connected to the internet, you'd want a more restrictive rule if you are on the internet)


I'll try again, all we did in the previous thread was to:

The OP should try that first. The VLC player doesn't do subscriptions, there is no PIM!

OK I'll try that immediatelly. Sorry I misunderstood the previous thread. It seemed I had to do all these changes to get it to work. It's sounds strange to me that I didn't have to change the IGMProxy settings etc.

igmpproxy listens to IGMP responses arriving on LAN and then mirrors them to the WAN and installs routes in the routing table to enable routing the UDP from WAN to LAN.

Does it do this also for ipv6 MLD? If not then in fact mrd6 will be needed.

Yes, firewall and routes are needed, we noted this:

Then make a static IPv6 route.

(that's all that software did for the OP without a PIM :wink:)

I believe that to be so, which is why I think the OP should enable mc_forward first, since there is no PIM anyway.

Yes, true, it just set up a route to route everything from one side to another... But it also mirrored the IGMP responses from LAN to WAN so that the WAN side switch/querier/PIM etc would know to open up the floodgates.

Let's see what happens! @mickey84 start by enabling a static route for all of ff::/8 from WAN to LAN, and enable firewall to forward UDP destined to ff::/8 WAN to LAN allow. Then with igmpproxy running and mrd6 NOT running, try to start your VLC broadcast and then try to subscribe from LAN.

(we saw you already enabled mc_forwarding for ipv6 in sysctl.conf so make sure that is getting set)

1 Like