include/linux/qed/iscsi_common.h

Source file repositories/reference/linux-study-clean/include/linux/qed/iscsi_common.h

File Facts

System
Linux kernel
Corpus path
include/linux/qed/iscsi_common.h
Extension
.h
Size
48815 bytes
Lines
1531
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct cqe_error_bitmap {
	u8 cqe_error_status_bits;
#define CQE_ERROR_BITMAP_DIF_ERR_BITS_MASK		0x7
#define CQE_ERROR_BITMAP_DIF_ERR_BITS_SHIFT		0
#define CQE_ERROR_BITMAP_DATA_DIGEST_ERR_MASK		0x1
#define CQE_ERROR_BITMAP_DATA_DIGEST_ERR_SHIFT		3
#define CQE_ERROR_BITMAP_RCV_ON_INVALID_CONN_MASK	0x1
#define CQE_ERROR_BITMAP_RCV_ON_INVALID_CONN_SHIFT	4
#define CQE_ERROR_BITMAP_DATA_TRUNCATED_ERR_MASK	0x1
#define CQE_ERROR_BITMAP_DATA_TRUNCATED_ERR_SHIFT	5
#define CQE_ERROR_BITMAP_UNDER_RUN_ERR_MASK		0x1
#define CQE_ERROR_BITMAP_UNDER_RUN_ERR_SHIFT		6
#define CQE_ERROR_BITMAP_RESERVED2_MASK			0x1
#define CQE_ERROR_BITMAP_RESERVED2_SHIFT		7
};

union cqe_error_status {
	u8 error_status;
	struct cqe_error_bitmap error_bits;
};

/* iSCSI Login Response PDU header */
struct data_hdr {
	__le32 data[12];
};

struct lun_mapper_addr_reserved {
	struct regpair lun_mapper_addr;
	u8 reserved0[8];
};

/* rdif conetxt for dif on immediate */
struct dif_on_immediate_params {
	__le32 initial_ref_tag;
	__le16 application_tag;
	__le16 application_tag_mask;
	__le16 flags1;
#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_GUARD_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_GUARD_SHIFT		0
#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_APP_TAG_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_APP_TAG_SHIFT		1
#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_REF_TAG_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_VALIDATE_REF_TAG_SHIFT		2
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_GUARD_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_GUARD_SHIFT		3
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_APP_TAG_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_APP_TAG_SHIFT		4
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_REF_TAG_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_REF_TAG_SHIFT		5
#define DIF_ON_IMMEDIATE_PARAMS_INTERVAL_SIZE_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_INTERVAL_SIZE_SHIFT		6
#define DIF_ON_IMMEDIATE_PARAMS_NETWORK_INTERFACE_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_NETWORK_INTERFACE_SHIFT		7
#define DIF_ON_IMMEDIATE_PARAMS_HOST_INTERFACE_MASK		0x3
#define DIF_ON_IMMEDIATE_PARAMS_HOST_INTERFACE_SHIFT		8
#define DIF_ON_IMMEDIATE_PARAMS_REF_TAG_MASK_MASK		0xF
#define DIF_ON_IMMEDIATE_PARAMS_REF_TAG_MASK_SHIFT		10
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_APP_TAG_WITH_MASK_MASK	0x1
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_APP_TAG_WITH_MASK_SHIFT	14
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_REF_TAG_WITH_MASK_MASK	0x1
#define DIF_ON_IMMEDIATE_PARAMS_FORWARD_REF_TAG_WITH_MASK_SHIFT	15
	u8 flags0;
#define DIF_ON_IMMEDIATE_PARAMS_RESERVED_MASK			0x1
#define DIF_ON_IMMEDIATE_PARAMS_RESERVED_SHIFT			0
#define DIF_ON_IMMEDIATE_PARAMS_IGNORE_APP_TAG_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_IGNORE_APP_TAG_SHIFT		1
#define DIF_ON_IMMEDIATE_PARAMS_INITIAL_REF_TAG_IS_VALID_MASK	0x1
#define DIF_ON_IMMEDIATE_PARAMS_INITIAL_REF_TAG_IS_VALID_SHIFT	2
#define DIF_ON_IMMEDIATE_PARAMS_HOST_GUARD_TYPE_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_HOST_GUARD_TYPE_SHIFT		3
#define DIF_ON_IMMEDIATE_PARAMS_PROTECTION_TYPE_MASK		0x3
#define DIF_ON_IMMEDIATE_PARAMS_PROTECTION_TYPE_SHIFT		4
#define DIF_ON_IMMEDIATE_PARAMS_CRC_SEED_MASK			0x1
#define DIF_ON_IMMEDIATE_PARAMS_CRC_SEED_SHIFT			6
#define DIF_ON_IMMEDIATE_PARAMS_KEEP_REF_TAG_CONST_MASK		0x1
#define DIF_ON_IMMEDIATE_PARAMS_KEEP_REF_TAG_CONST_SHIFT	7
	u8 reserved_zero[5];
};

/* iSCSI dif on immediate mode attributes union */
union dif_configuration_params {
	struct lun_mapper_addr_reserved lun_mapper_address;
	struct dif_on_immediate_params def_dif_conf;
};

/* Union of data/r2t sequence number */
union iscsi_seq_num {
	__le16 data_sn;
	__le16 r2t_sn;
};

Annotation

Implementation Notes