How do I enable multicast routing in Windows XP

Simon Richter asked:

I have successfully set up a Windows XP machine as an IPv6 router using netsh, that is, it announces prefixes and forwards packets on two interfaces, as verified by pinging.

Now I’d like to forward multicast frames between both subnets; hosts on both sides are properly sending out multicast listener reports, so all it would take would be for the router to process these and start forwarding datagrams.

How can I enable IPv6 multicast routing between two interfaces?

My answer:

To merely forward IPv6 multicast packets, you need to have Windows Vista/Server 2008 or later. Windows XP does not support this at all. (XP’s IPv6 stack was very limited and is not recommended for production use.)

With the proper OS, you would enable IPv6 multicast forwarding with:

netsh interface ipv6 set global multicastforwarding=enable

or in PowerShell:

Set-NetIPv6Protocol -MulticastForwarding=Enabled

At this time, however, no version of Windows is capable of acting as a full IPv6 multicast router:

However, at the time of the publication of this book, there is no mechanism to update the IPv6 multicast forwarding table. Entries in the IPv6 multicast forwarding table allow the IPv6 protocol to determine how to forward incoming IPv6 multicast traffic. An IGMP routing protocol component for the Windows Server 2012, Windows Server 2008 R2, and Windows Server 2008 Routing and Remote Access service allows a computer to act as an IPv4-based multicast forwarding router. There is no corresponding routing protocol component for MLD that allows a Windows Server 2012, Windows Server 2008 R2, or Windows Server 2008–based computer to act as an IPv6-based multicast forwarding router.

This information taken from Understanding IPv6, Third Edition, pages 201-202.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.