diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2008-12-02 01:32:16 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-12-29 12:24:23 -0500 |
commit | 6df19a791bdd5d820cccd8c7a12679888ae62099 (patch) | |
tree | 5afebc101c362d0a41275337dced617fb06f8a89 /include | |
parent | ae15f80172d95f978b60d40408353943d5bc099b (diff) |
[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>
Diffstat (limited to 'include')
-rw-r--r-- | include/scsi/iscsi_if.h | 2 | ||||
-rw-r--r-- | include/scsi/libiscsi_tcp.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/scsi/iscsi_if.h b/include/scsi/iscsi_if.h index 8e008c96e795..d0ed5226f8c4 100644 --- a/include/scsi/iscsi_if.h +++ b/include/scsi/iscsi_if.h | |||
@@ -336,6 +336,8 @@ enum iscsi_host_param { | |||
336 | #define CAP_SENDTARGETS_OFFLOAD 0x400 /* offload discovery process */ | 336 | #define CAP_SENDTARGETS_OFFLOAD 0x400 /* offload discovery process */ |
337 | #define CAP_DATA_PATH_OFFLOAD 0x800 /* offload entire IO path */ | 337 | #define CAP_DATA_PATH_OFFLOAD 0x800 /* offload entire IO path */ |
338 | #define CAP_DIGEST_OFFLOAD 0x1000 /* offload hdr and data digests */ | 338 | #define CAP_DIGEST_OFFLOAD 0x1000 /* offload hdr and data digests */ |
339 | #define CAP_PADDING_OFFLOAD 0x2000 /* offload padding insertion, removal, | ||
340 | and verification */ | ||
339 | 341 | ||
340 | /* | 342 | /* |
341 | * These flags describes reason of stop_conn() call | 343 | * These flags describes reason of stop_conn() call |
diff --git a/include/scsi/libiscsi_tcp.h b/include/scsi/libiscsi_tcp.h index e6bf8ef276bb..83e32f6d7859 100644 --- a/include/scsi/libiscsi_tcp.h +++ b/include/scsi/libiscsi_tcp.h | |||
@@ -99,7 +99,8 @@ extern int iscsi_tcp_task_xmit(struct iscsi_task *task); | |||
99 | 99 | ||
100 | /* segment helpers */ | 100 | /* segment helpers */ |
101 | extern int iscsi_tcp_recv_segment_is_hdr(struct iscsi_tcp_conn *tcp_conn); | 101 | extern int iscsi_tcp_recv_segment_is_hdr(struct iscsi_tcp_conn *tcp_conn); |
102 | extern int iscsi_tcp_segment_done(struct iscsi_segment *segment, int recv, | 102 | extern int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn, |
103 | struct iscsi_segment *segment, int recv, | ||
103 | unsigned copied); | 104 | unsigned copied); |
104 | extern void iscsi_tcp_segment_unmap(struct iscsi_segment *segment); | 105 | extern void iscsi_tcp_segment_unmap(struct iscsi_segment *segment); |
105 | 106 | ||