From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net-next v3] ip6_vti: adjust vti mtu according to mtu of output device Date: Fri, 15 Dec 2017 13:45:18 -0500 (EST) Message-ID: <20171215.134518.1604083750390056187.davem@davemloft.net> References: <1513265870-29851-1-git-send-email-alexey.kodanev@oracle.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, steffen.klassert@secunet.com, pvorel@suse.cz, shannon.nelson@oracle.com To: alexey.kodanev@oracle.com Return-path: Received: from shards.monkeyblade.net ([184.105.139.130]:54848 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755655AbdLOSpU (ORCPT ); Fri, 15 Dec 2017 13:45:20 -0500 In-Reply-To: <1513265870-29851-1-git-send-email-alexey.kodanev@oracle.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Alexey Kodanev Date: Thu, 14 Dec 2017 18:37:50 +0300 Two minor pieces of feedback: > LTP/udp6_ipsec_vti tests fail when sending large UDP datagrams that > require fragmentation and the underlying device has MTU <= 1500. This > happens because ip6_vti sets mtu to ETH_DATA_LEN and not updating it > depending on a destination address or link parameter. > > Further attempts to send UDP packets may succeed because pmtu gets > updated on ICMPV6_PKT_TOOBIG in vti6_err(). > > Here is the example when the output device MTU is set to 9000: You are fixing a problem that occurs when the underlying device has an MTU smaller than 1500, yet you show an example involving an MTU of 9000. Care to adjust that inconsistency or explain why it's legit here? > + if (p->flags & IP6_TNL_F_CAP_XMIT) { > + int strict = (ipv6_addr_type(&p->raddr) & > + (IPV6_ADDR_MULTICAST | IPV6_ADDR_LINKLOCAL)); > + > + struct rt6_info *rt = rt6_lookup(t->net, > + &p->raddr, &p->laddr, > + p->link, strict); Please do not place empty lines between local variable declarations. Thank you.