Subject: RE: iSCSI: Decimal encoding - why 64 bits ?

From: [email-masked]
Date: Tue, 2 Jul 2002 08:55:11 -0600

I wouldn't say no difficulty. Windows based machines do not allow 64 bit numbers as function parameters. My two vxWorks systems do not support 64 bit numbers. I haven't checked the gnu compiler for my linux Intel box.
 
Saying that it should be no problem doesn't just make it so...
 
I am sure that other people will hit the same wall and this will cause interoperability problems down the road.
 
Kevin
 
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Monday, July 01, 2002 10:31 PM
To: LEMAY,KEVIN (A-Roseville,ex1)
Cc: [email-masked]; 'Satran, Julian'; [email-masked]
Subject: Re: iSCSI: Decimal encoding - why 64 bits ?

There was a long debate and 64 bit was deemed a decent compromise. 
As for 32bit machines - you should have no difficulty in doing that on a 32bit machine (or even a 16 bit machine). 

Julo 

	"LEMAY,KEVIN (A-Roseville,ex1)" <[email-masked]> 
Sent by: [email-masked] 

07/02/2002 12:01 AM 
Please respond to "LEMAY,KEVIN (A-Roseville,ex1)" 

        To:        "'Satran, Julian'" <[email-masked]>, [email-masked] 
        cc:         
        Subject:        iSCSI: Decimal encoding - why 64 bits ? 

Julian,

Why does decimal encoding support 64 bit values instead of only 32 bits?

For implementations running on 32bit machines, supporting 64 bit decimal encoding will not be fun. Sure, it can be done in software, but is it really needed?

All of the operational parameters fit in 32 bits. The only possible use for 64 bits is in authentication or vendor specific keys. Hex and base64 encoding make more sense for these cases for the long authentication keys and hex and base64 encoders/decoders must be provided by a compliant implementation anyway.

Could we restrict the decimal encoding to 32 bits and make binary values use only hex and base 64?

Thanks,

Kevin

---

From: Bill Studenmund <[email-masked]>
Date: Tue, 2 Jul 2002 09:46:34 -0700 (PDT)

On Tue, 2 Jul 2002 [email-masked] wrote:

> I wouldn't say no difficulty. Windows based machines do not allow 64
> bit numbers as function parameters. My two vxWorks systems do not
> support 64 bit numbers. I haven't checked the gnu compiler for my
> linux Intel box.

Unless you have a very broken Linux install, gcc will handle 64 bit
numbers as type 'long long'.

> Saying that it should be no problem doesn't just make it so...

I think the reason that it shouldn't be a problem is that there are no
numbers we're going to be passing around at the moment (i.e. this version
of the draft) that need more than 32 bits. Thus you're fine with using 32
bit parameters (with the ability to detect overflows).

> interoperability problems down the road.

I'm not sure. But I think that if we get parameters which need 64 bits,
then we will probably be bumping the protocol version, and current devices
will indicate they don't support it.