{"id":810043,"url":"http://patchwork.ozlabs.org/api/patches/810043/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/bcd5956b4342a889e686a475e2ec4fcb36db3e57.1504603593.git.lucien.xin@gmail.com/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<bcd5956b4342a889e686a475e2ec4fcb36db3e57.1504603593.git.lucien.xin@gmail.com>","list_archive_url":null,"date":"2017-09-05T09:26:33","name":"[net] ip6_gre: update mtu properly in ip6gre_err","commit_ref":null,"pull_url":null,"state":"accepted","archived":true,"hash":"b60cbfaa651db0e6fb60415d56e73e9387d85ce7","submitter":{"id":61073,"url":"http://patchwork.ozlabs.org/api/people/61073/?format=json","name":"Xin Long","email":"lucien.xin@gmail.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/bcd5956b4342a889e686a475e2ec4fcb36db3e57.1504603593.git.lucien.xin@gmail.com/mbox/","series":[{"id":1531,"url":"http://patchwork.ozlabs.org/api/series/1531/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=1531","date":"2017-09-05T09:26:33","name":"[net] ip6_gre: update mtu properly in ip6gre_err","version":1,"mbox":"http://patchwork.ozlabs.org/series/1531/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/810043/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/810043/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"q0ednacr\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xmhDj4g1sz9s0g\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue,  5 Sep 2017 19:26:45 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751357AbdIEJ0n (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 5 Sep 2017 05:26:43 -0400","from mail-pg0-f65.google.com ([74.125.83.65]:37036 \"EHLO\n\tmail-pg0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751264AbdIEJ0m (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 5 Sep 2017 05:26:42 -0400","by mail-pg0-f65.google.com with SMTP id j6so1639693pgc.4\n\tfor <netdev@vger.kernel.org>; Tue, 05 Sep 2017 02:26:42 -0700 (PDT)","from localhost ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id\n\ty23sm565502pfa.38.2017.09.05.02.26.40\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 05 Sep 2017 02:26:41 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id;\n\tbh=hRJ/fnLbFhUKp5JmJSPoIKb37ufoiRp4c3t5WFd8z4k=;\n\tb=q0ednacr2JpwFTWa2tvIepXcfB4F62xNOUEaJAJm7NSpjtvNzKfkZvVZDT0pduRTIs\n\tSf4yN4WMKzB0MvDK/5ue4lysoEDN+HUSAhnzQkUyN9xt7XiNxGvWhEIu/7T1VW1VGRcd\n\tcs3IICz5yBT7Wjtezlw6nNXXA8QfT0wvTzppphjbTLXTUchOGyyrrlbBKRXshekhrcRb\n\t6swxyo4KpMc1iW6J3l3Q7iSCydHnr2Qqq7IRSDyNA/DnR2ZZQspohoXXtamIoBgu1qEA\n\tlNynHMGluMPJY6Rlfg5a6bQ3U1xmGB0sKpDpTg/G4Xm+Y4FN5W0ikXP0G12Vh0LCigYx\n\t8/UQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=hRJ/fnLbFhUKp5JmJSPoIKb37ufoiRp4c3t5WFd8z4k=;\n\tb=ZuQQdpgVEwS1g0PcXSZ3gb1SnHMH2SyCeoCQ6HsSP7hc03lXVkdVopVMnzriGTb2mv\n\t8cagssuvbeJjo5FeZGHnZ5ltbmMqvZ1ftnjBPThuxaHiyFzxoVu2e2om5oV2OVkMoB8s\n\tiKmxoW6UHbu4bQqYjiq/ds46d7gFfXAJk8xh9EV9cUMXPi9wlVE2OgqaPvPNV1UszsZ8\n\tHYCUEBmQP1gSr+N8g7Bg68jhRuwfPlMuSW7+1xc6c0c71Ldu/GlsPKMkB609tpOl+hj8\n\tnQlSb2miWoggGBwxVGZCIJaGoOxoxakiNfvFEAKNI6aWhhZQrPtF99PxE8Frtg7j8zJl\n\t6nSw==","X-Gm-Message-State":"AHPjjUiomcFNeCkipnR2X5yi+a8NGKnuzkkFmrVDRG43ogUQwUEpSv1W\n\tBGcMgPrcs9oJtxR32+o=","X-Google-Smtp-Source":"ADKCNb6Qr+6wAvb51ttNbRXyegVOaaXgV1HX3WK+fyCTF40j2N35w8nTORwG4L7h54kenNSYnf+lkA==","X-Received":"by 10.98.137.203 with SMTP id n72mr3205283pfk.4.1504603601941;\n\tTue, 05 Sep 2017 02:26:41 -0700 (PDT)","From":"Xin Long <lucien.xin@gmail.com>","To":"network dev <netdev@vger.kernel.org>","Cc":"davem@davemloft.net","Subject":"[PATCH net] ip6_gre: update mtu properly in ip6gre_err","Date":"Tue,  5 Sep 2017 17:26:33 +0800","Message-Id":"<bcd5956b4342a889e686a475e2ec4fcb36db3e57.1504603593.git.lucien.xin@gmail.com>","X-Mailer":"git-send-email 2.1.0","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"Now when probessing ICMPV6_PKT_TOOBIG, ip6gre_err only subtracts the\noffset of gre header from mtu info. The expected mtu of gre device\nshould also subtract gre header. Otherwise, the next packets still\ncan't be sent out.\n\nJianlin found this issue when using the topo:\n  client(ip6gre)<---->(nic1)route(nic2)<----->(ip6gre)server\n\nand reducing nic2's mtu, then both tcp and sctp's performance with\nbig size data became 0.\n\nThis patch is to fix it by also subtracting grehdr (tun->tun_hlen)\nfrom mtu info when updating gre device's mtu in ip6gre_err(). It\nalso needs to subtract ETH_HLEN if gre dev'type is ARPHRD_ETHER.\n\nReported-by: Jianlin Shi <jishi@redhat.com>\nSigned-off-by: Xin Long <lucien.xin@gmail.com>\n---\n net/ipv6/ip6_gre.c | 4 +++-\n 1 file changed, 3 insertions(+), 1 deletion(-)","diff":"diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c\nindex 67ff2aa..b7a72d4 100644\n--- a/net/ipv6/ip6_gre.c\n+++ b/net/ipv6/ip6_gre.c\n@@ -432,7 +432,9 @@ static void ip6gre_err(struct sk_buff *skb, struct inet6_skb_parm *opt,\n \t\t}\n \t\tbreak;\n \tcase ICMPV6_PKT_TOOBIG:\n-\t\tmtu = be32_to_cpu(info) - offset;\n+\t\tmtu = be32_to_cpu(info) - offset - t->tun_hlen;\n+\t\tif (t->dev->type == ARPHRD_ETHER)\n+\t\t\tmtu -= ETH_HLEN;\n \t\tif (mtu < IPV6_MIN_MTU)\n \t\t\tmtu = IPV6_MIN_MTU;\n \t\tt->dev->mtu = mtu;\n","prefixes":["net"]}