From: Guillaume Nault <gnault@redhat.com>
To: Hangbin Liu <liuhangbin@gmail.com>
Cc: netdev@vger.kernel.org, Julian Anastasov <ja@ssi.bg>,
Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
David Ahern <dsahern@gmail.com>,
Eric Dumazet <edumazet@google.com>,
David Miller <davem@davemloft.net>,
Pablo Neira <pablo@netfilter.org>,
Stephen Hemminger <stephen@networkplumber.org>,
Alexey Kodanev <alexey.kodanev@oracle.com>
Subject: Re: [PATCHv4 net 6/8] vti: do not confirm neighbor when do pmtu update
Date: Sat, 21 Dec 2019 19:30:24 +0100 [thread overview]
Message-ID: <20191221183024.GA7352@linux.home> (raw)
In-Reply-To: <20191220032525.26909-7-liuhangbin@gmail.com>
On Fri, Dec 20, 2019 at 11:25:23AM +0800, Hangbin Liu wrote:
> Although ip vti is not affected as __ip_rt_update_pmtu() does not call
> dst_confirm_neigh(), we still not do neigh confirm to keep consistency with
> IPv6 code.
>
As with the GRE case, the problem is not the IP version used on the
underlay. The problem happens when the tunnel transports IPv6 packets
(which vti can do).
However, it's true that vti is immune to this problem, but that's for
another reason: it's an IFF_NOARP interface (which means vti6 is immune
too).
Patch is good (we really have no reason to confirm neighbour here), but
let's not have a misleading commit message.
> v4: No change.
> v3: Do not remove dst_confirm_neigh, but add a new bool parameter in
> dst_ops.update_pmtu to control whether we should do neighbor confirm.
> Also split the big patch to small ones for each area.
> v2: Remove dst_confirm_neigh in __ip6_rt_update_pmtu.
>
> Reviewed-by: Guillaume Nault <gnault@redhat.com>
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> ---
> net/ipv4/ip_vti.c | 2 +-
> net/ipv6/ip6_vti.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/ipv4/ip_vti.c b/net/ipv4/ip_vti.c
> index cfb025606793..fb9f6d60c27c 100644
> --- a/net/ipv4/ip_vti.c
> +++ b/net/ipv4/ip_vti.c
> @@ -214,7 +214,7 @@ static netdev_tx_t vti_xmit(struct sk_buff *skb, struct net_device *dev,
>
> mtu = dst_mtu(dst);
> if (skb->len > mtu) {
> - skb_dst_update_pmtu(skb, mtu);
> + skb_dst_update_pmtu_no_confirm(skb, mtu);
> if (skb->protocol == htons(ETH_P_IP)) {
> icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
> htonl(mtu));
> diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c
> index 024db17386d2..6f08b760c2a7 100644
> --- a/net/ipv6/ip6_vti.c
> +++ b/net/ipv6/ip6_vti.c
> @@ -479,7 +479,7 @@ vti6_xmit(struct sk_buff *skb, struct net_device *dev, struct flowi *fl)
>
> mtu = dst_mtu(dst);
> if (skb->len > mtu) {
> - skb_dst_update_pmtu(skb, mtu);
> + skb_dst_update_pmtu_no_confirm(skb, mtu);
>
> if (skb->protocol == htons(ETH_P_IPV6)) {
> if (mtu < IPV6_MIN_MTU)
> --
> 2.19.2
>
next prev parent reply other threads:[~2019-12-21 18:30 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-22 6:19 [PATCH net] ipv6/route: only update neigh confirm time if pmtu changed Hangbin Liu
2019-11-22 18:04 ` David Miller
2019-11-26 9:17 ` Hangbin Liu
2019-12-03 2:11 ` [PATCHv2 net] ipv6/route: should not update neigh confirm time during PMTU update Hangbin Liu
2019-12-03 2:47 ` David Miller
2019-12-03 10:15 ` Hangbin Liu
2019-12-03 10:25 ` Hangbin Liu
2019-12-03 19:58 ` David Miller
2019-12-10 3:36 ` Hangbin Liu
2019-12-10 17:00 ` Guillaume Nault
2019-12-18 11:53 ` [PATCH net-next 0/8] disable neigh update for tunnels during pmtu update Hangbin Liu
2019-12-18 11:53 ` [PATCH net-next 1/8] net: add bool confirm_neigh parameter for dst_ops.update_pmtu Hangbin Liu
2019-12-18 11:53 ` [PATCH net-next 2/8] ip6_gre: do not confirm neighbor when do pmtu update Hangbin Liu
2019-12-18 11:53 ` [PATCH net-next 3/8] gtp: " Hangbin Liu
2019-12-18 11:53 ` [PATCH net-next 4/8] net/dst: add new function skb_dst_update_pmtu_no_confirm Hangbin Liu
2019-12-18 11:53 ` [PATCH net-next 5/8] tunnel: do not confirm neighbor when do pmtu update Hangbin Liu
2019-12-19 17:47 ` Guillaume Nault
2019-12-20 2:36 ` Hangbin Liu
2019-12-18 11:53 ` [PATCH net-next 6/8] vti: " Hangbin Liu
2019-12-18 11:53 ` [PATCH net-next 7/8] sit: " Hangbin Liu
2019-12-18 11:53 ` [PATCH net-next 8/8] net/dst: do not confirm neighbor for vxlan and geneve " Hangbin Liu
2019-12-19 17:49 ` Guillaume Nault
2019-12-18 12:01 ` [PATCH net-next 0/8] disable neigh update for tunnels during " Hangbin Liu
2019-12-19 17:57 ` Guillaume Nault
2019-12-20 2:48 ` Hangbin Liu
2019-12-19 17:53 ` Guillaume Nault
2019-12-20 3:25 ` [PATCHv4 net " Hangbin Liu
2019-12-20 3:25 ` [PATCHv4 net 1/8] net: add bool confirm_neigh parameter for dst_ops.update_pmtu Hangbin Liu
2019-12-20 3:25 ` [PATCHv4 net 2/8] ip6_gre: do not confirm neighbor when do pmtu update Hangbin Liu
2019-12-20 3:25 ` [PATCHv4 net 3/8] gtp: " Hangbin Liu
2019-12-21 18:35 ` Guillaume Nault
2019-12-20 3:25 ` [PATCHv4 net 4/8] net/dst: add new function skb_dst_update_pmtu_no_confirm Hangbin Liu
2019-12-20 3:25 ` [PATCHv4 net 5/8] tunnel: do not confirm neighbor when do pmtu update Hangbin Liu
2019-12-21 18:43 ` Guillaume Nault
2019-12-20 3:25 ` [PATCHv4 net 6/8] vti: " Hangbin Liu
2019-12-21 18:30 ` Guillaume Nault [this message]
2019-12-20 3:25 ` [PATCHv4 net 7/8] sit: " Hangbin Liu
2019-12-20 3:25 ` [PATCHv4 net 8/8] net/dst: do not confirm neighbor for vxlan and geneve " Hangbin Liu
2019-12-21 18:38 ` Guillaume Nault
2019-12-20 16:14 ` [PATCHv4 net 0/8] disable neigh update for tunnels during " David Ahern
2019-12-22 2:51 ` [PATCHv5 " Hangbin Liu
2019-12-22 2:51 ` [PATCHv5 net 1/8] net: add bool confirm_neigh parameter for dst_ops.update_pmtu Hangbin Liu
2019-12-22 2:51 ` [PATCHv5 net 2/8] ip6_gre: do not confirm neighbor when do pmtu update Hangbin Liu
2019-12-22 2:51 ` [PATCHv5 net 3/8] gtp: " Hangbin Liu
2019-12-22 2:51 ` [PATCHv5 net 4/8] net/dst: add new function skb_dst_update_pmtu_no_confirm Hangbin Liu
2019-12-22 2:51 ` [PATCHv5 net 5/8] tunnel: do not confirm neighbor when do pmtu update Hangbin Liu
2019-12-22 2:51 ` [PATCHv5 net 6/8] vti: " Hangbin Liu
2019-12-22 2:51 ` [PATCHv5 net 7/8] sit: " Hangbin Liu
2019-12-22 2:51 ` [PATCHv5 net 8/8] net/dst: do not confirm neighbor for vxlan and geneve " Hangbin Liu
2019-12-22 22:10 ` [PATCHv5 net 0/8] disable neigh update for tunnels during " Guillaume Nault
2019-12-25 6:30 ` 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=20191221183024.GA7352@linux.home \
--to=gnault@redhat.com \
--cc=alexey.kodanev@oracle.com \
--cc=davem@davemloft.net \
--cc=dsahern@gmail.com \
--cc=edumazet@google.com \
--cc=ja@ssi.bg \
--cc=liuhangbin@gmail.com \
--cc=marcelo.leitner@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pablo@netfilter.org \
--cc=stephen@networkplumber.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).