Re: Login Fails when T=0, NSG=2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/12/2014 12:23 AM, Nicholas A. Bellinger wrote:
On Tue, 2014-02-11 at 19:10 +0530, Sumit Rai wrote:
Hi,

I am sending login PDU with CSG=Security Negotiation, T=0, NSG=2.
Note: We deliberately setting NSG to invalid value of 2.

Now, the Target is failing the login with 'Initiator Error
(miscellaneous error)'.

It's my understanding that since T bit is 0, NSG is reserved and invalid
NSG should not cause login to fail.

As per RFC "The next stage value is only valid  when the T bit is 1;
otherwise, it is reserved."

"10.12.3.  CSG and NSG

     Through these fields, Current Stage (CSG) and Next Stage (NSG), the
     Login negotiation requests and responses are associated with a
     specific stage in the session (SecurityNegotiation,
     LoginOperationalNegotiation, FullFeaturePhase) and may indicate the
     next stage to which they want to move (see Chapter 5).  The next
     stage value is only valid  when the T bit is 1; otherwise, it is
     reserved.

     The stage codes are:

        - 0 - SecurityNegotiation
        - 1 - LoginOperationalNegotiation
        - 3 - FullFeaturePhase

     All other codes are reserved."

Is this an expected behavior?


Yes.  My original interpretation was that valid values for stage codes
are ignored when the transmit bit is not set.  However, values such as
NSG=2 (eg: an illegal value) are always considered a protocol error,
regardless of transmit bit.

--nab



RFC states
"Any compliant sender MUST set all bits not defined and all reserved
   fields to zero unless specified otherwise.  Any compliant receiver
   MUST ignore any bit not defined and all reserved fields unless
   specified otherwise.  Receipt of reserved code values in defined
   fields MUST be reported as a protocol error."

It's my understanding that sending reserved code values (e.g. 2 in NSG Field since all codes other than 0,1, 3 are reserved) in defined field is considered an protocol error. But, according to RFC NSG is reserved field when T=0 so target must ignore it.

Is my understanding correct?

Thanks,
Sumit Rai

--
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




[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux