Subject: [Tsvwg] Re: [Sigtran] [SCTP] Minimum DATA Length possible

From: Michael Tuexen <[email-masked]>
Date: Wed, 19 Jul 2006 12:43:21 +0200

Hi,

I'm sending the answer also to TSVWG, where the SCTP related things  
are discussed now...
draft-ietf-tsvwg-2960bis-02 should be changed to state

A DATA chunk with a user data field of length L will have Length set  
to (16 + L)
(indicating 16+L bytes).

I consider this editorial.

Best regards
Michael

On Jul 19, 2006, at 12:35 PM, ash kat wrote:

> Hi All
>
> What is the minimum possible length of user DATA which can be sent  
> by SCTP DATA chunk?
>
> ------------------------------
> 1. As per Section 3.3.1 of
> draft-ietf-tsvwg-2960bis-02
> ------------------------------
> "   Length: 16 bits (unsigned integer)
>       This field indicates the length of the DATA chunk in bytes from
>       the beginning of the type field to the end of the user data  
> field
>       excluding any padding.  A DATA chunk with no user data field  
> will
>       have Length set to 16 (indicating 16 bytes)."
>
> This indicate that user data of length zero can be sent by setting  
> "length" field in the DATA chunk to 16, which is the DATA chunk  
> header length. It means no user data in the DATA chunk.
>
> However as per
> ------------------------------
> Section 3.3.10.9 of
> draft-ietf-tsvwg-2960bis-02
> ------------------------------
>
> " 3.3.10.9.  No User Data (9)
>    Cause of error
>    ---------------
>    No User Data: This error cause is returned to the originator of a
>    DATA chunk if a received DATA chunk has no user data. "
>
> So my point is that -
> If the length field in the DATA chunk Header will be of 16 bytes  
> then there will be no user data in the DATA chunk and when there  
> will be no user data in the DATA chunk the SCTP will returm error.
> So why it is allowed by SCTP to send DATA chunk with no user data  
> when it is not accepted by the peer SCTP.
>
> Thanks & Regards,
> --Ashwani Kathuria
> FSS India
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
> _______________________________________________
> Sigtran mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/sigtran

---

From: ash kat <[email-masked]>
Date: Wed, 19 Jul 2006 04:17:51 -0700 (PDT)

Hi Michael
   
  Thanks for the response.

  Please clarify about the minimum value of L. 
  I think it should be 1. Which means that SCTP should not allow the zero byte data in the DATA chunk.
   
  Thanks & Regards,
  Ashwani Kathuria
  FSS India.
    
Michael Tuexen <[email-masked]> wrote:

  Hi,

Best regards
Michael

---

From: Michael Tuexen <[email-masked]>
Date: Wed, 19 Jul 2006 13:33:54 +0200

Correct, L >= 1.

Best regards
Michael

---

From: Randall Stewart <[email-masked]>
Date: Wed, 19 Jul 2006 10:45:53 -0400

Michael/All:

I have changed the length description to:

<t>
       This field indicates the length of the DATA chunk in bytes from
       the beginning of the type field to the end of the user data field
       excluding any padding.  A DATA chunk with no user data field will
       have Length set to 16 (indicating 16 bytes).
<vspace blankLines="1" />
       A DATA chunk with a user data field of length L will have the length
       field set  to (16 + L) (indicating 16+L bytes) where L MUST be > 0.
</t>

I think that makes it more clear :-D

R

Michael Tuexen wrote:
> Hi,
> 
> I'm sending the answer also to TSVWG, where the SCTP related things  are 
> discussed now...
> A DATA chunk with a user data field of length L will have Length set  to 
> (16 + L)
> (indicating 16+L bytes).
> 
>> What is the minimum possible length of user DATA which can be sent  by 
>> SCTP DATA chunk?
>>
>>       the beginning of the type field to the end of the user data  field
>>       excluding any padding.  A DATA chunk with no user data field  will
>> If the length field in the DATA chunk Header will be of 16 bytes  then 
>> there will be no user data in the DATA chunk and when there  will be 
>> no user data in the DATA chunk the SCTP will returm error.

-- 
Randall Stewart
803-345-0369 <or> 815-342-5222(cell)

---

From: Michael Tuexen <[email-masked]>
Date: Wed, 19 Jul 2006 17:29:14 +0200

Randy,

sounds good to me. Possibly replacing
where L MUST be > 0.
by
where L MUST be greater than 0.
is better to read...

Best regards
Michael

On Jul 19, 2006, at 4:45 PM, Randall Stewart wrote:

>> I'm sending the answer also to TSVWG, where the SCTP related  
>> things  are discussed now...
>> A DATA chunk with a user data field of length L will have Length  
>> set  to (16 + L)
>> (indicating 16+L bytes).
>>> What is the minimum possible length of user DATA which can be  
>>> sent  by SCTP DATA chunk?
>>>
>>> This indicate that user data of length zero can be sent by  
>>> setting  "length" field in the DATA chunk to 16, which is the  
>>> DATA chunk  header length. It means no user data in the DATA chunk.
>>>
>>> However as per
>>> So why it is allowed by SCTP to send DATA chunk with no user  
>>> data  when it is not accepted by the peer SCTP.
>>>
>>> Thanks & Regards,
>>> --Ashwani Kathuria
>>> FSS India

---

From: ash kat <[email-masked]>
Date: Wed, 19 Jul 2006 22:31:31 -0700 (PDT)

Hi Randall and Michael
   
  Thanks for considering the modifications.
   
  I still have one doubt, which is, that when SCTP can not accept [receive] the DATA chunk with "length" field set to 16 and if it get the DATA chunk with "length" field set to 16 then SCTP returns the Error ["no user data"] to the sender of DATA. 
  If the above is true then why we still have this line:
  "A DATA chunk with no user data field will
have Length set to 16 (indicating 16 bytes)."
   
  In my opinion we should make it more clear
  1. Either by 'Removing' the following line:
  "A DATA chunk with no user data field will
have Length set to 16 (indicating 16 bytes)."
   
  2. or by 'Adding' the one more line in between.
  "A DATA chunk with no user data field will have Length set to 16 
  (indicating 16 bytes). However, SCTP should not allow the DATA 
  chunk with no user data.
A DATA chunk with a user data field of length L will have the length
field set to (16 + L) (indicating 16+L bytes) where L MUST be > 0"
   
  or please clarify my doubt if my understanding is incorrect.
   
  Regards,
  Ashwani kathuria
  FSS India.

  Randy,

Best regards
Michael

On Jul 19, 2006, at 4:45 PM, Randall Stewart wrote:

> 803-345-0369 815-342-5222(cell)
>

---------------------------------
Want to be your own boss? Learn how on  Yahoo! Small Business.

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Wed, 19 Jul 2006 23:44:33 -0600

ash,

Which brings up another question: why prohibit zero length data?

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: ash kat <[email-masked]>
Date: Thu, 20 Jul 2006 03:31:51 -0700 (PDT)

Hi Michael
   
  I could not conclude any answer to my question.
   
  My question was:
  =============================================================
  When SCTP can not accept [receive] the DATA chunk with "length" field set to 16 and if SCTP gets the DATA chunk with "length" field set to 16 then it will return the Error ["no user data"] to the sender of DATA chunk. 
  If the above is true then why we still have this line:
  "A DATA chunk with no user data field will
have Length set to 16 (indicating 16 bytes)."

   
    or please clarify the doubt if my understanding is incorrect.

  =============================================================

  Brian,

early versions of MDTP and/or SCTP were able to handle zero sized 
user data. But
it was removed then because it was neither clear what the usage is 
and how to
handle it in the socket API. For example, if a read/recv/recvmsg 
calls returns with 0
is has a special meaning. Possibly there were other reasons.

Best regards
Michael

On Jul 20, 2006, at 9:01 AM, Brian F. G. Bidulock wrote:

> ash,
>
> ash kat wrote: (Wed, 19 Jul 2006 
> 23:39:59)
>>
>> Do you think that the error cause of "no user data" [Section 
>> 3.3.10.9
>> of draft-ietf-tsvwg-2960bis-02] is needless and can be removed?
>
> Yes, I think so. What would it break?
>
> --brian
>
> -- 
> Brian F. G. Bidulock
> [email-masked]
> http://www.openss7.org/
>

---

From: Michael Tuexen <[email-masked]>
Date: Thu, 20 Jul 2006 14:42:06 +0200

Hi,

I agree with you that the sentence
"A DATA chunk with no user data field will
have Length set to 16 (indicating 16 bytes)."
does not make sense anymore. The sentence I proposed
was intended to replace the above one and not to
be added....

Best regards
Michael

On Jul 20, 2006, at 12:31 PM, ash kat wrote:

> When SCTP can not accept [receive] the DATA chunk with "length"  
> field set to 16 and if SCTP gets the DATA chunk with "length" field  
> set to 16 then it will return the Error ["no user data"] to the  
> sender of DATA chunk.

---

From: Michael Tuexen <[email-masked]>
Date: Thu, 20 Jul 2006 09:25:29 +0200

Brian,

Best regards
Michael

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Thu, 20 Jul 2006 01:01:59 -0600

ash,

ash kat wrote:                                 (Wed, 19 Jul 2006 23:39:59)
> 
>    Do  you think that the error cause of "no user data" [Section 3.3.10.9

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Thu, 20 Jul 2006 01:01:59 -0600

ash,

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: ash kat <[email-masked]>
Date: Wed, 19 Jul 2006 23:39:59 -0700 (PDT)

Hello Brian,
   
  The reason to prohibit the zero length DATA is because the peer SCTP does not accept the DATA chunk without user data field. 
  So Why should SCTP be allowed to send something which is not acceptable by the peer SCTP?
   
  Else:
  Do you think that the error cause of "no user data" [Section 3.3.10.9 of draft-ietf-tsvwg-2960bis-02] is needless and can be removed?
   
  In my view the better solution will be that SCTP should not allowed to send the DATA chunk with no user data.
   
  If you have some alternate solution then please provide the same.
   
  Regards,
  Ashwani Kathuria
  FSS India
   
  "Brian F. G. Bidulock" <[email-masked]> wrote:
  ash,

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---------------------------------
Do you Yahoo!?
 Get on board. You're invited to try the new Yahoo! Mail Beta.

---

From: Randall Stewart <[email-masked]>
Date: Tue, 25 Jul 2006 16:48:28 -0400

> have Length set to 16 (indicating 16 bytes)."

Ahh.. I see your issue.. this is just a statement to show
how to fill in the data chunk lenght.. i.e. before you get
the data len of the user you must subtract the 16 bytes..

Maybe what it should say... is:

"A DATA chunk with one byte of user data will have
the length set to 17 (indicating 17 bytes)."

This says the same thing.. ie. gives an example that you
must add the 16 bytes in plus the user data size... which
is the point..

R

---

From: Randall Stewart <[email-masked]>
Date: Tue, 25 Jul 2006 16:50:39 -0400

> Which brings up another question: why prohibit zero length data?
Well... This is all vague in my memory.. we had at
one time a 0 length chunk.. which was used similarly to
RFC3758's FWD-TSN.. a way to resend without sending the
data....

The IESG.. said no.. something about a 0 length
data chunk having a specific sockets meaning... I disagreed.. but
like many things... you don't always get what you want :-)

And, in the end, I don't think its that big of deal... we have
3758 to skip data.. so sending a zero length data.. really does
not make any since anymore IMO ..

R

---

From: Randall Stewart <[email-masked]>
Date: Tue, 25 Jul 2006 16:54:48 -0400

Vlad Yasevich wrote:
> On Wed, 2006-07-19 at 22:31 -0700, ash kat wrote:
> 
>>Hi Randall and Michael
>> 
>>I still have one doubt, which is, that when SCTP can not accept
>>[receive] the DATA chunk with "length" field set to 16 and if it get
>>the DATA chunk with "length" field set to 16 then SCTP returns the
>>Error ["no user data"] to the sender of DATA. 
> This text is not there indicate what's permissible or not (there are no
> requirement words).  This is usually used as an example of how length is
> calculated.  However, with the new proposed text, this sentence becomes
> somewhat redundant and can probably be removed.
> 
> I don't have strong opinions one way or the other.
> 
> -vlad
> 
> 
> 
> 
> 
This is what it was put in for.. so lets change the example
to make it a legal sequence :-D

R