44 lines
917 B
C
44 lines
917 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (c) 2025 Stefan Metzmacher
|
|
*/
|
|
|
|
#ifndef __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_SOCKET_H__
|
|
#define __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_SOCKET_H__
|
|
|
|
enum smbdirect_socket_status {
|
|
SMBDIRECT_SOCKET_CREATED,
|
|
SMBDIRECT_SOCKET_CONNECTING,
|
|
SMBDIRECT_SOCKET_CONNECTED,
|
|
SMBDIRECT_SOCKET_NEGOTIATE_FAILED,
|
|
SMBDIRECT_SOCKET_DISCONNECTING,
|
|
SMBDIRECT_SOCKET_DISCONNECTED,
|
|
SMBDIRECT_SOCKET_DESTROYED
|
|
};
|
|
|
|
struct smbdirect_socket {
|
|
enum smbdirect_socket_status status;
|
|
|
|
/* RDMA related */
|
|
struct {
|
|
struct rdma_cm_id *cm_id;
|
|
} rdma;
|
|
|
|
/* IB verbs related */
|
|
struct {
|
|
struct ib_pd *pd;
|
|
struct ib_cq *send_cq;
|
|
struct ib_cq *recv_cq;
|
|
|
|
/*
|
|
* shortcuts for rdma.cm_id->{qp,device};
|
|
*/
|
|
struct ib_qp *qp;
|
|
struct ib_device *dev;
|
|
} ib;
|
|
|
|
struct smbdirect_socket_parameters parameters;
|
|
};
|
|
|
|
#endif /* __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_SOCKET_H__ */
|