Spirent Avalanche 5.46 February 29, 2024

CIFS SMB Support in Avalanche

The Common Internet File System (CIFS) is a file sharing protocol. Clients use this protocol to request file access services from servers over a network. CIFS is based on the Server Message Block (SMB) protocol.

NOTES: 

SMB Dialect Negotiation

The first message sent from an SMB client to an SMB server must be the SMB NEGOTIATE command. This client request includes the dialect revisions of the SMB protocol that the client supports. The server compares this list against the list of dialects it supports, and returns the chosen dialect revision in its response message.

SMB Dialect Revisions

The SMB NEGOTIATE request includes the dialect's revision code according to the optional DIALECT parameter that you configure in the CIFSNG Action list. The following table lists the SMB dialect revisions and their corresponding revision codes.

SMB Dialect Revision Revision Code
2.002 0x0202
2.1 0x0210
3.0 0x0300
3.0.2 0x0302
3.1.1 0x0311

In the following table, the CIFS SMB column shows the commands supported/not supported (Y/N) by Avalanche clients and servers. (The CIFSv1 and CIFSNG columns are included for comparison purposes.)

CIFS Commands CIFSv1 CIFSNG CIFS SMB
CANCEL N Y N
CHANGE_NOTIFY N N N
CLOSE Y Y Y
CREATE Y Y Y
COPY_FILE Y N N
DELETE_FILE Y N N
ECHO N N N
FLUSH N N N
IOCTL N N N
LOCK N N N
LOGOFF Y (implicitly) Y (implicitly) Y (implicitly)
MOVE_FILE Y N N
NEGOTIATE or SMB_COM_NEGOTIATE Y (implicitly) Y (implicitly) Y (implicitly)
OPEN_NEW Y Y Y
OPLOCK_BREAK N Y N
OPLOCK_LEVEL N Y N
QUERY_DIRECTORY N Y N
QUERY_INFO Y N N
READ Y Y Y
RENAME_FILE Y N N
SESSION_SETUP Y (implicitly) Y (implicitly) Y (implicitly)
SET_INFO N N N
TRANS2_QUERY_FILE_INFO Y N N
TREE_CONNECT Y (implicitly) Y (implicitly) Y (implicitly)
TREE_DISCONNECT Y (implicitly) Y (implicitly) Y (implicitly)
WRITE Y Y Y
WRITE_ENTIRE_FILE_THEN_VALIDATE Y Y Y
WRITE_VALIDATE Y Y Y

NOTES:

  • For an SMB WRITE command, Avalanche detects when the file to be written is locked by a foreign client (STATUS_FILE_LOCK_CONFLICT) and reflects the error in statistics.
  • The Avalanche SMB READ and WRITE commands support very large files (up to 2 GB or more). (Restrictions of the Avalanche file hierarchy may apply.)
  • The Avalanche implementation of SMB also supports the following features:

Testing CIFSNG/SMB

Client Profiles SMB Fields

Server Profiles Tab CIFS_NG

Server Profiles Tab SMB

CIFSNG Data Validation

© 2024 Spirent Communications, Inc. All Rights Reserved.