Go to the documentation of this file.
40 #ifndef __ISCSI_ISER_H__
41 #define __ISCSI_ISER_H__
43 #include <linux/types.h>
44 #include <linux/net.h>
49 #include <linux/wait.h>
50 #include <linux/sched.h>
51 #include <linux/list.h>
52 #include <linux/slab.h>
56 #include <linux/uio.h>
58 #include <linux/socket.h>
60 #include <linux/in6.h>
66 #define DRV_NAME "iser"
67 #define PFX DRV_NAME ": "
69 #define DRV_DATE "May 7th, 2006"
71 #define iser_dbg(fmt, arg...) \
73 if (iser_debug_level > 1) \
74 printk(KERN_DEBUG PFX "%s:" fmt,\
78 #define iser_warn(fmt, arg...) \
80 if (iser_debug_level > 0) \
81 printk(KERN_DEBUG PFX "%s:" fmt,\
85 #define iser_err(fmt, arg...) \
87 printk(KERN_ERR PFX "%s:" fmt, \
92 #define SIZE_4K (1ULL << SHIFT_4K)
93 #define MASK_4K (~(SIZE_4K-1))
96 #define ISCSI_ISER_SG_TABLESIZE (0x80000 >> SHIFT_4K)
97 #define ISER_DEF_CMD_PER_LUN 128
101 #define ISER_MAX_RX_MISC_PDUS 4
103 #define ISER_MAX_TX_MISC_PDUS 6
106 #define ISER_QP_MAX_RECV_DTOS (ISCSI_DEF_XMIT_CMDS_MAX)
108 #define ISER_MIN_POSTED_RX (ISCSI_DEF_XMIT_CMDS_MAX >> 2)
116 #define ISER_INFLIGHT_DATAOUTS 8
118 #define ISER_QP_MAX_REQ_DTOS (ISCSI_DEF_XMIT_CMDS_MAX * \
119 (1 + ISER_INFLIGHT_DATAOUTS) + \
120 ISER_MAX_TX_MISC_PDUS + \
121 ISER_MAX_RX_MISC_PDUS)
123 #define ISER_VER 0x10
124 #define ISER_WSV 0x08
125 #define ISER_RSV 0x04
137 #define ISER_HEADERS_LEN (sizeof(struct iser_hdr) + sizeof(struct iscsi_hdr))
139 #define ISER_RECV_DATA_SEG_LEN 128
140 #define ISER_RX_PAYLOAD_SIZE (ISER_HEADERS_LEN + ISER_RECV_DATA_SEG_LEN)
141 #define ISER_RX_LOGIN_SIZE (ISER_HEADERS_LEN + ISCSI_DEF_MAX_RECV_SEG_LEN)
144 #define ISER_OBJECT_NAME_SIZE 64
219 #define ISER_RX_PAD_SIZE (256 - (ISER_RX_PAYLOAD_SIZE + \
220 sizeof(u64) + sizeof(struct ib_sge)))
230 #define ISER_MAX_CQ 4
340 unsigned long dto_xfer_len,