MFC r271393:

Make it possible to disable NOP-In PDUs by the iSCSI initiator by setting
kern.cam.ctl.iscsi.ping_timeout to 0.  This fixes interoperability with
some initiators that don't properly support NOP-Ins, namely iPXE/gPXE.

Approved by:	re (kib)
This commit is contained in:
trasz 2014-09-15 11:35:14 +00:00
parent 928f86ffd6
commit 7b29f9e4e1

View File

@ -1006,6 +1006,19 @@ cfiscsi_callout(void *context)
}
#endif
if (ping_timeout <= 0) {
/*
* Pings are disabled. Don't send NOP-In in this case;
* user might have disabled pings to work around problems
* with certain initiators that can't properly handle
* NOP-In, such as iPXE. Reset the timeout, to avoid
* triggering reconnection, should the user decide to
* reenable them.
*/
cs->cs_timeout = 0;
return;
}
if (cs->cs_timeout >= ping_timeout) {
CFISCSI_SESSION_WARN(cs, "no ping reply (NOP-Out) after %d seconds; "
"dropping connection", ping_timeout);