Subject: [Tsvwg] Re: tsvwg digest, Vol 1 #486 - 4 msgs

From: venkat venkatsubra <[email-masked]>
Date: Fri, 25 Jan 2002 11:46:20 -0600

Daisy,

>
> Message: 2
> To: Randall Stewart <[email-masked]>
> Cc: [email-masked], [email-masked]
> From: "Daisy Chang" <[email-masked]>
> Date: Thu, 24 Jan 2002 11:34:20 -0600
> Subject: [Tsvwg] Re: question regarding the SCTP API - SCTP_INIT cmsg
>
> Yes, Randy, I think that the same behavior exists in Linux for TCP and UDP.
> Well, for TCP, appending 0 bytes to the output queue really is harmless,
> nothing is affected, so it is perfectly OK. For UDP, it seems a little
> wierd if it
> does result into a NULL message on the wire. But for a datagram protocol,
> users are taking more control than they want to in their own hands, so I
> guess
> the protocol has no reason to reject it.

Sun has added a test to the Java Compliance Kit (suite of
testcases that all Java implementations must pass
to ship) that sends a datagram of 0 bytes length.
This works on Solaris, Linux, NT,  *BSD  and Aix.

> As for SCTP, I think that it makes a lot of sense to disallow NULL user
> messages.

Is it possible that some UDP applications ported to SCTP
might want this functionality ?

Venkat

_______________________________________________
tsvwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/tsvwg

---

From: Randall Stewart <[email-masked]>
Date: Fri, 25 Jan 2002 13:52:50 -0600

> might want this functionality ?
Venkat:

If they do then it is a problem.. since a datagram sent
on the wire with a 0 length of user data WILL get a
ABORT back if the peer implementation is compliant to
RFC2960.

R
-- 
Randall R. Stewart
[email-masked] 815-342-5222 (cell phone)

---

From: Jon Grimm <[email-masked]>
Date: Fri, 25 Jan 2002 14:31:53 -0600

> ABORT back if the peer implementation is compliant to

There are probably two cases for the 0 length UDP sender.   One that
cares if a packet is actually put on the wire and one that doesn't, but
has been lazy and not realized they are requesting a 0 length send (and
count on a successful return value in doing so).

The first case (if it truly exists) is going to have to find some other
solution anyway as SCTP must not do 0-length payloads.   The second
doesn't care, so one could return success in the SCTP implementation (or
in the java library if that's where one only cares).       

Best Regards,
Jon

---

From: venkat venkatsubra <[email-masked]>
Date: Tue, 29 Jan 2002 16:53:02 -0600

Daisy,

> messages. I was a bit confused by the wording in 3.3.1 Payload Data
> (RFC2960) where it says "A DATA chunk with no user data field will have
> Length set to 16." But Jon Grimm graciously cleared it up by pointing me to
> the similar place in your book where it says "It should have a value equal
> to or greater than 17, because a DATA chunk is required to have at least
> one byte of user data." I gathered that this is what you refered to when
> you
> said that the RFC disallows 0-length send, right?

The last few lines of section 6.2 from rfc2960:

   If an endpoint receives a DATA chunk with no user data (i.e., the
   Length field is set to 16) it MUST send an ABORT with error cause set
   to "No User Data".

   An endpoint SHOULD NOT send a DATA chunk with no user data part.

This must be what Randall must have referred to.

> Thanks for your quick responses. I would suggest that we shall follow
> your interpretation for the sendmsg and connect implementation.
>
> Thanks,
> Daisy
>
> Daisy Chang
> IBM Linux Technology Center
> [email-masked]
> Tel: (512)-838-4194    T/L: 678-4194
> FAX: (512)-838-4663

Venkat