• Gergely Risko's avatar
    ipv6: fix reachability confirmation with proxy_ndp · 9f535c87
    Gergely Risko authored
    When proxying IPv6 NDP requests, the adverts to the initial multicast
    solicits are correct and working.  On the other hand, when later a
    reachability confirmation is requested (on unicast), no reply is sent.
    
    This causes the neighbor entry expiring on the sending node, which is
    mostly a non-issue, as a new multicast request is sent.  There are
    routers, where the multicast requests are intentionally delayed, and in
    these environments the current implementation causes periodic packet
    loss for the proxied endpoints.
    
    The root cause is the erroneous decrease of the hop limit, as this
    is checked in ndisc.c and no answer is generated when it's 254 instead
    of the correct 255.
    
    Cc: stable@vger.kernel.org
    Fixes: 46c7655f ("ipv6: decrease hop limit counter in ip6_forward()")
    Signed-off-by: default avatarGergely Risko <gergely.risko@gmail.com>
    Tested-by: default avatarGergely Risko <gergely.risko@gmail.com>
    Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9f535c87
ip6_output.c 53.1 KB