Subject: [Tsvwg] SCTP API Q: sctp_sendmsg and association id

From: Vlad Yasevich <[email-masked]>
Date: Thu, 14 Apr 2005 09:41:03 -0400

Hello all

I was curious why was sctp_sendmsg() defined such that a user can't use
sctp association id instead of the destination address and port?

The current definition of sctp_sendmsg() as defined is sctpsocket draft
does not take association id as an argument, while sctp_recvmsg() can
return it as part of sctp_sndrcvinfo() structure.

I found that when writing cross-platform applications, it is easier to
use the library functions instead of system calls as it makes
portability simpler.  However, I found that this useful feature was
missing.

Additionally, sometimes it is much easier to track and use association
ids what sending and receiving messages instead of the address/port
pairs.  Also, on some implementaions, using association ID improves
performance when using a lot (1000+) associations on a single endpoint.

-vlad

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

---

From: Randall Stewart <[email-masked]>
Date: Thu, 21 Apr 2005 16:04:52 -0400

> performance when using a lot (1000+) associations on a single endpoint.

Yep... thats because most impl hash the assoc id..

and it is also why sctp_send was defined.. it takes a
sndrcv_info ..

R

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

---

From: bhanu <[email-masked]>
Date: Thu, 28 Apr 2005 12:18:49 +0530

As per section 5.2.2, when INIT is received in ESTABLISHED state, INIT 
ACK should be sent with the new InitTag and Verification Tag set to the 
InitTag received in INIT. At that time, is it not required to send 
notification to upper layer about this? When the new association gets 
established and it notifies the upper layer after the SCTP Comm Up, does 
the upper layer has to update its association ID with the new one and 
initiate the close of the old association?
When there is no action taken by upper layer after getting SCTP Comm Up 
in SCTP already established state, later whenever it tries to send 
message, SCTP returns failure. Please any one of you guide us in this case.

thanks,
Bhanu

---

From: Randall Stewart <[email-masked]>
Date: Tue, 03 May 2005 05:52:12 -0400

> initiate the close of the old association?
Hmm.. this is an interesting point.. and its NOT a comm-up in this
case.. but instead a restart notification...  and this
may be a missing piece in the restart-notification. Since the
tag will change the assoc-id will too.. the APP right now would
have to keep track of IP addresses and ports in addition
to the assoc-id's.. and then when a "restart" comes up figure
this out..

It would not be that hard to add a old_asocid/new_asocid field
to the restart-notification... that way implementations that
DO NOT change the assoc-id can just set them to the same.. but
those that do will save the app a lot of trouble..

R

---

From: Kacheong Poon <[email-masked]>
Date: Tue, 03 May 2005 18:34:10 +0800

This thread should probably be discussed in the sctp-impl list
(cc'ed) instead.

> to the assoc-id's.. and then when a "restart" comes up figure

I think the preferred implementation is to use the same assoc-id
for the restarted association, as this may not be a fatal event
to the app.  Then the app just needs to know that somehow the
association is restarted.  If this is not OK with the app, it
can terminate the association.  If it is OK, it can continue
to use the assoc-id.   Requiring the app to use a new assoc-id
is unnecessary.  Maybe this behavior should be specified in the
SCTP API draft.

-- 

						K. Poon.
						[email-masked]