[SCSI] libiscsi_tcp: support padding offload
cxgb3i does not offload the processing of the header, but it will always process the padding. This patch adds a padding offload flag to detect when the LLD supports this. The patch also modifies the header processing so that we do not try to read/bypass the header dugest in the skb. cxgb3i will not include it with the header like with other offload cards. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:

committed by
James Bottomley

parent
ae15f80172
commit
6df19a791b
@@ -336,6 +336,8 @@ enum iscsi_host_param {
|
||||
#define CAP_SENDTARGETS_OFFLOAD 0x400 /* offload discovery process */
|
||||
#define CAP_DATA_PATH_OFFLOAD 0x800 /* offload entire IO path */
|
||||
#define CAP_DIGEST_OFFLOAD 0x1000 /* offload hdr and data digests */
|
||||
#define CAP_PADDING_OFFLOAD 0x2000 /* offload padding insertion, removal,
|
||||
and verification */
|
||||
|
||||
/*
|
||||
* These flags describes reason of stop_conn() call
|
||||
|
@@ -99,7 +99,8 @@ extern int iscsi_tcp_task_xmit(struct iscsi_task *task);
|
||||
|
||||
/* segment helpers */
|
||||
extern int iscsi_tcp_recv_segment_is_hdr(struct iscsi_tcp_conn *tcp_conn);
|
||||
extern int iscsi_tcp_segment_done(struct iscsi_segment *segment, int recv,
|
||||
extern int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn,
|
||||
struct iscsi_segment *segment, int recv,
|
||||
unsigned copied);
|
||||
extern void iscsi_tcp_segment_unmap(struct iscsi_segment *segment);
|
||||
|
||||
|
Reference in New Issue
Block a user