diff options
author | Navdeep Parhar <np@FreeBSD.org> | 2016-08-25 05:22:53 +0000 |
---|---|---|
committer | Navdeep Parhar <np@FreeBSD.org> | 2016-08-25 05:22:53 +0000 |
commit | 97b84d344d4a7bb9e34703948e31be5247318a71 (patch) | |
tree | 956a2021fa5a85180b18e0c435a8cdcba6356718 /sys/cam/ctl/ctl_frontend_iscsi.h | |
parent | 02d99265593c8c13ae08eaa7a962531bcd9889a0 (diff) | |
download | src-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.h | 7 |
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]; |