From: "Ilya V. Matveychikov" <i.matveychikov@securitycode.ru>
To: <netdev@vger.kernel.org>
Subject: question: update_pmtu doesn't update dst mtu
Date: Thu, 3 Apr 2014 15:57:49 +0400 [thread overview]
Message-ID: <533D4CBD.2080903@securitycode.ru> (raw)
Hello,
Is this a place where I can post questions not the patches? If so, can anybody
explain me what the problem I have when trying to update dst PMTU value.
So, the scheme is the following:
skb->dst rt(pmtu)
IN_DEV (MTU 1500) -------> TUNNEL (MTU 1440) -------> OUT_DEV (MTU 1500)
I have a simple tunnel_xmit function that handles all the packets that goes
trough the tunnel. So, I have an skb with valid skb->dst value (filled earlier
in ip_input_route_noref).
Next, when encapsulation is done, I needed to get an output route for the packet
(rt at the scheme). At this point I know that the output route may have a PMTU
value that is different from the OUT_DEV->mtu. So, I'm trying to update the
input skb->dst route's PMTU with the update_pmtu function. It seems that all is
OK, but when I trying to get the dst mtu value (using dst_mtu(skb_dst(skb))) I
always get the value of 1440 (TUNNEL's MTU):
tunnel_xmit:
...
pmtu = dst_mtu(&rt->dst) - OVERHEAD; // pmtu = 1300, for example
skb_dst(skb)->ops->update_pmtu(skb_dst(skb), NULL, skb, pmtu);
// dst_mtu(skb_dst(skb)) still returns 1440
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 :(
So, the question is what I missed when trying to dynamically tunning tunnel's
input route path MTU?
Thanks :)
next reply other threads:[~2014-04-03 11:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-03 11:57 Ilya V. Matveychikov [this message]
-- strict thread matches above, loose matches on Subject: below --
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
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
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=533D4CBD.2080903@securitycode.ru \
--to=i.matveychikov@securitycode.ru \
--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.