By multicast, I mean for example ff02::1 $ ping6 ff02::1%gre1 connect: Network is unreachable More information: $ uname -a Linux ... 4.1.0-2-amd64 #1 SMP Debian 4.1.5-1 (2015-08-15) x86_64 GNU/Linux # (but it also fails with any older kernel I tried) $ ip tunnel add gre1 mode gre local a.b.c.d remote e.f.g.h ttl 63 $ ip link set gre1 up $ ip -6 addr show dev gre1 18: gre1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 inet6 fe80::200:5efe:5e17:c50f/64 scope link valid_lft forever preferred_lft forever # unicast works: $ ping6 -c 1 fe80::200:5efe:5138:7b28%gre1 PING fe80::200:5efe:5138:7b28%gre1(fe80::200:5efe:5138:7b28) 56 data bytes 64 bytes from fe80::200:5efe:5138:7b28: icmp_seq=1 ttl=64 time=40.4 ms --- fe80::200:5efe:5138:7b28%gre1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 40.479/40.479/40.479/0.000 ms I found a workaround: $ ip -6 route add ff00::/8 dev gre1 $ ping6 ff02::1%gre1 PING ff02::1%gre1(ff02::1) 56 data bytes 64 bytes from fe80::200:5efe:5e17:c50f: icmp_seq=1 ttl=64 time=0.134 ms 64 bytes from fe80::200:5efe:5138:7b28: icmp_seq=1 ttl=64 time=40.6 ms (DUP!) ^C --- ff02::1%gre1 ping statistics --- 1 packets transmitted, 1 received, +1 duplicates, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.134/20.384/40.635/20.251 ms But it only works once: $ ip -6 route add ff00::/8 dev gre2 RTNETLINK answers: File exists Expected results: - there should be no need to add a ff00::/8 for ff02::1 to ping - it should be possible to have several GRE tunnels with working multicast
Patch accepted: https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=d9e4ce65b27694b0b70ff4d1cbbb740195fd916b
Great. I tried the patch on 4.2.3 and 3.16.7-ckt17 and it worked.