top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

How does sctp identify which association will receive the data

+3 votes
326 views

Suppose I have a socket which contain several associations in it. that means there are several clients connect with server.

If I use sendmsg(...) function to send msg from server, How does sctp identify which association will receive the data? Does all clients will receive the msg?

And, Does sctp provide a way for server to send msg to all associations in one syscall ?

posted Aug 15, 2013 by Naveena Garg

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

2 Answers

+1 vote

The receiving association is specified in either the msg_name field of the message header or the association id field of the sndrcv_info cmsg header in the datagram. IIRC there is no was to send to all associations at once in a single syscall, unless you want to marshall up all the data and pass it down via the sendmmsg syscall, which I don't think lksctp-tools supports yet (though that would be a nice feature).

answer Aug 15, 2013 by Abhay Kulkarni
+1 vote

You can use the deprecated cmsg SCTP_SNDRCV and specify the association id.
See http://tools.ietf.org/html/rfc6458#section-5.3.2
I'm not sure if Linux supports the newer cmsg SCTP_SNDINFO yet.
See http://tools.ietf.org/html/rfc6458#section-5.3.4

answer Aug 15, 2013 by Jagan Mishra
Similar Questions
+1 vote

It is found that IP X haven't replied heartbeat Ack to IP A but our client will not try another path B->Y. Would you advise how B->Y path can be enable?

lksctp client IP info:
Primary IP: A
Secondary IP: B

Server primary IP: X
Server secondary IP: Y

0 votes

I want to understand in which cases SCTP abort occurs and how it is get resolved ?

...