Hi Christophe, On Sun, 2015-04-19 at 22:18 +0200, Christophe Vu-Brugier wrote: > Some time ago, I documented the iSCSI target login parameters in > targetcli-fb and learned that the Fixed Interval Marker keys > (IFMarker, OFMarker, IFMarkInt, OFMarkInt) are obsolete according to > RFC 7143. > > From http://tools.ietf.org/html/rfc7143#section-13.25: > > 13.25. Obsoleted Keys > > This document obsoletes the following keys defined in [RFC3720]: > IFMarker, OFMarker, OFMarkInt, and IFMarkInt. However, iSCSI > implementations compliant to this document may still receive these > obsoleted keys -- i.e., in a responder role -- in a text negotiation. > > When an IFMarker or OFMarker key is received, a compliant iSCSI > implementation SHOULD respond with the constant "Reject" value. The > implementation MAY alternatively respond with a "No" value. > > However, the implementation MUST NOT respond with a "NotUnderstood" > value for either of these keys. > > When an IFMarkInt or OFMarkInt key is received, a compliant iSCSI > implementation MUST respond with the constant "Reject" value. The > implementation MUST NOT respond with a "NotUnderstood" value for > either of these keys. > > Out of curiosity, I tried to enable markers in LIO and found that > support for markers is currently broken. With kernel debugging > enabled, I see the following messages in `dmesg`: > > Reset "IFMarker" to "No". > Reset "OFMarker" to "No". > Reset "IFMarkInt" to "Irrelevant". > Reset "OFMarkInt" to "Irrelevant". > > This happens because in iscsi_enforce_integrity_rules(), the > "IFMarkInt_Reject" and "OFMarkInt_Reject" variables are always equal > to 1. > > http://lxr.free-electrons.com/source/drivers/target/iscsi/iscsi_target_parameters.c#L1479 > > I suspect that nobody enables markers with LIO. Because support for > markers is broken and deprecated, I think it is better to remove them > instead of fixing them. > > This patch disables markers by turning the corresponding parameters to > read-only. The default value of IFMarker and OFMarker remains "No" but > the user cannot change it to "Yes" anymore. The new value of IFMarkInt > and OFMarkInt is "Reject". > > I tested my changes with a patched version of libiscsi that allows to > set markers parameters on the initiator side: > > https://github.com/cvubrugier/libiscsi/tree/iscsi-markers > > Best regards, > > Christophe Vu-Brugier (1): > iscsi-target: remove support for obsolete markers > > drivers/target/iscsi/iscsi_target.c | 20 +-- > drivers/target/iscsi/iscsi_target_configfs.c | 8 +- > drivers/target/iscsi/iscsi_target_erl0.c | 53 ------ > drivers/target/iscsi/iscsi_target_erl0.h | 1 - > drivers/target/iscsi/iscsi_target_login.c | 58 +----- > drivers/target/iscsi/iscsi_target_login.h | 1 - > drivers/target/iscsi/iscsi_target_parameters.c | 240 +------------------------ > drivers/target/iscsi/iscsi_target_parameters.h | 11 +- > drivers/target/iscsi/iscsi_target_util.c | 48 ----- > drivers/target/iscsi/iscsi_target_util.h | 1 - > include/target/iscsi/iscsi_target_core.h | 10 -- > 11 files changed, 20 insertions(+), 431 deletions(-) > Applied to target-pending/for-next as v4.2 code. Note this was originally used as a mechanism for jumping ahead to the next incoming PDU when, for example, a HeaderDigest failed and a unknown amount of immediate data payload was left in the TCP stream. Nice work to drop this obsoleted logic. :) Thank you, --nab -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html