linux/drivers/infiniband/sw/siw/iwarp.h

/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */

/* Authors: Bernard Metzler <[email protected]> */
/* Copyright (c) 2008-2019, IBM Corporation */

#ifndef _IWARP_H
#define _IWARP_H

#include <rdma/rdma_user_cm.h> /* RDMA_MAX_PRIVATE_DATA */
#include <linux/types.h>
#include <asm/byteorder.h>

#define RDMAP_VERSION
#define DDP_VERSION
#define MPA_REVISION_1
#define MPA_REVISION_2
#define MPA_MAX_PRIVDATA
#define MPA_KEY_REQ
#define MPA_KEY_REP
#define MPA_IRD_ORD_MASK

struct mpa_rr_params {};

/*
 * MPA request/response header bits & fields
 */
enum {};

/*
 * MPA request/reply header
 */
struct mpa_rr {};

static inline void __mpa_rr_set_revision(__be16 *bits, u8 rev)
{}

static inline u8 __mpa_rr_revision(__be16 mpa_rr_bits)
{}

enum mpa_v2_ctrl {};

struct mpa_v2_data {};

struct mpa_marker {};

/*
 * maximum MPA trailer
 */
struct mpa_trailer {};

#define MPA_HDR_SIZE
#define MPA_CRC_SIZE

/*
 * Common portion of iWARP headers (MPA, DDP, RDMAP)
 * for any FPDU
 */
struct iwarp_ctrl {};

/*
 * DDP/RDMAP Hdr bits & fields
 */
enum {};

static inline u8 __ddp_get_version(struct iwarp_ctrl *ctrl)
{}

static inline u8 __rdmap_get_version(struct iwarp_ctrl *ctrl)
{}

static inline u8 __rdmap_get_opcode(struct iwarp_ctrl *ctrl)
{}

static inline void __rdmap_set_opcode(struct iwarp_ctrl *ctrl, u8 opcode)
{}

struct iwarp_rdma_write {};

struct iwarp_rdma_rreq {};

struct iwarp_rdma_rresp {};

struct iwarp_send {};

struct iwarp_send_inv {};

struct iwarp_terminate {};

/*
 * Terminate Hdr bits & fields
 */
enum {};

static inline u8 __rdmap_term_layer(struct iwarp_terminate *term)
{}

static inline void __rdmap_term_set_layer(struct iwarp_terminate *term,
					  u8 layer)
{}

static inline u8 __rdmap_term_etype(struct iwarp_terminate *term)
{}

static inline void __rdmap_term_set_etype(struct iwarp_terminate *term,
					  u8 etype)
{}

static inline u8 __rdmap_term_ecode(struct iwarp_terminate *term)
{}

static inline void __rdmap_term_set_ecode(struct iwarp_terminate *term,
					  u8 ecode)
{}

/*
 * Common portion of iWARP headers (MPA, DDP, RDMAP)
 * for an FPDU carrying an untagged DDP segment
 */
struct iwarp_ctrl_untagged {};

/*
 * Common portion of iWARP headers (MPA, DDP, RDMAP)
 * for an FPDU carrying a tagged DDP segment
 */
struct iwarp_ctrl_tagged {};

iwarp_hdr;

enum term_elayer {};

enum ddp_etype {};

enum ddp_ecode {};

enum rdmap_untagged_qn {};

enum rdmap_etype {};

enum rdmap_ecode {};

enum llp_ecode {};

enum llp_etype {};

enum rdma_opcode {};

#endif