Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932114AbcDMQRM (ORCPT ); Wed, 13 Apr 2016 12:17:12 -0400 Received: from mail-pa0-f41.google.com ([209.85.220.41]:34956 "EHLO mail-pa0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750848AbcDMQRJ (ORCPT ); Wed, 13 Apr 2016 12:17:09 -0400 Message-ID: <1460564226.10638.28.camel@edumazet-glaptop3.roam.corp.google.com> Subject: Re: [RFC] Is it a bug for nfs on udp6 mode or kernel? From: Eric Dumazet To: Ding Tianhong Cc: linux-nfs-approval@vger.kernel.org, tom@herbertland.com, Netdev , "linux-kernel@vger.kernel.org" , dhowells@redhat.com, viro@zeniv.linux.org.u, chuck.lever@oracle.com Date: Wed, 13 Apr 2016 09:17:06 -0700 In-Reply-To: <570E2D69.7080102@huawei.com> References: <570E2D69.7080102@huawei.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1677 Lines: 42 On Wed, 2016-04-13 at 19:28 +0800, Ding Tianhong wrote: > Hi everyone: > > I have met this problem when I try to test udp6 for nfs connection, my environment is: > > Server: > kernel: 4.1.15 > IP:xxxx::36/64 > MTU:1500 > Setting: /etc/exports:/home/nfs *(rw,sync,no_subtree_check,no_root_squash) > > Client: > kernel: 4.1.18 > IP:xxxx::90/64 > MTU:1500 > command: mount -t nfs -o vers=3,proto=udp6,rsize=4096,wsize=4096 [xxxx::36]:/home/nfs /home/tmp > > I check the nfs parameter configuration, it looks fine and could work well for proto=tcp6. > > Then I have mount correctly and try to run the command "ls", it hang. > > When I use the rsize=1024 and wsize=1024 to mount, the problem disappeared, so I guess it is the problem for GSO or GRO for UDP。 > > Then I try to debug the problem, first I tcpdump the package from cline to server, and found that > the client have send readdirplus message to server correctly, and then the Server send a 4k package > to client(the big package will frag to 4 package by GSO), till now it looks fine, and the Client Nic could > receive the 4 skb then send to upper stack to ipv6 and udp, I found the incoming 4 package has been merged > to one and send to upper stack just like sunrpc, but I try to open the rpc_debug, it looks that the rpc could > not receive message. > > > I built a simple demo to test the udp stack, use the client socket to send big package to server socket, it work well, > so I think the udp is fine, maybe the bug is in sunrpc. > > The test is very simple, does any body met the same problem like me, thanks for any suggestion. > > Ding Have you tried to disable UFO ? ethtool -K eth... ufo off