Current-Users archive

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

Re: point2point network interfaces cannot receive ipv6 packets



On 9 April 2015 at 12:10, Kengo NAKAHARA <k-nakahara%iij.ad.jp@localhost> wrote:
> 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...
>

Could you file a PR?

Justin


Home | Main Index | Thread Index | Old Index