Make sure the iSCSI I/O limits are set properly so that the ISCSIDSEND IOCTL
can be used prior to the ISCSIDHANDOFF IOCTL which set the negotiated values. Else the login PDU will fail when passing the "-r" option to "iscsictl" which means iSCSI over RDMA instead of TCP/IP. Discussed with: np@ and trasz@ Sponsored by: Mellanox Technologies MFC after: 1 week
This commit is contained in:
parent
2a9baf2972
commit
1088f71c35
@ -1449,6 +1449,9 @@ icl_soft_limits(struct icl_drv_limits *idl)
|
|||||||
{
|
{
|
||||||
|
|
||||||
idl->idl_max_recv_data_segment_length = 128 * 1024;
|
idl->idl_max_recv_data_segment_length = 128 * 1024;
|
||||||
|
idl->idl_max_send_data_segment_length = 128 * 1024;
|
||||||
|
idl->idl_max_burst_length = 262144;
|
||||||
|
idl->idl_first_burst_length = 65536;
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
@ -1787,6 +1787,18 @@ iscsi_ioctl_session_add(struct iscsi_softc *sc, struct iscsi_session_add *isa)
|
|||||||
is = malloc(sizeof(*is), M_ISCSI, M_ZERO | M_WAITOK);
|
is = malloc(sizeof(*is), M_ISCSI, M_ZERO | M_WAITOK);
|
||||||
memcpy(&is->is_conf, &isa->isa_conf, sizeof(is->is_conf));
|
memcpy(&is->is_conf, &isa->isa_conf, sizeof(is->is_conf));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set some default values, from RFC 3720, section 12.
|
||||||
|
*
|
||||||
|
* These values are updated by the handoff IOCTL, but are
|
||||||
|
* needed prior to the handoff to support sending the ISER
|
||||||
|
* login PDU.
|
||||||
|
*/
|
||||||
|
is->is_max_recv_data_segment_length = 8192;
|
||||||
|
is->is_max_send_data_segment_length = 8192;
|
||||||
|
is->is_max_burst_length = 262144;
|
||||||
|
is->is_first_burst_length = 65536;
|
||||||
|
|
||||||
sx_xlock(&sc->sc_lock);
|
sx_xlock(&sc->sc_lock);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -486,7 +486,11 @@ iser_conn_task_done(struct icl_conn *ic, void *prv)
|
|||||||
static int
|
static int
|
||||||
iser_limits(struct icl_drv_limits *idl)
|
iser_limits(struct icl_drv_limits *idl)
|
||||||
{
|
{
|
||||||
|
|
||||||
idl->idl_max_recv_data_segment_length = 128 * 1024;
|
idl->idl_max_recv_data_segment_length = 128 * 1024;
|
||||||
|
idl->idl_max_send_data_segment_length = 128 * 1024;
|
||||||
|
idl->idl_max_burst_length = 262144;
|
||||||
|
idl->idl_first_burst_length = 65536;
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user