Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759244AbcDMLfU (ORCPT ); Wed, 13 Apr 2016 07:35:20 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:40880 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759082AbcDMLfR (ORCPT ); Wed, 13 Apr 2016 07:35:17 -0400 From: Ding Tianhong Subject: [RFC] Is it a bug for nfs on udp6 mode or kernel? To: , , Netdev , "linux-kernel@vger.kernel.org" , , , Message-ID: <570E2D69.7080102@huawei.com> Date: Wed, 13 Apr 2016 19:28:41 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.177.22.246] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown, refid=x_failed, ip=unknown, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32, mode=multiengine Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1489 Lines: 37 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