All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timo Teras <timo.teras@iki.fi>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH RFC] net/ipv4: Use next hop exceptions also for input routes
Date: Sun, 26 May 2013 12:41:33 +0300	[thread overview]
Message-ID: <20130526124133.129d8da6@vostro> (raw)
In-Reply-To: <20130526.000304.483513823383996098.davem@davemloft.net>

On Sun, 26 May 2013 00:03:04 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> From: Timo Teräs <timo.teras@iki.fi>
> Date: Thu, 23 May 2013 16:15:46 +0300
> 
> > Commit d2d68ba9 (ipv4: Cache input routes in fib_info nexthops)
> > assmued that "locally destined, and routed packets, never trigger
> > PMTU events or redirects that will be processed by us".
> > 
> > However, it seems that tunnel devices do trigger PMTU events in
> > certain cases. At least ip_gre, ip6_gre, sit, and ipip do use the
> > inner flow's skb_dst(skb)->ops->update_pmtu to propage mtu
> > information from the outer flows. These can cause the inner flow
> > mtu to be decreased. If next hop exceptions are not consulted for
> > pmtu, IP fragmentation will not be done properly for these routes.
> > 
> > It also seems that we really need to have the PMTU information
> > always for netfilter TCPMSS' clamp-to-pmtu feature to work properly.
> > 
> > So for the time being, cache separate copies of input routes for
> > each next hop exception.
> > 
> > Signed-off-by: Timo Teräs <timo.teras@iki.fi>
> 
> Thanks for working on this Timo, I am actively reviewing this change
> and thinking about alternatives.

Thanks, I did notice one problems in further testing.

The symptom is that once learned pmtu expires, it is not refreshed by
fragments. This seems to be a dst caching issue. Fundamentally it seems
to be same problem that commit 05ab86c5 (xfrm4: Invalidate all ipv4
routes on IPsec pmtu events) tried to fix by flushing everything.

This some problem now happens with ip_gre bound inner flows as the pmtu
is locally generated and not received from internet to the esp/ah
packets. I believe the flush all approach is not necessary and we can
do better.

I basically have new patch set pending testing. I'll post the new patch
set sometime in next few days.

      reply	other threads:[~2013-05-26  9:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-23 13:15 [PATCH RFC] net/ipv4: Use next hop exceptions also for input routes Timo Teräs
2013-05-26  7:03 ` David Miller
2013-05-26  9:41   ` Timo Teras [this message]

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=20130526124133.129d8da6@vostro \
    --to=timo.teras@iki.fi \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /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.