From: Tom Tucker <tom@opengridcomputing.com>
To: Paolo Galtieri <pgaltieri-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
Cc: linux-nfs@vger.kernel.org,
"Scott A. Ikenaga"
<sikenaga-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>,
Yuksel Tokuz <ytokuz-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
Subject: Re: NFS over TCP behavior in older 2.6 kernel
Date: Fri, 29 Aug 2008 19:54:59 -0500 [thread overview]
Message-ID: <48B89A63.3030205@opengridcomputing.com> (raw)
In-Reply-To: <48B6E35D.8000601@opengridcomputing.com>
Tom Tucker wrote:
> Paolo Galtieri wrote:
>> Folks,
>> I have a question regarding the behavior of nfsd v3 running over
>> TCP. Specifically how should the NFS server behave if the clock is
>> moved backwards on the server. I've tried to find references to what
>> the correct behavior should be and have been unable to, so I'm
>> posting to this list with the hope someone can point me to where I
>> can find it.
>>
>> I'm running a 2.6.10 kernel on 2 systems, one acting as an NFS server
>> the other as the client (obviously). I advertise to the client a
>> directory that contains several files which I mount on the client as
>> /app
>>
>> On the server I run the following test:
>>
>> while ;
>> do
>> date 022910002008;
>> sleep 10;
>> date 022910102008;
>> sleep 10;
>> done
>>
>> on the client I run the following in /app
>>
>> while :
>> do
>> ls
>> sleep 10
>> done
>>
>> What I observe is that often I see long pauses when doing the ls
>> before it actually displays the data.
>>
>> I ran tcpdump and what I observed is that the NFS server closed the
>> connection when the timestamp of ACK for a packet sent by the client
>> is earlier than the timestamp for the original packet, i.e. between
>> the receipt of the original packet and the sending of the ACK the
>> clock went backwards. For example:
>>
>
> Both the client and server have logic that shuts down idle
> connections. The client idle time out is 5m and the server's idle
> timeout is 6m. What is probably happening is that the server believes
> that the connection has been idle longer than the 6m timeout and shuts
> down the connection.
>
BTW, what I meant here is that the client shuts down the connection
because the connection has been idle for 5m or longer.
Erf. Must have been late.
>> Frame 1019 contains this packet
>>
>> TCP nfs > legent-1 [FIN, ACK] Seq=961 Ack=937 Win=1448 Len=0
>> TSV=979162569 TSER=979004710
>>
>> 0000 00 14 f8 ec 30 2f 00 14 f8 ec 47 11 08 00 45 00 ....0/..
>> ..G...E.
>> 0010 00 34 2a 2c 40 00 40 06 ba 95 a9 fe 01 01 a9 fe .4*,@.@.
>> ........
>> 0020 01 05 08 01 01 75 03 a6 6d a7 a9 d3 d4 ff 80 11 .....u..
>> m.......
>> 0030 05 a8 69 d4 00 00 01 01 08 0a 3a 5c d5 c9 3a 5a ..i.....
>> ..:\..:Z
>> 0040 6d 26
>> and is time stamped (using wireshark) 2008-02-29 02:00:00.911651.
>> The original packet for which this is the ACK is frame 924 and contains:
>>
>> TCP legent-1 > nfs [ACK] Seq=937 Ack=961 Win=1460 Len=0
>> TSV=979004710 TSER=979159895
>>
>> 0000 00 14 f8 ec 47 11 00 14 f8 ec 30 2f 08 00 45 00 ....G...
>> ..0/..E.
>> 0010 00 34 2b e9 40 00 40 06 b8 d8 a9 fe 01 05 a9 fe .4+.@.@.
>> ........
>> 0020 01 01 01 75 08 01 a9 d3 d4 ff 03 a6 6d a7 80 10 ...u....
>> ....m...
>> 0030 05 b4 74 3b 00 00 01 01 08 0a 3a 5a 6d 26 3a 5c ..t;....
>> ..:Zm&:\
>> 0040 cb 57
>> .W Wireshark reports the RTT as:
>>
>> [The RTT to ACK the segment was: -7.377099000 seconds]
>>
>> After the server disconnects the client has to reconnect and it is
>> looks like the delay is occurring during this disconnect/reconnect
>> process.
>>
>> Can someone point me to any documentation, either for NFS or TCP that
>> explains the behavior? Note that this problem does not occur with
>> UDP so I suspect it's a consequence of the connection oriented
>> aspects of the TCP protocol vs UDP, but it would nice to see it in
>> writing.
>>
>> I appreciate any assistance, flames, or other comments :-)
>>
>> Thank you,
>> Paolo
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> It
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2008-08-30 1:19 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-28 17:36 NFS over TCP behavior in older 2.6 kernel Paolo Galtieri
[not found] ` <48B6E206.1020401-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
2008-08-28 17:41 ` Tom Tucker
2008-08-29 17:25 ` Chuck Lever
2008-08-29 18:03 ` Tom Tucker
2008-08-30 0:54 ` Tom Tucker [this message]
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=48B89A63.3030205@opengridcomputing.com \
--to=tom@opengridcomputing.com \
--cc=linux-nfs@vger.kernel.org \
--cc=pgaltieri-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org \
--cc=sikenaga-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org \
--cc=ytokuz-Igf4POYTYCDQT0dZR+AlfA@public.gmane.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