aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/ctl/ctl_frontend_iscsi.h
diff options
context:
space:
mode:
authorNavdeep Parhar <np@FreeBSD.org>2016-08-25 05:22:53 +0000
committerNavdeep Parhar <np@FreeBSD.org>2016-08-25 05:22:53 +0000
commit97b84d344d4a7bb9e34703948e31be5247318a71 (patch)
tree956a2021fa5a85180b18e0c435a8cdcba6356718 /sys/cam/ctl/ctl_frontend_iscsi.h
parent02d99265593c8c13ae08eaa7a962531bcd9889a0 (diff)
downloadsrc-97b84d344d4a7bb9e34703948e31be5247318a71.tar.gz
src-97b84d344d4a7bb9e34703948e31be5247318a71.zip
Make the iSCSI parameter negotiation more flexible.
Decouple the send and receive limits on the amount of data in a single iSCSI PDU. MaxRecvDataSegmentLength is declarative, not negotiated, and is direction-specific so there is no reason for both ends to limit themselves to the same min(initiator, target) value in both directions. Allow iSCSI drivers to report their send, receive, first burst, and max burst limits explicitly instead of using hardcoded values or trying to derive all of them from the receive limit (which was the only limit reported by the drivers prior to this change). Display the send and receive limits separately in the userspace iSCSI utilities. Reviewed by: jpaetzel@ (earlier version), trasz@ Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D7279
Notes
Notes: svn path=/head/; revision=304787
Diffstat (limited to 'sys/cam/ctl/ctl_frontend_iscsi.h')
-rw-r--r--sys/cam/ctl/ctl_frontend_iscsi.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/cam/ctl/ctl_frontend_iscsi.h b/sys/cam/ctl/ctl_frontend_iscsi.h
index d24f193cbbef..caef7d919fe7 100644
--- a/sys/cam/ctl/ctl_frontend_iscsi.h
+++ b/sys/cam/ctl/ctl_frontend_iscsi.h
@@ -84,9 +84,10 @@ struct cfiscsi_session {
struct cv cs_maintenance_cv;
bool cs_terminating;
bool cs_tasks_aborted;
- size_t cs_max_data_segment_length;
- size_t cs_max_burst_length;
- size_t cs_first_burst_length;
+ int cs_max_recv_data_segment_length;
+ int cs_max_send_data_segment_length;
+ int cs_max_burst_length;
+ int cs_first_burst_length;
bool cs_immediate_data;
char cs_initiator_name[CTL_ISCSI_NAME_LEN];
char cs_initiator_addr[CTL_ISCSI_ADDR_LEN];