02-02-2009
Multi-homing in SCTP of OpenSolaris10
Hi,
I met a problem about multi-homing in SCTP of opensolaris10 system.
There is a server and a client communicating with SCTP socket (One-To-One style).
For the server, I bind two IP addresses (with different subclass) to the its socket .
For the client, two IP addresses are binded to client's socket, corresponding to server's addresses. Only one of them is used to be as the server address in connect() function since there is no API sctp_connectx() in solaris10.
I have no idea how can the multi-homing feature be used on solaris10?
I used SCTP_ASSOCINFO option to get a struct sctp_assocparams and its member sasoc_number_peer_destinations is 1.
The addresses returned from sctp_getladdrs() and sctp_getpaddrs() are the pairs used for connect().
I tried to trigger multi-homing feature by using SCTP_PRIMARY_ADDR option to change the primary address on client. But it seems that this option is not supported by solairs10. (both setsockopt() and sctp_opt_info())
For my comprehension, I think the two endpoints will negotiate the IP address set used for communication during initialization of association, even only one address is used for connection. After initialization, multi-addresses can be used.
I'm confused about this.
Could you please give me some comments?
Thanks a lot.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Good day!
I am trying to learn how to use the "sed" editor, to perform multiple edits on multiple files in multiple directories.
I have one script that tries to call up each file and process it according to the edits listed in a second script. I am using a small input text to test these, at... (12 Replies)
Discussion started by: kielitaide
12 Replies
2. UNIX for Dummies Questions & Answers
Dear Experts
Why we always hear that unix operating system is Multi User and Multi task. What does these two means. I have looked at some books and documents but couldn't find aclear explenation. Can we say Windows operating system is also multi user and multi task??
Thanks for your help in... (6 Replies)
Discussion started by: Reza Nazarian
6 Replies
3. Red Hat
hello
I am using fedora core 6 on my system....
and doing coding of socket connection with redhat 9
when I am doing netstat -v command it shows
error::: netstat: no support for `AF INET (sctp)' on this system.
As AF_INET is very useful to me in socket connection program....
how to... (0 Replies)
Discussion started by: arunchaudhary19
0 Replies
4. UNIX for Advanced & Expert Users
Hi,
I was porting ipv4 application to ipv6; i was done with TCP transports. Now i am facing problem with SCTp transport at runtime.
To test SCTP transport I am using following server and client socket programs. Server program runs fine, but client program fails giving Invalid Arguments for... (0 Replies)
Discussion started by: chandrutiptur
0 Replies
5. Solaris
Hi,
Anyone please explain whats dual-homed interface on solaris?
Thanks in advance.. (1 Reply)
Discussion started by: bpsunadm
1 Replies
6. Shell Programming and Scripting
I have a file with data records separated by multiple equals signs, as below.
==========
RECORD 1
==========
RECORD 2
DATA LINE
==========
RECORD 3
==========
RECORD 4
DATA LINE
==========
RECORD 5
DATA LINE
==========
I need to filter out all data from this file where the... (2 Replies)
Discussion started by: Finja
2 Replies
7. Shell Programming and Scripting
Hi,
I have a problem where I need to make this input:
nameRow1a,text1a,text2a,floatValue1a,FloatValue2a,...,floatValue140a
nameRow1b,text1b,text2b,floatValue1b,FloatValue2b,...,floatValue140b
look like this output:
nameRow1a,text1b,text2a,(floatValue1a - floatValue1b),(floatValue2a -... (4 Replies)
Discussion started by: nricardo
4 Replies
8. Programming
Hi i want a sctp (lksctp) api which can retrieve the values of the sctp structure "sctpAssocTable"
It is sctpassoctable or sctpassocentry.
SctpAssocEntry ::= SEQUENCE {
sctpAssocId Unsigned32,
sctpAssocRemHostName OCTET STRING,
sctpAssocLocalPort ... (1 Reply)
Discussion started by: harioum
1 Replies
9. Programming
I am trying to write a large X app. I have successfully modified my xorg.conf to setup 4 monitors on an NVIDIA Quatro5200. I am trying to modify a simple hello world application to open a window on three of the four monitors. depending on the changes to loop the window creation section and event... (2 Replies)
Discussion started by: advorak
2 Replies
10. Shell Programming and Scripting
Input File:
>Seq1
ASDADAFASFASFADGSDGFSDFSDFSDFSDFSDFSDFSDFSDFSDFSDFSD
>Seq2
SDASDAQEQWEQeqAdfaasd
>Seq3
ASDSALGHIUDFJANCAGPATHLACJHPAUTYNJKG
......
Desired Output File
>Seq1
ASDADAFASF
ASFADGSDGF
SDFSDFSDFS
DFSDFSDFSD
FSDFSDFSDF
SD
>Seq2 (4 Replies)
Discussion started by: patrick87
4 Replies
LEARN ABOUT OPENSOLARIS
sctp_getladdrs
sctp_getladdrs(3SOCKET) Sockets Library Functions sctp_getladdrs(3SOCKET)
NAME
sctp_getladdrs, sctp_freeladdrs - returns all locally bound addresses on an SCTP socket
SYNOPSIS
cc [ flag... ] file... -lsocket -lnsl -lsctp [ library... ]
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/sctp.h>
int sctp_getladdrs(int sock, sctp_assoc_t id, void **addrs);
void sctp_freeladdrs(void *addrs);
DESCRIPTION
The sctp_getladdrs() function queries addresses to which an SCTP socket is bound. The sctp_freeladdrs() function releases resources that
are allocated to hold the addresses.
The sctp_getladdrs() function returns all the locally bound addresses on the SCTP socket sock. On completion addrs points to a dynamically
allocated array of sockaddr_in structures for an Internet Protocol (IPv4) socket or an array of sockaddr_in6 structures for an Internet
Protocol Version 6 (IPv6) socket. The addrs parameter must not be NULL. For an IPv4 SCTP socket, the addresses returned in the sockaddr_in
structures are IPv4 addresses. For an IPv6 SCTP socket, the addresses in the sockaddr_in6 structures can be IPv6 addresses or IPv4-mapped
IPv6 addresses.
If sock is a one-to-many style SCTP socket, id specifies the association of interest. A value of 0 to id returns locally-bound addresses
regardless of a particular association. If sock is a one-to-one style SCTP socket, id is ignored.
The sctp_freeladdrs() function frees the resources allocated by sctp_getladdrs(). The addrs parameter is the array of addresses allocated
by sctp_getladdrs().
RETURN VALUES
Upon successful completion, the sctp_getladdrs() function returns the number of addresses in the addrs array. Otherwise, the function
returns -1 and sets errno to indicate the error.
ERRORS
The sctp_getladdrs() call fails under the following conditions.
EBADF The sock argument is an invalid file descriptor.
ENOTSOCK The sock argument is not a socket.
EINVAL The addrs argument is NULL.
EINVAL The id argument is an invalid socket.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
|MT-Level |Safe |
+-----------------------------+-----------------------------+
SEE ALSO
bind(3SOCKET), in.h(3HEAD), libsctp(3LIB), sctp_freepaddrs(3SOCKET), sctp_getpaddrs(3SOCKET), socket(3SOCKET), attributes(5), inet(7P),
inet6(7P), ip(7P), ip6(7P), sctp(7P)
SunOS 5.11 23 Jan 2008 sctp_getladdrs(3SOCKET)