iscsi-target: Avoid OFMarker + IFMarker negotiation
authorNicholas Bellinger <nab@linux-iscsi.org>
Wed, 23 Sep 2015 05:32:14 +0000 (22:32 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 25 Sep 2015 06:24:46 +0000 (23:24 -0700)
commit673681cafa99776e334c3e61cafa2cf115950c32
treed6a0f8fb99b66d652ae408aca48707b9b2608268
parent8fa3a867486f85df66eba8c4df85804d3309c6ad
iscsi-target: Avoid OFMarker + IFMarker negotiation

This patch fixes a v4.2+ regression introduced by commit c04a6091
that removed support for obsolete sync-and-steering markers usage
as originally defined in RFC-3720.

The regression would involve attempting to send OFMarker=No +
IFMarker=No keys during opertional negotiation login phase,
including when initiators did not actually propose these keys.

The result for MSFT iSCSI initiators would be random junk in
TCP stream after the last successful login request was been sent
signaling the move to full feature phase (FFP) operation.

To address this bug, go ahead and avoid negotiating these keys
by default unless the initiator explicitly proposes them, but
still respond to them with 'No' if they are proposed.

Reported-by: Dragan Milivojević <galileo@pkm-inc.com>
Bisected-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Tested-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/iscsi/iscsi_target_parameters.c