1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (C) 2017, Microsoft Corporation.
4 * Copyright (C) 2018, LG Electronics.
5 */
6
7#ifndef __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_H__
8#define __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_H__
9
10/* SMB-DIRECT buffer descriptor V1 structure [MS-SMBD] 2.2.3.1 */
11struct smbdirect_buffer_descriptor_v1 {
12 __le64 offset;
13 __le32 token;
14 __le32 length;
15} __packed;
16
17/*
18 * Connection parameters mostly from [MS-SMBD] 3.1.1.1
19 *
20 * These are setup and negotiated at the beginning of a
21 * connection and remain constant unless explicitly changed.
22 *
23 * Some values are important for the upper layer.
24 */
25struct smbdirect_socket_parameters {
26 __u32 resolve_addr_timeout_msec;
27 __u32 resolve_route_timeout_msec;
28 __u32 rdma_connect_timeout_msec;
29 __u32 negotiate_timeout_msec;
30 __u8 initiator_depth;
31 __u8 responder_resources;
32 __u16 recv_credit_max;
33 __u16 send_credit_target;
34 __u32 max_send_size;
35 __u32 max_fragmented_send_size;
36 __u32 max_recv_size;
37 __u32 max_fragmented_recv_size;
38 __u32 max_read_write_size;
39 __u32 max_frmr_depth;
40 __u32 keepalive_interval_msec;
41 __u32 keepalive_timeout_msec;
42} __packed;
43
44#endif /* __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_H__ */
45

source code of linux/fs/smb/common/smbdirect/smbdirect.h