Hi,
On 2015/04/03 16:14, Takahiro HAYASHI wrote:
It seems that IFF_POINTTOPOINT interfaces like tun and gif cannot
receive ipv6 packets.
This occurs on NetBSD/amd64 -current since Feb 27 2015.
For example, establishing gif tunnnel between 2 hosts.
[host1] <---> [host2]
192.168.0.1 192.168.0.2 ipv4 address of real interface
fd00::1 fd00::2 gif address
When I ping6, a host can send ICMPv6 ECHO(128), but the other host
returns ICMPv6 DST_UNREACH(1) code UNREACH_ADDR(3) to pinging host.
I think the reason of this issue is below commit:
http://www.nerv.org/netbsd/?q=id:20150226T095446Z.75354d997222ae09acc944ba1c6cf573c3ea724b
This commit changes the route entry for gif as describe below
========== before ==========
Internet6:
Destination Gateway Flags Refs Use Mtu Interface
fd00::2 link#13 UHL 0 0 - lo0
========== before ==========
========== after ==========
Internet6:
Destination Gateway Flags Refs Use Mtu Interface
fd00::2 fd00::2 UH - - - gif0
========== after ==========
This route change caused the function flow change in ip6_input(), in
paticular the below line
http://nxr.netbsd.org/xref/src/sys/netinet6/ip6_input.c#497
After above commit, this statement become false, and then, the packets
is discarded through line#565.
I found the above reason, however I have no idea to fix this issue...