[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(usagi-users 02729) Multicast IPv6 over (proto-41/sit) tunnels



-----BEGIN PGP SIGNED MESSAGE-----

Hi (and merry new year :),

Like last year I was doing my multicast playing around thingy again.
Fortunatly I now have a working mp3 multicasting setup using a homebrew
mp3 caster and FreeAmp (from http://www.ipv6.polito.it/multimedia/freeamp-v6.htm)
which works like a charm, except for the fact that title streaming doesn't
work, but I'll look into that later as that isn't that important, guessing
which song is playing is much more fun ;)

The problem still though is that only the local ethernet can listen
to the multicast stream and nothing else.

Enter ecmh (Easy Cast du Multi Hub), don't mind the name, it is a user
space application that maintains a list of joined groups on each interface
and forwards packets to the interfaces that requested them, aka who have
joined the groups, thus basically making it into a multicast hub, though
switch would be more correct as it doesn't send it to all interfaces but
only to the ones that requested it.

Between ethernet's (eth0->eth1) it works great fortunatly, but I can't
seem to get it to work over proto41 tunnels, even normallly sending
multicast packets over IPv6 UDP doesn't work over proto41 tunnels (sit).

purgatory:~# tcpdump -n -i sixxs
tcpdump: WARNING: sixxs: no IPv4 address assigned
tcpdump: listening on sixxs
01:52:40.224716 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061
01:52:40.275499 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061
01:52:40.324136 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061
01:52:40.374134 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061
01:52:40.434258 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1060
01:52:40.484585 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061
01:52:40.534229 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061
01:52:40.584084 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061
01:52:40.634084 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061
01:52:40.694109 3ffe:8114:2000:240:290:27ff:fe24:bbab.1066 > ff08::4.1500: udp 1061

As you can see libpcap captures it perfectly, but it never gets sent over the
proto41 tunnel, the otherside sees nothing and even tcpdumping the underlying
eth0 reveals that zilch is sent over the wire. The config on a 2.4.23 vanilla:

root@purgatory:~# ip tunnel show sixxs
sixxs: ipv6/ip  remote 212.19.192.219  local 195.64.92.136  ttl 64
root@purgatory:~# ip link show sixxs
7: sixxs@NONE: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1280 qdisc noqueue
    link/sit 195.64.92.136 peer 212.19.192.219

As you can see, the MULTICAST is there, because I manually did a
"ifconfig sixxs MULTICAST" unfortunatly to no avail as it still doesn't
do any multicasting whatsoever.

Is this because of the POINTTOPOINT flag? Or is there other code
preventing multicast packets and thus to be silently dropped?
ip6tables is empty btw.

As for the 'why do you want that?' question: think of tunnelbrokers with
multicast IPv6 tunneling support and watching NASA TV over that tunnel.
A PIM-SM implementation for this would be nice too btw, but this doesn't
cost any user setup/intervention and effectivly does the same, only easier
and without kernel support. Another advantage of the above application
is that it doesn't have any problem supporting a large number of interfaces.
If you ever tried to check, BSD needs a full user+kernel space recompile
when exceeding the default hard-builtin interface limit for multicast devices.

Greets,
 Jeroen

-----BEGIN PGP SIGNATURE-----
Version: Unfix PGP for Outlook Alpha 13 Int.
Comment: Jeroen Massar / http://unfix.org/~jeroen

iQA/AwUBP/eA5ymqKFIzPnwjEQK4gACgirbOsxIhX+ax4VK/UIN4+UWVb7cAoKFm
+0CbWH/JVCFfFsMOv6/tgVww
=iWfS
-----END PGP SIGNATURE-----