ctld: Always declare MaxRecvDataSegmentLength.
This key is Declarative and should always be sent even if the
initiator did not send it's own limit. This is similar to the fix in
fc79cf4fea
but for the target side. However, unlike that fix,
failure to send the key simply results in reduced performance.
PR: 259439
Reviewed by: mav, emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D32651
This commit is contained in:
parent
cdbc4a074b
commit
7ef7b252ad
@ -565,10 +565,6 @@ login_negotiate_key(struct pdu *request, const char *name,
|
||||
tmp = conn->conn_max_send_data_segment_limit;
|
||||
}
|
||||
conn->conn_max_send_data_segment_length = tmp;
|
||||
conn->conn_max_recv_data_segment_length =
|
||||
conn->conn_max_recv_data_segment_limit;
|
||||
keys_add_int(response_keys, name,
|
||||
conn->conn_max_recv_data_segment_length);
|
||||
} else if (strcmp(name, "MaxBurstLength") == 0) {
|
||||
tmp = strtoul(value, NULL, 10);
|
||||
if (tmp <= 0) {
|
||||
@ -796,6 +792,11 @@ login_negotiate(struct connection *conn, struct pdu *request)
|
||||
log_errx(1, "initiator sent FirstBurstLength > MaxBurstLength");
|
||||
}
|
||||
|
||||
conn->conn_max_recv_data_segment_length =
|
||||
conn->conn_max_recv_data_segment_limit;
|
||||
keys_add_int(response_keys, "MaxRecvDataSegmentLength",
|
||||
conn->conn_max_recv_data_segment_length);
|
||||
|
||||
log_debugx("operational parameter negotiation done; "
|
||||
"transitioning to Full Feature Phase");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user