All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Ahern <dsahern@gmail.com>
To: Stephen Suryaputra <ssuryaextr@gmail.com>, netdev@vger.kernel.org
Subject: Re: [PATCH net,v3] vrf: Use orig netdev to count Ip6InNoRoutes and a fresh route lookup when sending dest unreach
Date: Sat, 27 Apr 2019 11:27:49 -0600	[thread overview]
Message-ID: <a375079a-b980-beec-39a3-6f0f5ccea1b1@gmail.com> (raw)
In-Reply-To: <20190427131433.4082-1-ssuryaextr@gmail.com>

On 4/27/19 7:14 AM, Stephen Suryaputra wrote:
> When there is no route to an IPv6 dest addr, skb_dst(skb) points
> to loopback dev in the case of that the IP6CB(skb)->iif is
> enslaved to a vrf. This causes Ip6InNoRoutes to be incremented on the
> loopback dev. This also causes the lookup to fail on icmpv6_send() and
> the dest unreachable to not sent and Ip6OutNoRoutes gets incremented on
> the loopback dev.
> 
> To reproduce:
> * Gateway configuration:
>         ip link add dev vrf_258 type vrf table 258
>         ip link set dev enp0s9 master vrf_258
>         ip addr add 66:1/64 dev enp0s9
>         ip -6 route add unreachable default metric 8192 table 258
>         sysctl -w net.ipv6.conf.all.forwarding=1
>         sysctl -w net.ipv6.conf.enp0s9.forwarding=1
> * Sender configuration:
>         ip addr add 66::2/64 dev enp0s9
>         ip -6 route add default via 66::1
> and ping 67::1 for example from the sender.
> 
> Fix this by counting on the original netdev and reset the skb dst to
> force a fresh lookup.
> 
> v2: Fix typo of destination address in the repro steps.
> v3: Simplify the loopback check (per David Ahern) and use reverse
>     Christmas tree format (per David Miller).
> 
> Signed-off-by: Stephen Suryaputra <ssuryaextr@gmail.com>
> Reviewed-by: David Ahern <dsahern@gmail.com>
> Tested-by: David Ahern <dsahern@gmail.com>
> ---
>  net/ipv6/route.c | 23 +++++++++++++++++------
>  1 file changed, 17 insertions(+), 6 deletions(-)
> 

Reviewed-by: David Ahern <dsahern@gmail.com>



  reply	other threads:[~2019-04-27 17:27 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-27 13:14 [PATCH net,v3] vrf: Use orig netdev to count Ip6InNoRoutes and a fresh route lookup when sending dest unreach Stephen Suryaputra
2019-04-27 17:27 ` David Ahern [this message]
2019-04-30  3:29 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a375079a-b980-beec-39a3-6f0f5ccea1b1@gmail.com \
    --to=dsahern@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=ssuryaextr@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.