[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140403121410.GC13354@order.stressinduktion.org>
Date: Thu, 3 Apr 2014 14:14:10 +0200
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
To: "Ilya V. Matveychikov" <i.matveychikov@...uritycode.ru>
Cc: netdev@...r.kernel.org
Subject: Re: question: update_pmtu doesn't update dst mtu
On Thu, Apr 03, 2014 at 04:07:21PM +0400, Ilya V. Matveychikov wrote:
> On 03.04.2014 15:58, Hannes Frederic Sowa wrote:
> > On Thu, Apr 03, 2014 at 03:37:33PM +0400, Ilya V. Matveychikov wrote:
> >> Looking through the code gives me that rt_pmtu is always 0 for the skb->dst
> >> entry and ipv4_mtu that called via the dst->ops->mtu() uses dev->mtu :(
> >
> > At this point you have to drop skb_dst and have to relookup the route. During
> > that a new dst will be created which gets the mtu value from the next hop
> > exception, which got created by update_pmtu.
> >
> > Normally routes are checked with dst_check if they are still valid
> > and a relookup should happen. In your example just do the relookup
> > unconditionally.
> >
>
> Does it mean that the next packet must have an updated route without any
> problems? I meant that if the first packet xmitting leads to updating the route
> PMTU via the exception creating (or updating) so the next packets must have an
> updated route? Am I right?
In case the next packet causes a lookup in the routing table, yes. Or
if it does cache the routing lookup in some structure and checks the
route with dst_check and conditionally does a relookup (which kernel
implementation should already do) then you should also get the updated
mtu value.
Bye,
Hannes
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists