From: "Ilya V. Matveychikov" <i.matveychikov@securitycode.ru>
To: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: <netdev@vger.kernel.org>
Subject: Re: question: update_pmtu doesn't update dst mtu
Date: Thu, 3 Apr 2014 16:27:04 +0400 [thread overview]
Message-ID: <533D5398.7080209@securitycode.ru> (raw)
In-Reply-To: <20140403121410.GC13354@order.stressinduktion.org>
On 03.04.2014 16:14, Hannes Frederic Sowa wrote:
> 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.
>
OK, seems that I understand the logic. Thanks a lot.
next prev parent reply other threads:[~2014-04-03 12:26 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-03 11:37 question: update_pmtu doesn't update dst mtu Ilya V. Matveychikov
2014-04-03 11:58 ` Hannes Frederic Sowa
2014-04-03 12:07 ` Ilya V. Matveychikov
2014-04-03 12:14 ` Hannes Frederic Sowa
2014-04-03 12:27 ` Ilya V. Matveychikov [this message]
2014-04-08 9:03 ` Ilya V. Matveychikov
2014-04-08 14:57 ` Hannes Frederic Sowa
2014-04-09 8:17 ` Ilya V. Matveychikov
2014-04-09 20:30 ` Hannes Frederic Sowa
2014-04-10 8:28 ` Ilya V. Matveychikov
-- strict thread matches above, loose matches on Subject: below --
2014-04-03 11:57 Ilya V. Matveychikov
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=533D5398.7080209@securitycode.ru \
--to=i.matveychikov@securitycode.ru \
--cc=hannes@stressinduktion.org \
--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.