All of lore.kernel.org
 help / color / mirror / Atom feed
* 'Continuation' packets in case of NFS READ.
@ 2010-10-14  7:48 Tayade, Nilesh
       [not found] ` <AANLkTimMm0-Ux+frJq4k0PD5JyR2rMi8Bq9xXYSfjKbB@mail.gmail.com>
  2010-10-14 14:05 ` J. Bruce Fields
  0 siblings, 2 replies; 5+ messages in thread
From: Tayade, Nilesh @ 2010-10-14  7:48 UTC (permalink / raw)
  To: linux-nfs

[-- Attachment #1: Type: text/plain, Size: 699 bytes --]

Hi,

I am working on NFS packet capturing for NFS version3 protocol. In one
of the scenarios, I tried opening a very big file and in this case the
file data was transferred from server to client in several chunks.

I observed there were some 'Continuation' RPC payload sent from server
to client which carry file data. But even in Wireshark this doesn't
decode any other fields apart from the file contents.

Could someone please advice how client knows which particular file a
specific 'continuation' packet belongs to? The packet doesn't even have
the filehandle/program version data.

I have attached the trace file.


--
Thanks,
Nilesh
x46222
Yahoo IM: nilesh_tayade85



[-- Attachment #2: read_big_file_trace.pcap --]
[-- Type: application/octet-stream, Size: 62723 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: 'Continuation' packets in case of NFS READ.
       [not found] ` <AANLkTimMm0-Ux+frJq4k0PD5JyR2rMi8Bq9xXYSfjKbB@mail.gmail.com>
@ 2010-10-14 11:26   ` Tayade, Nilesh
       [not found]     ` <AANLkTik0neXy5r7TZ3nr8ZT4w8T7oFG2NoySWS73GBYq@mail.gmail.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Tayade, Nilesh @ 2010-10-14 11:26 UTC (permalink / raw)
  To: Lyle Seaman; +Cc: linux-nfs

>From: Lyle Seaman [mailto:lyleseaman@gmail.com]
>Sent: Thursday, October 14, 2010 4:23 PM
>To: Tayade, Nilesh
>Cc: linux-nfs@vger.kernel.org
>Subject: Re: 'Continuation' packets in case of NFS READ.
>
>TCP (or UDP) handles that. It's transparent to NFS.

Thanks for the information. But I also observed that if you mount
multiple mount points 
from same server, the packets for different mount points flow through
the same socket. 

Could you please elaborate how TCP/UDP can differentiate? Is this based
on the sequence number etc.? 

>On Oct 14, 2010 3:50 AM, "Tayade, Nilesh" <Nilesh.Tayade@netscout.com>
wrote:
>
>>Hi,
>>
>>I am working on NFS packet capturing for NFS version3 protocol. In one
>>of the scenarios, I tried opening a very big file and in this case the
>>file data was transferred from server to client in several chunks.
>>
>>I observed there were some 'Continuation' RPC payload sent from server
>>to client which carry file data. But even in Wireshark this doesn't
>>decode any other fields apart from the file contents.
>>
>>Could someone please advice how client knows which particular file a
>>specific 'continuation' packet belongs to? The packet doesn't even
have
>>the filehandle/program version data.
>>
>>I have attached the trace file.
>>
>

--
Thanks,
Nilesh




^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: 'Continuation' packets in case of NFS READ.
       [not found]     ` <AANLkTik0neXy5r7TZ3nr8ZT4w8T7oFG2NoySWS73GBYq@mail.gmail.com>
@ 2010-10-14 12:30       ` Tayade, Nilesh
  2010-10-14 14:08         ` J. Bruce Fields
  0 siblings, 1 reply; 5+ messages in thread
From: Tayade, Nilesh @ 2010-10-14 12:30 UTC (permalink / raw)
  To: Lyle Seaman; +Cc: linux-nfs

> From: Lyle Seaman [mailto:lyleseaman@gmail.com]
> Sent: Thursday, October 14, 2010 5:35 PM
> To: Tayade, Nilesh
> Cc: linux-nfs@vger.kernel.org
> Subject: Re: 'Continuation' packets in case of NFS READ.
>
> Sorry, that was imprecise of me.  I ought to have said "it's an RPC
function".  Distinguishing between the end of one RPC and the next is
easy with UDP.  For TCP it's done with an end-of-record marker.  See the
RFCs.  RFC1057 is the one I remember. Maybe there's been an update, but
that's a good place to start.
> 

Sorry, if question is not clear or I am unable to interpret your
response and cluttering the mailing list. I shall also go through the
RFC1057.
What I wanted to know is -

If I have file1 on mountpoint-1 and file2 on mountpoint-2. Both these
mount points reside on same server and the respective file size is also
big. If we look at the packets for these mount point access, we can see
source port for packet of mount-1 same as that of packet of mount-2
(Ofcourse, NFS port 2049 will remain same, but the other port used for
setting up the connection also remains same).

So if the 'Continuation' chunk comes, how does the client know which
file it belongs to? The RPC packet doesn't have much info and TCP/UDP
packets will show same ip-port pair.


--
Thanks,
Nilesh

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 'Continuation' packets in case of NFS READ.
  2010-10-14  7:48 'Continuation' packets in case of NFS READ Tayade, Nilesh
       [not found] ` <AANLkTimMm0-Ux+frJq4k0PD5JyR2rMi8Bq9xXYSfjKbB@mail.gmail.com>
@ 2010-10-14 14:05 ` J. Bruce Fields
  1 sibling, 0 replies; 5+ messages in thread
From: J. Bruce Fields @ 2010-10-14 14:05 UTC (permalink / raw)
  To: Tayade, Nilesh; +Cc: linux-nfs

On Thu, Oct 14, 2010 at 03:48:39AM -0400, Tayade, Nilesh wrote:
> Hi,
> 
> I am working on NFS packet capturing for NFS version3 protocol. In one
> of the scenarios, I tried opening a very big file and in this case the
> file data was transferred from server to client in several chunks.
> 
> I observed there were some 'Continuation' RPC payload sent from server
> to client which carry file data. But even in Wireshark this doesn't
> decode any other fields apart from the file contents.
> 
> Could someone please advice how client knows which particular file a
> specific 'continuation' packet belongs to? The packet doesn't even have
> the filehandle/program version data.
> 
> I have attached the trace file.

Without looking at the trace: usually, if it's a complete trace,
wireshark will first show you each individual tcp segment, just labelled
as something like "rpc continutation data", then it will show you at the
end a frame with the actual READ request, the fully assembled data, and
somewhere in the packet-details pane a list of the frame numbers from
which that was assembled.

So you'd want to look for that final frame with the READ reqeust, and
the filehandle on that READ, and then figure out which file that
filehandle was for.

--b.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 'Continuation' packets in case of NFS READ.
  2010-10-14 12:30       ` Tayade, Nilesh
@ 2010-10-14 14:08         ` J. Bruce Fields
  0 siblings, 0 replies; 5+ messages in thread
From: J. Bruce Fields @ 2010-10-14 14:08 UTC (permalink / raw)
  To: Tayade, Nilesh; +Cc: Lyle Seaman, linux-nfs

On Thu, Oct 14, 2010 at 08:30:53AM -0400, Tayade, Nilesh wrote:
> > From: Lyle Seaman [mailto:lyleseaman@gmail.com]
> > Sent: Thursday, October 14, 2010 5:35 PM
> > To: Tayade, Nilesh
> > Cc: linux-nfs@vger.kernel.org
> > Subject: Re: 'Continuation' packets in case of NFS READ.
> >
> > Sorry, that was imprecise of me.  I ought to have said "it's an RPC
> function".  Distinguishing between the end of one RPC and the next is
> easy with UDP.  For TCP it's done with an end-of-record marker.  See the
> RFCs.  RFC1057 is the one I remember. Maybe there's been an update, but
> that's a good place to start.
> > 
> 
> Sorry, if question is not clear or I am unable to interpret your
> response and cluttering the mailing list. I shall also go through the
> RFC1057.
> What I wanted to know is -
> 
> If I have file1 on mountpoint-1 and file2 on mountpoint-2. Both these
> mount points reside on same server and the respective file size is also
> big. If we look at the packets for these mount point access, we can see
> source port for packet of mount-1 same as that of packet of mount-2
> (Ofcourse, NFS port 2049 will remain same, but the other port used for
> setting up the connection also remains same).
> 
> So if the 'Continuation' chunk comes, how does the client know which
> file it belongs to? The RPC packet doesn't have much info and TCP/UDP
> packets will show same ip-port pair.

If the two mountpoints are sharing the same tcp connection, then the
server will only transmit one RPC reply at a time.  So "chunks" from the
two replies won't be intermingled.

--b.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-10-14 14:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-14  7:48 'Continuation' packets in case of NFS READ Tayade, Nilesh
     [not found] ` <AANLkTimMm0-Ux+frJq4k0PD5JyR2rMi8Bq9xXYSfjKbB@mail.gmail.com>
2010-10-14 11:26   ` Tayade, Nilesh
     [not found]     ` <AANLkTik0neXy5r7TZ3nr8ZT4w8T7oFG2NoySWS73GBYq@mail.gmail.com>
2010-10-14 12:30       ` Tayade, Nilesh
2010-10-14 14:08         ` J. Bruce Fields
2010-10-14 14:05 ` J. Bruce Fields

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.