diff options
author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2016-06-05 08:48:37 +0000 |
---|---|---|
committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2016-06-05 08:48:37 +0000 |
commit | 4e5408f10cd5ef40a7de392ce2853395fe2aa43f (patch) | |
tree | eaa71280fbcdfab859da7e6c85281444b8b38875 /usr.sbin | |
parent | 14b258b8066342dc82272f43ceb399ffc8ca7e35 (diff) | |
download | src-4e5408f10cd5ef40a7de392ce2853395fe2aa43f.tar.gz src-4e5408f10cd5ef40a7de392ce2853395fe2aa43f.zip |
Report negotiated MaxBurstLength and FirstBurstLength in "iscsictl -v"
and "ctladm islist -v" outputs.
MFC after: 1 month
Notes
Notes:
svn path=/head/; revision=301437
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/ctladm/ctladm.c | 10 | ||||
-rw-r--r-- | usr.sbin/ctld/ctld.h | 1 | ||||
-rw-r--r-- | usr.sbin/ctld/kernel.c | 1 | ||||
-rw-r--r-- | usr.sbin/ctld/login.c | 5 |
4 files changed, 13 insertions, 4 deletions
diff --git a/usr.sbin/ctladm/ctladm.c b/usr.sbin/ctladm/ctladm.c index 16ce2879ed84..3eee361cf317 100644 --- a/usr.sbin/ctladm/ctladm.c +++ b/usr.sbin/ctladm/ctladm.c @@ -2795,6 +2795,8 @@ struct cctl_islist_conn { char *header_digest; char *data_digest; char *max_data_segment_length;; + char *max_burst_length;; + char *first_burst_length;; char *offload;; int immediate_data; int iser; @@ -2909,6 +2911,12 @@ cctl_islist_end_element(void *user_data, const char *name) } else if (strcmp(name, "max_data_segment_length") == 0) { cur_conn->max_data_segment_length = str; str = NULL; + } else if (strcmp(name, "max_burst_length") == 0) { + cur_conn->max_burst_length = str; + str = NULL; + } else if (strcmp(name, "first_burst_length") == 0) { + cur_conn->first_burst_length = str; + str = NULL; } else if (strcmp(name, "offload") == 0) { cur_conn->offload = str; str = NULL; @@ -3031,6 +3039,8 @@ retry: printf("Header digest: %s\n", conn->header_digest); printf("Data digest: %s\n", conn->data_digest); printf("DataSegmentLen: %s\n", conn->max_data_segment_length); + printf("MaxBurstLen: %s\n", conn->max_burst_length); + printf("FirstBurstLen: %s\n", conn->first_burst_length); printf("ImmediateData: %s\n", conn->immediate_data ? "Yes" : "No"); printf("iSER (RDMA): %s\n", conn->iser ? "Yes" : "No"); printf("Offload driver: %s\n", conn->offload); diff --git a/usr.sbin/ctld/ctld.h b/usr.sbin/ctld/ctld.h index e9152329121f..705da33a6dc8 100644 --- a/usr.sbin/ctld/ctld.h +++ b/usr.sbin/ctld/ctld.h @@ -244,6 +244,7 @@ struct connection { size_t conn_data_segment_limit; size_t conn_max_data_segment_length; size_t conn_max_burst_length; + size_t conn_first_burst_length; int conn_immediate_data; int conn_header_digest; int conn_data_digest; diff --git a/usr.sbin/ctld/kernel.c b/usr.sbin/ctld/kernel.c index 8f1cefb99c11..40ef6829892a 100644 --- a/usr.sbin/ctld/kernel.c +++ b/usr.sbin/ctld/kernel.c @@ -900,6 +900,7 @@ kernel_handoff(struct connection *conn) req.data.handoff.max_recv_data_segment_length = conn->conn_max_data_segment_length; req.data.handoff.max_burst_length = conn->conn_max_burst_length; + req.data.handoff.first_burst_length = conn->conn_first_burst_length; req.data.handoff.immediate_data = conn->conn_immediate_data; if (ioctl(ctl_fd, CTL_ISCSI, &req) == -1) { diff --git a/usr.sbin/ctld/login.c b/usr.sbin/ctld/login.c index f767d8826740..c450b5c107ee 100644 --- a/usr.sbin/ctld/login.c +++ b/usr.sbin/ctld/login.c @@ -582,10 +582,7 @@ login_negotiate_key(struct pdu *request, const char *name, tmp, conn->conn_data_segment_limit); tmp = conn->conn_data_segment_limit; } - /* - * We don't pass the value to the kernel; it only enforces - * hardcoded limit anyway. - */ + conn->conn_first_burst_length = tmp; keys_add_int(response_keys, name, tmp); } else if (strcmp(name, "DefaultTime2Wait") == 0) { keys_add(response_keys, name, value); |