If we click on the folder ‘linka’, we are also successful.
Figure 5: Contents of 'linka'
So, we have demonstrated that by connecting to a single HP CIFS Server,
How it works
The mechanism behind this is interesting. What actually happens behind the scenes is this.
Client connects to a HP CIFS Server share that is hosting MS DFS links, and attempts to access one of these links for the first time (for instance, clicking on ‘linka’ in the Explorer window open to the ‘dfsroot’ share on
HP CIFS Server recognizes that this is a MS DFS link, and returns an ERROR to the client. The error that is returned is NT_STATUS_PATH_NOT_COVERED. An MS DFS aware client (such as Windows/XP) recognizes this special error code as a signal that the resource is a MS DFS link. This triggers the client to send an NT_TRANSACT2 request for a MS DFS referral.
HP CIFS Server responds to this NT_TRANSACT2 request with a MS DFS referral which contains the server and share name the client should refer to.
The client uses this information to make a direct connection to the \\server\sharename in the referral, and from that point on the client works directly with the referred server.
The following two screen snapshots from an Ethereal4 trace of the client ‘mccallevo’. Clicking on the ‘linkb’ directory in the ‘dfsroot’ share on the HP CIFS Server