|
IPv6 Frequently Asked Questions
General
- How do I create an IPv6 version of the tool?
- Which IPv6 stacks are supported?
- What does "IP_ADD_MEMBERSHIP: No such device" mean?
- Why does RAT say "Could not initialize Mbus: Is multicast
enabled?"
- Why does RAT/VIC complain: "setsockopt IP_ADD_MEMBERSHIP:
Can't assign requested address"
Windows
-
The MBone tools don't work on Windows
-
The MBone tools don't receive multicast ipv6 on Windows XP
-
Why do I get an abort message when I quit the tools when using Windows 2000?
-
I built the tools on Windows 2000 but they give a setsockopt error on startup, whats wrong?
General
-
How do I create an IPv6 version of the tool?
In some cases there are ipv6 binaries of the tools, but in general
you will need rebuild the tools from source (either from the source
provided, or from the
CVS
- for the latest versions).
UNIX: For each part of a package (the common library and
the actual tool, not tcl/tk) you will need to run. /configure --enable-ipv6
(For BSD Kame replace it with --enable-kame-ipv6) and then proceed
with the make.
WIN: Select the appropriate build configuration and build.
-
Which IPv6 stacks are supported?
The following IPv6 stacks are supported:
-
Microsoft IPv6 Implementation for XP/2003
- Microsoft IPv6 Technical Preview for Windows 2000*
- Microsoft Research
IPv6 Implementation (MSRIPv6) version4 for NT4
- Thomson CSF Musica Stack (not publicly available)
- IPv6 for Linux
- IPv6 for Solaris 8
- Kame Project for FreeBSD
*help on building the tools with Windows 2000 is contained elsewhere in this FAQ
-
What does "IP_ADD_MEMBERSHIP: No such device" mean?
It means that the tool is trying to use multicast but the network interface
doesn't support it There are two likely causes:
-
Why does RAT say "Could not initialize Mbus: Is
multicast enabled?"
See previous question.
-
Why does RAT/VIC complain: "setsockopt IP_ADD_MEMBERSHIP:
Can't assign requested address"
On machines with no IPv4 interface or no IPv4 multicast route the Mbus
fails to start. This is because the default mbus address is a multicast
IPv4 address: 224.255.222.239 port 47000. However it is simply cured by
editing the mbus init file in $HOME/.mbus and altering the following line
from: ADDRESS=224.255.222.239 to: ADDRESS=ff01::1 Restart the applications
and they will now use the node local scoped IPv6 address ff01::1 again
using the port 47000.
Windows
-
The MBone tools don't work on Windows
You should be able to ping your own host without using the whole address
name, ie
ping6 machinename
If you cannot, then make sure you're domain is set correctly by checking
that the following key in the registry is set:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\domain
You will also need your hostname in the DNS or in the host file (\windows\system32\drivers\etc\hosts): e.g. add a line
IPv6_address_of_host your.hostname.domain
You can obtain your ipv6 address using :
netsh interface ipv6 show address or
ipv6 -v if
It will generate a load of output - scroll back and locate the interface you
are using (e.g it may be "local area connection" if you're running native)
and put the global address associated with it in your hosts file.
-
The MBone tools can't recieve multicast IPv6 on Windows XP
1. You need to install Service Pack 1 (SP1).
2. Also note that if you've tested Microsoft's
threedegrees P2P ipv6 app (which
includes the Windows XP Peer-to-Peer Update (Q810007))- You will need to disable the
IPv6 Internet Connection Firewall that is installed default with Q810007. This
may be done on per port/protocol basis:
netsh firewall set adapter "Your_interface_name" port port#=enable protocol=udp
Where you replace Your_interface_name with the name of your adapter (see
previous question), and replace port# with the actual port number. If you want RTP and RTCP you you'll have issue two enable commands - one for the data port
and one for the RTCP port. A simpler approach is to totally disable the ICF on
the particular interface you're using:
netsh firewall set adapter "Your_interface_name" filtering=disable
-
Why do I get an abort message when I quit the tools when using Windows 2000?
The abort messages relates to the failure of the setsockopt function when applying the IPV6_DROP_MEMBERSHIP option to the socket. We have been unable to get this to work on Windows 2000. The offical Microsoft line is that the IPV6 options are not supported on Windows 2000. For more information see the following MSDN documentation:
Platform SDK: Windows Sockets 2 - Socket Options
-
I built the tools on Windows 2000 but they give a setsockopt error on startup, whats wrong?
The problem relates to the incorrect size of the ipv6_mreq structure, passed as the 3rd parameter in setsockopt(IPV6_ADD_MEMBERSHIP,...) . The header files distributed in the MSDN Technology Preview define ipv6_mreq so that it is 2 byte aligned, while wship6.dll and tcpip6.sys were compiled with header files that defined mreq_size as 8 byte aligned. This makes a difference in the size of ipv6_mreq because the 4 byte ipv6mr_interface field (u_int) is allocated 8 bytes and therefore the size of ipv6_mreq increases from 20 to 24 bytes. The problem can be fixed by forcing ipv6_mreq in tpipv6.h to 8 byte alignment. This problem is specific to Windows 2000 and is not evident in Windows XP.
|