[cifs-protocol] FRS clarification about VVJOIN in FRS

Josh Curry Josh.Curry at microsoft.com
Tue Aug 30 17:44:57 MDT 2011

Hi Matthieu, thank you for your question. A member of the protocol documentation team will be in touch with you soon.

Josh Curry | Escalation Engineer | US-CSS Developer Support Core (DSC) Protocol Team
P +1 469 775 7215 
One Microsoft Way, 98052, Redmond, WA, USA http://support.microsoft.com

-----Original Message-----
From: Matthieu Patou [mailto:mat at samba.org] 
Sent: Tuesday, August 30, 2011 6:09 PM
To: Interoperability Documentation Help; pfif at tridgell.net; cifs-protocol at samba.org
Subject: FRS clarification about VVJOIN in FRS

Hello Dochelp,

I have some problems to understand something in the join process related to VVJOIN.

In paragraph " COMM_COMMAND Is CMD_JOINING" we have at the end

After the CMD_JOINED packet is sent:
* If a connection VVJoin needs to be performed, FRS MUST go through the 
process specified in the
following section.
* If a connection VVJoin does not need to be performed, the upstream 
partner MUST send
unknown change orders to the downstream partner based on the downstream 
partner version

And in paragraph " Connection VVJoin"
FRS MUST perform Connection VVJoin when either of the following 
conditions is true:
* Last connection session establishment (Join) time of the outbound 
connection is 1.
During VVJoin, the upstream partner MUST send out a CMD_REMOTE_CO packet 
for each file

Due to the way FRS1 is redacted I understand that the upstream partner 
when receiving a packet with a CMD_JOINING (P_IN) it must check what is 
described at order to determine if should do a "simple" 
join or a VVJoin. Among the condition to determine if the join should be 
VVJoin I have the impression that the condition 
"P_IN.COMM_LAST_JOIN_TIME is 1." is always true, as if I understand 
correctly P_IN referrer to the packet with the CMD_JOINING command and 
in paragraph  " COMM_COMMAND Is CMD_START_JOIN", which describe 
how the next packet that is to say a packet with CMD_JOINING, it is said 
that COMM_LAST_JOIN_TIME must be set to 1. Can you confirm ?

Also I'd like to understand more what "unknown change orders to the 
downstream partner based on the downstream partner version
vector." means, and if possible I'd like to have an example.



Matthieu Patou
Samba Team        http://samba.org
Private repo      http://git.samba.org/?p=mat/samba.git;a=summary

More information about the cifs-protocol mailing list